记录一次简单的易语言外挂破解。(轻嘲嘤)
过程首先,使用查壳工具查看是什么壳。
刚开始也不知道是啥壳,后来在代码中发现是vmp,直接od跑起来。所幸没有反调试,可以直接运行。
运行之后直接点登入~
叮,触发弹窗事件~
暂停程序,查看调用堆栈,找到弹窗代码地址,在堆栈窗口中找到调用地址
定位到改地址后,根据周边代码判断这是一个switch语句。那么这里应该就是在判断输入是否正常,如果不填写就返回为空,长度不对提示长度不对之类的。
在该处下一个断点,然后点击运行程序。重新点击登入,暂停下来后进行单步调试。
经过两次retn后,终于发现了可疑的代码,在暂停代码周围找到了易语言的窗口的特征码。
找到跳转的分支直接nop掉,继续运行,已经可以进入软件主界面了。不过同时报了一个找不到指定窗口的错误。
可以直接搜索字符串,跳过这个报错。不过经过分析,这个报错完全是因为程序有个心跳检测的功能,如果发现没有登入,进入主界面,他就会退出。如果直接搜索字符串跳过报错。他就会直接弹窗,账户没登入,然后软件正常退出。所以这边为了一步到位,直接找到心跳检测的地址。直接在那边改就妥了。
关键跳转地址
下断点
程序运行后几秒钟暂停,修改跳转标志位,让它跳转,点击运行。程序正常运行,几秒之后再次暂停。说明修改正确,心跳检测的关键跳转就是这个位置。使用内存补丁工具生成一个内存补丁测试,使用内存补丁提示脚本驱动错误。
不过经过测试这个错误直接跳过就好了。直接生成补丁。
完美运行
小杰尼哦豁