基本信息
无明显特征,仅一个登录框。且 check it! 按钮呈灰色无法点击。
查壳
upx压缩壳加密,ESP定律搞定。
开始解题
原则:遇壳脱壳,能脱就继续。脱不了再见(扔回收站)
(开玩笑,逆向就得刚。掉头发也得继续)
脱壳
压缩壳有一个特点,就是入口处为pushad(保存寄存器环境)。
有pushad必有一个popad(恢复寄存器环境)
按esp定律来脱壳。esp下硬件断点,点击执行。
-
esp上下硬件断点
-
点击执行,找到popad位置
看到了popad,与我们前面所说的有保存环境(pushad)必有恢复环境(popad)对应起来了。 -
找到程序真正的入口点
-
入口点处将内存Dump出来
-
使用ImpREC工具进行IAT修复
脱壳后的程序:
脱壳后正常打开无错误。
点亮Check it!
再次继续分析之前,需要了解Windows一个API:EnableWindow。
该函数会将一个控件设置为禁用或启用状态。
看到这,熟悉的感觉来了!关键API下断点
执行断下,栈回溯找到调用点。
回溯下断点,找到关键跳转。
将JNZ改为JZ。点亮check it!
算出密钥
F7进入关键函数分析算法。
观察正确的密码,可以发现。密码就是账号每一位对应的ASCII码。
说没啥用,试了才知道。
到此,已完成该crack me!!!