逆向分析abex'crackme#1_Mi1k7ea的博客-程序员秘密

技术标签: 逆向  

abexcm1-voiees.exe程序是crackme的第一道最简单的逆向练习题。

运行程序查看:


弹框显示需要让程序觉得你的HD是一个CD-Rom。然后点击确定:


显示错误,说不是CD-ROM。再按确定即退出程序。

至此可以明确,需要逆向修改文件的逻辑以绕过检测CD-ROM的判断。


使用OllyDbg打开该可执行文件:


可以直观地看到EP代码十分简短,main()函数直接出现在EP中,因为其是由汇编语言直接编写的可执行文件。

分析代码可知,一开始弹出一个框的内容,再经过比较来选择弹出以下哪一段的内容。其中关键代码如红框所示,正是需要修改逻辑判断的关键代码部分。当比较eax和esi寄存器的值不相等时,便输出上面的图的结果。

接着直接修改je指令语句即可:


F9运行:


若想保存成可执行文件则选中该修改后的汇编命令,右键>Copy to executable>Selection,再右键选中的项>Save file即可。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/SKI_12/article/details/80380974

智能推荐

vs2008相关下载_weixin_34247155的博客-程序员秘密

ASP.NET 3.5 Extensions, Silverlight 2.0, IIS7ASP.NET 3.5 Extensions, Silverlight 2.0, IIS7 是 .NET Web Product Roadmap 的接下来发布的产品路线。前一段时间,微软发布了Visual Studio 2008 和.NET 3.5。ASP.NET 3.5 Extensio...

Maven学习总结(四)——Maven核心概念_weixin_34319640的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准>>> ...

php字符串加加运算,php 学习笔记_weixin_39838328的博客-程序员秘密

一、了解php1.什么是phpPHP 超文本预处理器;服务器端的脚本语言;是一种被广泛应用的开放源代码的多用途脚本语言;他可以嵌入到html中;尤其适用web开发。2.php在web中的应用服务器端的 、嵌入到html中、 脚本语言3.php能做什么收集表单数据、生成动态页面、字符串处理、处理服务器端文件系统、编写数据库支持页面、会话控制、服务器端的相关操作。4.为什么要用phpphp 运行与各种...

免费报表工具零代码零基础轻松搞定 web 报表_chaochao52001的博客-程序员秘密

话说,能制作清单式报表的方式有千千万:骨灰级的 Excel 控,如果能轻车熟路驾驭 VBA,也能玩出各种花来,再不济借助图表插件外援也能秒杀一众小白选手;传说中的编程控,只要需求明确没什么做不了的,什么酷炫图形 Echarts 几十行代码,分分钟秀出新花样;天外飞仙 R 语言控,玩的一手数据挖掘,可视化自不在话下;爬数据达人 Python 控,手握 matplotlib 包闯天下…...

expected specifier-qualifier-list before_windtakers的博客-程序员秘密

linux kernel 编译的时候报错:expected specifier-qualifier-list before 转载:http://hi.baidu.com/wwssttt/item/edaa423696b7c5c72e8ec2ae在oc中经常会遇到expected specifier-qualifier-list before sth之类得编译错误,造

随便推点

UVA1045 The Great Wall Game_weixin_30410999的博客-程序员秘密

题目链接:UVA1045 The Great Wall Game题目大意:在一个n*n的棋盘上有n个棋子,要求通过移动棋子使棋子的排布满足以下情况之一:呈横行排列;呈纵行排列;呈对角线排列(有两条)。题解:这一道题的最终状态很少,所以我们可以枚举最终的结束状态,然后再计算,至于怎么计算,可以用最大流最小割,也可以用二分图完美匹配,我用的是后者。代码:#include <cs...

51Nod 1917 吃葡萄 c/c++题解_东瓜lqd的博客-程序员秘密

题目描述在房间中G颗葡萄,现在有n个人。这n个人依次进入房间吃葡萄。每个人进去的时候都做如下操作,把葡萄分成n等份,发现还多出一颗,然后吃掉这一颗以及n等份中的一份,然后走出房间。这n个人吃完之后,最后房间里面的葡萄刚好可以分成n等分。问n最大是多少?输入多组测试数据。第一行输入一个整数T(1<=T<=200),表示测试数据的数目。接下来T行,每一行一个整数G(1<=...

如何使用pyodbc_pyodbc.drivers()_鲍博博的博客-程序员秘密

安装pyodbc在cmd下运行pip install pyodbc即可连接pyodbc首先查看自己的drivers,运行如下代码。import pyodbcprint(pyodbc.drivers())运行结果如下,将红框中的内容记录下来,作为之后connect中DRIVER的值。2. 如果你使用windows身份认证,请按照如下代码连接数据库。import pyodbcpyodbc.connect(DRIVER='{ODBC Driver 17 for SQL Server}'

基于matlab了光纤模式图,基于matlab光纤的模式图模拟_weixin_34921609的博客-程序员秘密

基于matlab的光纤模式图模拟摘要:光纤通信是现代化通信的支柱,在光纤通信中,光纤是最重要的部件之一。本文利用电磁波动理论推导了光在光纤中的传输模式的本征方程,并使用Matlab 软件绘出不同条件下的模式图.关键词:光纤模式;电磁波动;Matlab一、引言对光纤中光的传播理论的研究,可以有多种方法,比如射线法,标量近似分析法等,但为了更广泛地描述光纤波导中光的传播,更详细地研究光纤的传输特性,就...

数值计算之 拉格朗日乘子法初探_RuiH.AI的博客-程序员秘密

数值计算之 拉格朗日乘子法初探前言等式约束优化等式约束的几何解释不等式约束优化多约束优化KKT条件前言LM算法的置信域方法中,通过在优化函数后添加一个优化量约束来提升迭代过程中的稳定性。拉格朗日乘子法(Lagrange Multiplier Method)是非线性优化中的常用方法,置信域约束实际上就是拉格朗日乘子法的应用。本篇将学习记录拉格朗日乘子法的原理和使用。注意:之所以是初探,是因为我还没有总结过凸优化的基础内容,现在不会深入研究拉格朗日乘子法需要满足的限定条件。等式约束优化对于优化函数

校园室内人员定位系统与及远距离考勤系统-新导智能_传统的人工看守_A-Emma.J ?的博客-程序员秘密

学校的安全和纪律办理是每个师生、家长、和整个社会十分关注的一个论题,尤其是中小学、幼儿园的学生因为学生年龄小,生活独立自主能力差,家长和教师为了孩子的人身安全以及心理健康忧虑不已。学校的教育和根底设施水平是整个社会的重要组成部分,关系着千千万万的学生健康茁壮成长,关系着千千万万家庭的美好与安定,更关系着民族和国际的未来。加强学校的安全办理是重中之重。现在的学校的门禁体系还普遍的存在种种问题,传统的人工看守,或许使用以触摸式或非触摸式IC卡为标识的体系办理。而还存在着很多问题,存在着不少危险和不科学的办理状况

推荐文章

热门文章

相关标签