南邮-软件安全--第一次实验报告-非爆破计算校验值

news2024/11/25 23:52:11

软件安全第一次实验报告,切勿直接搬运(改改再交)

实验要求

1、逆向分析目标程序运行过程,找到程序的关键校验点;

2、以非爆破的方式正确计算crackme的校验值;

内容

使用x32dbg对文件进行分析

打开文件后查找字符串,可以看到关键字符串“Serial is Correct!!!

记录该地址0040143D

设置地址0040143D为断点

向上查看代码,发现有很多个跳转指令,并且跳转的地址相同,则这些跳转应该是判断serial是否正确的指令

共有9个跳转

接下来依次分析这9个跳转

1.

cmp eax,8

判断字符串长度,字符串长度应为8

2.

cmp byte ptr ss:[esp+9],2D

寄存器ss:[esp+9]中的字符为2D表示的字符‘-’

3.

movsx ecx,byte ptr ss:[esp+4]
shl ecx,1
cmp ecx,64

将ss:[esp+4]中的值逻辑左移1位后,应该和64相等

计算得到对应32H

则ss:[esp+4]中的字符为‘2’

4.

mov al,byte ptr ss:[esp+B]
test al,al

ss:[esp+B]中的值进行与运算

得ss:[esp+B]中的字符为‘0’

5.

cmp byte ptr ss:[esp+8],2B

将ss:[esp+8]中的值与2B进行比较,不等于则跳转

则ss:[esp+8]中的字符为2BH对应的‘+’

6.

movsx edx,byte ptr ss:[esp+5]
add edx,A
cmp edx,44

将ss:[esp+5]中的值+A,并与44比较

计算得到3AH

则ss:[esp+5]中的字符为3AH对应的:

7.

movsx eax,byte ptr ss:[esp+7]
sub eax,2E
将ptr ss:[esp+7]中的值减去2E,不等于0则跳转

则ptr ss:[esp+7]中的字符为2EH对应的‘.’

8.

cmp byte ptr ss:[esp+A],4D

将ss:[esp+A]中的值与4D比较,不等则跳转

则ss:[esp+A]中的字符为4DH对应的‘M’

9.

movsx ecx,byte ptr ss:[esp+6]
add ecx,A
cmp ecx,33

将ss:[esp+6]中的值+A,并与33比较,不等则跳转

计算得到29H

则ss:[esp+6]中的字符为29H对应的‘)’

根据刚才对9个跳转的分析可以得到

ss:[esp+4]中的字符为‘2’

ss:[esp+5]中的字符为3AH对应的’:’

ss:[esp+6]中的字符为29H对应的‘)’

ss:[esp+7]中的字符为2E对应的‘.’

ss:[esp+8]中的字符为2B对应的‘+’

ss:[esp+9]中的字符为2D表示的字符‘-’

ss:[esp+A]中的字符为4D对应的‘M’

ss:[esp+B]中的字符为‘0’

综上可得serial为2:).+-M0

将2:).+-M0输入测试

得到

说明推断正确

crackme的校验值为2:).+-M0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2210656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

思迈特:在AI时代韧性增长的流量密码

作者 | 曾响铃 文 | 响铃说 “超级人工智能将在‘几千天内’降临。” 最近,OpenAI 公司 CEO 山姆奥特曼在社交媒体罕见发表长文,预言了这一点。之前,很多专家预测超级人工智能将在五年内到来,奥特曼的预期,可能让这…

构建可扩展的高校学科竞赛平台:SpringBoot案例分析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

高效管理学科竞赛:SpringBoot平台的创新应用

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理高校学科竞赛平台的相关信息成为必然。开发…

Zookeeper快速入门:部署服务、基本概念与操作

文章目录 一、部署服务1.下载与安装2.查看并修改配置文件3.启动 二、基本概念与操作1.节点类型特性总结使用场景示例查看节点查看节点数据 2.文件系统层次结构3.watcher 一、部署服务 1.下载与安装 下载: 一定要下载编译后的文件,后缀为bin.tar.gz w…

算法:525.连续数组

题目 链接:leetcode 思路分析(前缀和) 首先介绍一个小技巧 在处理二进制数组的时候,因为数组里面只有0和1,我们可以将所有的0变成-1 这个时候1和-1之间就可以产生很多抵消,有利于处理数组。 在该题中&am…

2.2.1 绘制Canvas路径 - 绘制线条

文章目录 1. 绘制线条2. 绘制具有不同结束线帽的线条3. 绘制向阳花图形 今天我们要一起探讨的是如何使用HTML5的Canvas元素来绘制各种图形。Canvas提供了一个强大的图形绘制API,使我们能够在网页上绘制出各种复杂的图形和动画。接下来,我将通过几个实战示…

