小甲鱼 OD 教程: https://www.bilibili.com/video/av6889190?p=24
KeygenMe 下载地址:https://pan.baidu.com/s/1gXAscM3WCNpIqxIm5t1rrQ 提取码:z5in
前言
用 OD 打开程序
输入框 常用 API,当不知道是哪个时,可以一个一个尝试下个断点。
这里使用 bp GetDiglogItemTextA 下断点,输入完之后按 enter ,没有什么反应,但是断点已经下下了,可以通过 Alt + B 查看断点:
重新载入程序,运行程序,随便输入注册信息,发现程序在断点处断下,但是 第一个断点处是在动态链接库里面断下的,这个不是要找的断点,需要让程序在 程序领空断下,可以 按下 Alt + F9 ,这个快捷键就是执行到程序领空
分析
算法分析,内联补丁( 内联补丁只能写入到代码段,因为一个程序的执行就是执行的代码段,但是如果需要用到数据,数据必须保存在数据段。即只能在数据段写入数据,因为一个程序只有数据段是可写入的,代码段在内存中是不可写入的 )
下代码段空闲区域写入内联补丁:
写这个内联补丁的意思就是让程序通过内部的算法算出正确的 注册码,然后把算出的注册码写入到数据段暂时保存起来,然后在通过程序的 MessageBox 显示出来。
MessageBox 显示数据段的内容:
保存所有修改,然后运行修改后的程序进行测试:
下断点,查看 数据段 数据:
算法分析和逆向 之 使用 C 语言实现
算法逆向直接看视频 小甲鱼 OD 教程视频:https://www.bilibili.com/video/av6889190?p=24