第一课
NOP法破解(注:第一期都是无壳破解)
利用所有的关键字进行搜索查找
这里利用的是字符串搜索,跟着查找到关键的jmp指令,然后修改(一般称爆破)
打开软件,输入密码,注意关键字符串
用od打开,查找字符串(推荐使用智能搜索)
用智能搜索查找“密码错误”字符串(建议:不要输入全部内容)
在注意到密码错误上左边有个“>”,说明其他地方跳转过来,我们在00539AF3下断点(F2)
随便输入密码,跟着回到od就暂停了,看到test al,al, 作用相当于and al,al,但test不改变al的值,只改变标志位,可以看到al为1,and后结果也是1,所以ZF位还是0,jnz就是当ZF位为0的跳转,(ZF为0说明上一次的运算结果不为0,如上一次的运算结果为0,那ZF就是1了),所看看到下面的信息是跳转已实现,跳到密码错误那里了,我们的目的是不要跳,那我们可以把jnz那条指令nop掉,就不会跳了,还可以把jnz改成jz,这样错误的密码就不会跳,正确的反而会跳,比nop差一点而已。(跳转线若为红色,则跳转成立,若为灰色,则不成立)
改了之后。保存文件,放到目录,则无需输入密码即可运行。
初入逆向,请多指教