从Naive RAG到Agentic RAG:基于Milvus构建Agentic RAG

检索增强生成(Retrieval-Augmented Generation, RAG)作为应用大模型落地的方案之一,通过让 LLM 获取上下文最新数据来解决 LLM 的局限性。典型的应用案例是基于公司特定的文档和知识库开发的聊天机器人,为公司内部人员快速检索内部…

如何在数仓中处理缓慢变化维度(SCD)

在数据仓库中,处理缓慢变化维度(SCD,Slowly Changing Dimension)是一个非常常见且重要的问题。为了保证数据的完整性和准确性,我们通常会采取不同的策略来处理维度表中的数据变化。SCD的核心解决方案是通过不同类型的历…

Run the FPGA VI 选项的作用

Run the FPGA VI 选项的作用是决定当主机 VI 运行时,FPGA VI 是否会自动运行。 具体作用: 勾选 “Run the FPGA VI”: 当主机 VI 执行时,如果 FPGA VI 没有正在运行,系统将自动启动并运行该 FPGA VI。 这可以确保 FPG…

使用Hugging Face中的BERT进行标题分类

使用Hugging Face中的BERT进行标题分类 前言相关介绍出处基本原理优点缺点 前提条件实验环境BERT进行标题分类准备数据集读取数据集划分数据集设置相关参数创建自己DataSet对象计算准确率定义预训练模型定义优化器训练模型保存模型测试模型 参考文献 前言 由于本人水平有限&…

视频文案提取

视频文案提取 通义听悟 🏆优点 自动提取音视频关键词、总结、提炼视频大纲、中英双字幕可以识别不同声音进行文案区分,还支持直接AI改写提取的文案旁边还有AI助手帮助你回答问题和对知识举一反三相关视频介绍👉原地封神!录音、…

拆解学习【反激-PD-氮化镓】(一)

小米67W桌面快充插座: 反激基本拓扑: 商用场景下,这个拓扑进行了如下优化: 1.Q22换成了氮化镓开关管,当然需要适配的能驱动氮化镓的控制芯片 2.D21二极管换成了MOS管。 3.由于是AC220V输入,设计了整流桥…

在Centos中安装、配置与使用atop监控工具

目录 前言1. atop工具的安装1.1 atop简介1.2 atop的安装步骤 2. 安装并配置netatop模块2.1 安装内核开发包2.2 安装所需依赖2.3 下载netatop2.4 解压并安装netatop2.5 启动netatop 3. atop的配置与使用3.1 配置监控周期与日志保留时间3.2 设置定时任务生成日志3.3 启动与查看at…

鸿蒙开发之ArkUI 界面篇 三十四 容器组件Tabs 自定义TabBar

如果需要修改Tabs的图标和文字之间的距离我们该怎么办呢?好在tabBar是联合类型,提供了自定义tabBar,这里就可以显示特殊图标或者是文字图片,如下图: 这里定义了myBuilder的函数,用了 来修饰,没有…

联合查询(详细篇)

实际开发中往往数据来自不同的表 所以需要多表联合查询 多表查询是对多张表的数据取笛卡尔积 笛卡尔积 什么是笛卡尔积呢? 简单来说 笛卡尔积是两个表的乘积 结果集中的每一行都是第一个表的每一行与第二个表的每一行的组合 简单理解: 假设有两个表…

复位电路的亚稳态

复位导致亚稳态的概念: 同步电路中,输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输(数据在这个时间段内必须保持不变:1不能变为0,0也不能变为1),防止亚稳态; …

FPGA实现PCIE采集电脑端视频缩放后转千兆UDP网络输出,基于XDMA+PHY芯片架构,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案我这里已有的以太网方案本博已有的FPGA图像缩放方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图电脑端视频PCIE视频采集QT上位机XDMA配置及使用XDMA中断模块FDMA图像缓存纯Verilog图像缩放模块详解…

前端接口报500如何解决 | 发生的原因以及处理步骤

接口500,通常指的是服务器内部错误(Internal Server Error),是HTTP协议中的一个标准状态码。当服务器遇到无法处理的错误时,会返回这个状态码。这种错误可能涉及到服务器配置、服务器上的应用程序、服务器资源、数据库…

【畅捷通-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

图说谭教授的“Δy=dy”是误人子弟的概念性错误。

黄小宁 可建立如图所示的局部坐标系。图中曲线Δydy余项不是关于dx的一次函数,而切线dyydx是关于dx的一次函数。草图形象直观地显示曲线Δy不切线dy。 所以谭教授书中的“Δydy余项dy”是误人子弟的概念性错误。数学家王元说:搞错概念脑子会变成一团浆糊…