输入任意数值,单击登陆
记录关键字
经过查壳后发现无壳
将login.exe载入OllyDBG程序,单击运行按钮(或快捷键F9)
单击反汇编窗口,按Ctrl+G快捷键,在弹出的对话框中输入“00401000”,单击“确定”按钮。然后右键菜单选择“中文搜索引擎”->”智能搜索”。
在弹出字符串界面,按快捷键CTRL+F,打开搜索对话框,在对话框中搜索关键字“False”,然后单击“确定”按钮,程序自动停止在False处。
双击“False”处,程序自动跳转到反汇编窗口False对应的那一行。向上查找关键跳转(je、jmp、jnz、je等),注意方向指向右侧的三角表示有跳转进入,方向指向下的三角表示向下跳转,我们要在上面代码出找到能跳转到False的向下的跳转。
在关键跳转出下断点(即按F2)。
单击工具栏中的“运行”按钮,软件登录界面输入帐号和密码(输入值为任意,因为要观察软件在输入错误的帐号和密码的情况下,这个关键CALL是否会实现),发现跳转实现(红色代表实现跳转)。
可见这个跳转实现后,就出现了“False”提示,所以为关键跳转.。单击关键跳,右键菜单选择“二进制”->”用NOP填充”。
NOP填充后,选择刚才的填充代码,右键菜单选择“复制到可执行文件”->”选择” 。
在弹出的对话框中,右键菜单选择“保存到文件”。
弹出保存对话框,起名保存即可。
Q1.关于为什么锁定00401000,据说是因为OD载入程序的地址是这个。