前置知识:写过一些小脚本,会点简单OD找数据;曾经尝试学过逆向无果。
1、拿到软件熟悉的右键 -- 属性,软件只有130K,感觉有点小,第一感觉是有压缩壳,果断查壳。(PS:电脑根本没有这些工具软件,全靠用的时候百度...)
2、查壳,如图,下面显示什么都没找到,右上角EP段显示UPX1,感到应该是peid版本问题,没关系就当是upx壳。
3、本着有轮子就不造轮子的原则,直接百度UPX脱壳软件,下载了几个脱壳尝试,都是无效的,exe运行不起来(困难1) -- (后面还是靠脱壳软件脱掉的,请往后看)。
4、难道只有学习自己造轮子?遂搜索UPX脱壳教程,什么三大步、8大法,看着就眼花缭乱,而且很多描述不清晰,直接没有看下去的欲望;终于找到一个简单点的,就是载入OD,ctrl+F搜popad附近的大跳转(具体深层原理不太清楚,个人认为跳转处就是壳子解压缩之后到程序真正执行的地方--好像是什么oep),找到popad这个 JMP 这个跳转,直接F2下断,程序跑起来到这里断下。
搜索
下断
5、鼠标右键断下的地方,点跟随(或者直接键盘 enter),就来到了新的区域。为了确定是不是,右键汇编区域,中文搜索,确实有很多和这个软件相关的字符串,以及登录失败这些提示(涉及软件信息,这个我就不截图了),确定刚才跳转进入的地方就是正确的。返回之后,右键 选择 dump process 类似的字样,界面看不太懂,根据之前所了解的是有什么修复,但是界面默认选择了一些,先不管无脑下一步保存,得到了新的exe。
6、激动的双击,再双击,然并卵,程序跑不起来,WTF ?,难道还要去学习什么修复各种表?本着有轮子就不造轮子的原则! 这个UPX壳已经很常见了,搜脱壳教程一大堆,肯定有人造了脱壳并且修复什么表的轮子,前面找的脱壳软件可能版本不匹配或者别的原因没成功。继续百度UPX脱壳软件,多尝试几个,终于让我找到了一个,脱壳之后程序能继续跑起来的脱壳机!(运气、运气) -- 软件我不放了,百度随便找,对比下界面是不是这个就好了。
【分析开始】
6、脱完壳之后,就开始正式操作了。软件载入