anecho 发表于 2023-4-13 18:33

新手某联盟辅助的一次逆向

新手第一次发帖,本次主要是分享逆向一款市面上的某联盟辅助方法。


首先呢是基本操作,先查壳,没壳!别激动,没壳裸奔的大部分是高手。先尝试运行软件,弹出提示框,那就可以用MessageBoxA下段。


ok成功断下,断下后就可以按F2将断点删除了,为什么后面会说到。可以看到od标题显示当前位置处在模块-user32,说明处在系统领空,这时候的任何操作都无效。


F8往下走,弹出错误提示点确定继续往下走。


过了retn后返回上一层,可以理解为这一层的程序是上一层的call的内部,retn后就返回到上一层的call。由此可见,刚才的程序是从这个call内部,但此时标题显示处在模块-krnln,还是在系统内无法改动。


继续F8往下走,一直走,直到标题提示模块为程序的名字时,说明来到了程序领空,这里就可以进行修改。很明显,上面那个call就是我们所谓的关键call,我们给他打上注释(快捷键是英文输入下的冒号),问为什么是关键call,很明显这个call的下一行也就是我们进来这个位置直接给出了错误提示,那不就说明这个提示是上面的这个call程序运行后给出的结果吗,是不是说明我们只要跳过这个call就能够不弹窗了呢?


我们往上找有没有能跳过这个call的判断,往上看到一个jmp可以跳过,意思就是无条件跳转,既然可以无条件跳转那不是直接跳过错误提示窗了吗,显然这个jmp被其他跳转跳过了。果然上面一个jnz就直接跳到刚才的jmp下面将他略过了。


继续往上找,发现在刚才的jnz上面又一个je,这个je直接跳过了错误提示框,那就简单了,说明这个je现在没有跳,如果他跳了就不会错误弹窗了,只要将je改成jmp不就能跳了吗?我们在je的位置F2断点,重新载入运行程序,假码登录,然后错误弹窗来到我们刚才下断点的位置,我们将je按空格改成jmp。


F8往下走,直接跳到了错误弹出框的下面,绕过了错误提示。


F8继续往下走看程序是否能够运行起来。到这个call发现动不了了,我们按工具栏的"t"键跳转到进程窗口,直接鼠标右键"Resume All Threads",中文意思就是唤醒所有进程。唤醒后就直接回到刚才的cpu界面了,又可以继续F8了。


一直F8直到软件来到了这里,在这个界面一直无限循环,而且标题为模块-krnln处在系统领空无法修改,到这里就宣布失败了。


在这个过程中花了好几天时间去调试,也许这是作者所设置的一个坑,当然这也只是我的猜测。

既然不行,那就对整段程序进行分析,首先是来到段首,段首就一直往上找到的第一个retn下面第一段代码,也就是上一段程序的尾部retn下面,就是push ebp这里,我们在这下断点。刚才提到将MessageBoxA的断点处删掉,其实就是为了现在重新运行程序直接来到我们的段首。

重新载入软件后运行软件,直接断在了我们刚才下断点的段首,F8往下走,发下一个很大的jnz跳转,跳过了错误提示框,甚至是快跳到程序尾部了,这样的跳转很大程度上实现跳转程序会报错,正好他也没跳,我们也不管。



我们到发送数据这个call这卡住了,重复上面的步骤唤醒进程,继续往下F8单步走,小跳不用管,直到走到我们先前标记的那个可以跳过错误提示框的je那里,将他改为jmp跳过错误提示框。


继续往下走,直到走到"sete al"这里,发现了下面提示"条件为假   FALSE",到这里终于明白了,原来作者在这里还有一个判断,不管他是怎样运作的,既然提示为假,那不妨让他为真试试。


于是按空格修改为"setne al",继续单步,


终于弹出了我们的软件界面,到这里,教程也就结束了。


事实上我们的工作还远远没有结束,当安装好以后,在运行游戏时发现根本没用,是为什么?我们发现一个 "D:\xxgame\XX联盟\game\1.dll" 文件,用charles搭配proxifer对这个dll抓包,发现在游戏进入后的几秒该dll进行了数据交互,其交互内容证实了这个dll进行了二次验证,查壳该dll也没壳。

由于我对dll实在没有太深入的研究,加上网上对dll的逆向又实在少的可怜,因此发此贴以来是分享一下自己研究的成果,二来是想向各位大佬取取如何逆向dll的经。

anecho 发表于 2023-4-14 12:18

https://imlike.lanzoul.com/b0bzsaa0f
密码:17kz

软件地址发一下,各位可以拿去研究一下

qq87700906 发表于 2023-4-15 19:56

X14 发表于 2023-4-14 21:38
有验证啊,无法跳过

写补丁就可以了

nianffeng 发表于 2023-4-15 18:07

anecho 发表于 2023-4-15 11:44
这个发包链接是w.eydata.net,确实是易游的,只是在山寨的时候,有一个api是自创的,里面有一个p变量未知

你可以跟一下他登录call,我现在没看了更新了之后,之前还叫无心的时候,我看过,他数据有appkey之类的,百宝云我看过对接源码也是类似的格式,但至于发包链接是易游我也不清楚了,

sundeheng 发表于 2023-4-14 11:59

空格战神

揪心CC 发表于 2023-4-14 15:50

应该是有服务器第二次验证以前也有这个差不多的东西破解登录 然后进去没效果 有人说服务器还要在验证一次

超级小超超99 发表于 2023-4-14 16:38


感谢分享,没看懂

zhiming001 发表于 2023-4-14 21:21

可以教我吗

LAOBILAXI233 发表于 2023-4-14 21:27

应该是有服务器二次验证然后下发云dll

X14 发表于 2023-4-14 21:38

有验证啊,无法跳过

anecho 发表于 2023-4-14 22:00

LAOBILAXI233 发表于 2023-4-14 21:27
应该是有服务器二次验证然后下发云dll

这个dll在游戏目录中可以找到的,问题是如何破解这个dll的验证

anecho 发表于 2023-4-14 22:01

夏驰 发表于 2023-4-14 15:33
感谢分享,没看懂

这个东西实际操作一下就懂了
页: [1] 2 3 4 5 6
查看完整版本: 新手某联盟辅助的一次逆向