目录
九.按钮事件与补丁
按钮事件就是,点击按钮可以找到相应功能
用E-Debug打开程序(用E-Debug来分析“点击按钮”的事件)
E-debug是一款辅助调试易语言程序的OD插件,暂时只支持静态编译程序
易语言是一门以中文作为程序代码编程语言
点击“隐藏桌面”这个按钮的事件,找到它的段首
把程序拖到OD,ctrl+G,把地址401337粘贴进去,找到后,下一个断点(双击)
F8,往下走,找到大跳转(跳过按钮窗口),这个跳转是实现了的
在寄存器,将标志位改成0,就不会实现跳转了
如何让跳转不实现,就在断点用NOP填充(右键——>二进制——>NOP填充),它就不会跳转了
补丁部分
点击NOP这部分填充,右键——>二进制——>二进制复制
用XH补丁制作工具
把程序拖进XH,写入内存地址(断点内容)和修改指令(NOP填充的二进制) ,添加——>生成补丁
打开程序,功能点不能用,然后打开刚刚生成的补丁,破解一下,功能点就可以用了
十.注册机的制作
在一个程序需要注册码进行注册,我们没有注册码,就可以使用对应注册机获得对应注册码。
把程序拖到OD,智能搜索,找到“已注册”,点击查看,找到关键call下断点
运行程序,点击注册按钮
将寄存器放真注册码的寄存器和关键call的地址记录下来
打开注册器编写器——>其他——>内存注册机
浏览(选择程序)——>添加
中断地址(关键call),第一字节(E8),指令长度(5).........
十一.单机软件忘记密码怎么办?
程序拖入OD,右键——>中文搜索引擎——>智能搜索
ctrl+f 查找“密码错误”,点击查看,有个大跳转
往上翻,找到跳转的起始点,下断点,再运行程序(随便输入账号密码,登录), 跳转实现
改变标志位,使跳转不实现,再运行程序,就登录进来了
修改密码,随便输入,点击修改
在OD中,智能搜索“原有密码不忠不正确”,点击查看,有个跳转,下断点
再运行程序,随便输密码,点击修改,发现跳转是未实现的,更改标志位,使跳转实现
运行程序,密码修改成功
十二.push大法与软件push大法
push大法
使用push方法,将第一个界面跳过,直接显示第二个界面
把程序拖进OD,右键——查找——二进制字串,输入FF
00401387这个push就是登录界面(第一个界面),下个断点,ctrl+f查找push 10001
这里就是窗体的代码,0040131D和00401322这两个是动的,00401318是不动的,给00401322下断点(如果找不到图中这样的,右键——>查找——>下一个)
将00401322的push内容记下来
回到00401387这个断点处,将push内容换成00401322的push
这是为了打开程序就出现第二个窗口,跳过了登录窗口
把这部分保存下来,右键——>复制到可执行文件——>所有修改(全部复制)
再右键——>保存文件(打开这个文件,就直接进入了第二个界面)
软件push大法
打开程序,找到程序的PID,填入EWND
点击获取,填入代码,点击测试载入,成功打开第二个界面
十三.OD基础界面上的按钮介绍
十四.快捷键介绍
#OD快捷方式-------------------------
F2:断点
F4: 运行到光标处
F7: 单步步入
F8: 单步步过
F9: 运行
Ctrl+A :分析代码(函数,参数...)
Ctrl+G : 跳转到
Ctrl+X : 复制地址
Ctrl+E :修改内存
Ctrl+B :二进制搜索
Ctrl+F :指令搜索(单条指令)
Ctrl+S :指令搜索(多条指令)
Ctrl+F9 :运行到返回(ret指令位置)
Ctrl+F12: 重启调试
Ctrl+Shift+x :复制二进制数据
回车键:将选中的命令添加到命令历史中,如果当前命令是一个跳转、函数或者转换表的一个部分,则进入目的
地址。
Alt+退格键:撤销所选部分的修改,以备份数据的相应内容替换所选部分,仅当备份数据存在所选部分不同时可
用。
十五.图标的修改
用软件PE Explorer
UltraEdit
十六.vmp的使用与破解
VMP是一款很强大的加密壳,代码虚拟化技术可以很好的保护程序不被恶意修改
(要把重要代码VMP掉才有用)
记录下开始点的地址
打开VMP,需保护函数——>右键——>添加函数
填入刚刚记录下来的地址
破解
文本比较特征码
右键——>命令,输入特征码
查找到后,下断点
在它的头下断点
运行程序,找到密码