超级简单反汇编破解一个小程序

为了能更深刻的了解计算机,并且为能更轻松的学习操作系统,我开始了学习汇编语言,当然在学习之中也听闻了反汇编,对语言的执行流程也有了一些认识,首先高级语言编写的程序通过编译器进行编译,汇编,链接,会生成一个可执行文件,c/c++中被称为.exe文件。我们可以通过对.exe进行反汇编得到它的汇编指令,从而对程序进行分析,最终破解。

接下来,我们来看一看如何对下面这个超级简单的程序进行破解的吧!
超级简单反汇编破解一个小程序_第1张图片
这个小程序是输入密码,然后输入正确的数,就会输出correct!反则就会输出wrong!
目前我们只有exe文件,没有代码,无法得知正确的密码所以我们对该程序进行反汇编
超级简单反汇编破解一个小程序_第2张图片
超级简单反汇编破解一个小程序_第3张图片
我发现在箭头指的地方有一处比较指令cmp,而且比较的数是一个16进制数,而且上面还有cin,可以猜测这个16进制数可能就是密码,然后我们对这个16进制数进行转换为10进制数
超级简单反汇编破解一个小程序_第4张图片
发现转化成的十进制数是12345789,我们对程序试一试这个密码
超级简单反汇编破解一个小程序_第5张图片
发现这个密码是对的,那么这个小程序就被成功破解了!

你可能感兴趣的:(汇编语言)