基础知识:(Nop:删除跳转)
gcc编译链接命令: gcc -o 生成文件名 源文件名 gcc编译成汇编代码:gcc -o 生成文件名 -S 源文件名
VS查看汇编代码:(调试模式下,Ctrl+F11)
静态一般用:C32Asm 或者 W32DASM(现在IDA Pro用的也挺多,不过要安装Python)
动态一般用:OD
举个登录密码破解的栗子:
先找关键字,不要太多,比如这个,密码错误
OD载入程序后右击,中文搜索引擎,智能搜索
输入关键字,确定后找到那一行,双击就会进入汇编代码处
发现上面有一个跳转,然后就提示用户名密码错误了(红色跳转线代表跳转实现,灰色的代表跳转没实现)
这个类似于,if else,if条件不满足,然后执行了else的内容,也就是提示密码错误
我们把这个Nop掉,那么if的判断也就不执行了
右击,复制到可执行文件,选择(当前选定的修改内容)
右击保存文件,然后重命名一下就好了
再打开不用输入密码也可以进去了