【逆向】使用ultimap定位加密程序call基址实现破解
使用ultimap迅速定位加密程序call基址
Ultimap是cheatengine官网出的搜索汇编调用计次工具,使用这个工具可以迅速定位到程序指定内存地址。
常用的寻基址方法就是字节搜索,变量加减搜索,指针扫描大法...但是如果遇到加密程序按这些方法可能就无法找到了,
所以还有个方法就是用ultimap寻找,直接冲汇编调用次数来寻找。
加密?不存在的。
在下根本不需要破你算法,从过程就找到你。
记录一下使用过程:
准备工具:
1.CE 7.4(不确定哪个版本开始带有ultimap,测试时是用的7.4)
2. x64dbg
3. 自写加密程序demo.exe
4. 大脑
Demo
下面的demo加密程序是 需要输入账号和密码,正确账号密码都为(admin)
输错误弹出登录失败
输入正确进入功能窗口
demo已经过字符串加密,拖进x64dbg无法查看到相关信息,(正常情况下可以找到“登陆失败”字符,然后跳到cpu汇编窗口nop就能强制登录成功。)
加密程序的话找不到相关字符 就无法下手断点位置
(程序可以断点API函数 MessageBox来寻找相关位置,但是我们这次主要目的不是这个,而是使用ultimap,而且不是每次都有API函数给你找的)
打开这次工具主角 CE
帮助 --- 关于 --- 加载DBVM
问题来了,什么是特么的DBVM???
官方介绍:
一堆英文完全不懂,去百度翻译了下,发现一堆鸟语,相关词语根本不准确,所以翻译了等于没翻。
最后在官方论坛找资料,知道 这玩意 ,能开就开,不能开就使用ultimap2
ultimap:在cpu支持intel-vt指令集可以打开
ultimap2 :如果是amd,请使用ultimap2 (因为我的机器是amd 所以用的是2)
ultimap的开启:
先开启dbvm虚拟
点击这个位置,(因为是amd ,不是intel,所以显示这个 开启不了,如果你是intel,别管,直接点击这个位置,会显示开启成功)
amd的话不需要操作这一步
查看内存 --- 工具 -- 打开ultimap
intel选ultimap
amd 选 ultimap2
两个界面稍微有不一样,但是效果是一样的
官方开启教程:数据库克隆 - 作弊引擎 (cheatengine.org)
点击后进入这个窗口:
接下来开始正式操作:
点击 ultimap 的开始记录
1. 打开demo.exe --- 点击 【登录】 按钮 一次 --- ultimap中 点击右上角的 代码已执行按钮
因为我们触发了一次,肯定会走一次程序相关位置的汇编
2. 点击 - -- 代码没有被执行
3. 重复一次 1
4. 重复 2
5.重复 1
6.点击 下面的 显示当前有效的指令
前面的操作中,我们触发了三次按钮事件,所以只需要找到计数3的位置就可以了
如图:
可以看到还有27934条汇编经过,但是我们不需要那么多,我们需要找call,要把非call的代码都过滤
点击ultimap的过滤除call以外的一切
过滤结束后,代码少了许多,只剩下1842个
但是还是有点多,还有非3次的汇编代码被记录了
写入 3 ,点击左边按钮过滤,再次点击 显示当前有效的指令
这时候只剩下1126个call ,大概率就在这里,随便找一个地址,进x64dbg分析
随便找个位置下断,然后逐步分析
可以看到寄存器 参数1:ebp-4位置是账号
参数2:ebp-8是密码
0x401047位置是信息框出现的call,但是这里是跳转进入call,并不是真正的call位置,需要步入查看代码
这里F7步入查看
里面的代码如下:
看到跳转直接nop一下就知道是哪个了,这里找到了je跳转 分别跳入成功or失败指令
我们需要的是无论输入什么都能登录成功
所以直接把je nop掉即可。
修改后效果如下,乱输入账号密码也能进入窗口
总结:
Ultimap这玩意可以快速定位找到call位置,是个神器,但是吃内存
开启该功能相当于开启个小型的虚拟机,会将程序所以代码挂入虚拟机,
当程序代码执行后,会记录汇编代码是否经过位置,记录次数 ,每条代码都记录和计次,属实有点吃内存
虽然吃内存但是就是牛逼该用还是得用,
可以无视内存加密,寻基址无思路的时候可以强行操作一手。
本文作者:Hello霖
本文链接:https://www.cnblogs.com/Hello233/p/16688362.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步