编程语言应用

首页 » 常识 » 诊断 » 带壳破解某外挂
TUhjnbcbe - 2022/3/4 13:31:00
简介

记录一次简单的易语言外挂破解。(轻嘲嘤)

过程

首先,使用查壳工具查看是什么壳。

刚开始也不知道是啥壳,后来在代码中发现是vmp,直接od跑起来。所幸没有反调试,可以直接运行。

运行之后直接点登入~

叮,触发弹窗事件~

暂停程序,查看调用堆栈,找到弹窗代码地址,在堆栈窗口中找到调用地址

定位到改地址后,根据周边代码判断这是一个switch语句。那么这里应该就是在判断输入是否正常,如果不填写就返回为空,长度不对提示长度不对之类的。

在该处下一个断点,然后点击运行程序。重新点击登入,暂停下来后进行单步调试。

经过两次retn后,终于发现了可疑的代码,在暂停代码周围找到了易语言的窗口的特征码。

找到跳转的分支直接nop掉,继续运行,已经可以进入软件主界面了。不过同时报了一个找不到指定窗口的错误。

可以直接搜索字符串,跳过这个报错。不过经过分析,这个报错完全是因为程序有个心跳检测的功能,如果发现没有登入,进入主界面,他就会退出。如果直接搜索字符串跳过报错。他就会直接弹窗,账户没登入,然后软件正常退出。所以这边为了一步到位,直接找到心跳检测的地址。直接在那边改就妥了。

关键跳转地址

下断点

程序运行后几秒钟暂停,修改跳转标志位,让它跳转,点击运行。程序正常运行,几秒之后再次暂停。说明修改正确,心跳检测的关键跳转就是这个位置。使用内存补丁工具生成一个内存补丁测试,使用内存补丁提示脚本驱动错误。

不过经过测试这个错误直接跳过就好了。直接生成补丁。

完美运行

小杰尼

哦豁

1
查看完整版本: 带壳破解某外挂