-
-
[原创]看雪CTF2017 第十一题 CrackMe逆向分析
-
发表于:
2017-6-22 13:45
6289
-
[原创]看雪CTF2017 第十一题 CrackMe逆向分析
IDA分析程序:
只有这么几个函数,好可怕,肯定是加壳了。
主要算法1,赋值原区段内容异或解密
壳中主要算法2,加载API,修复导入表,请注意图中的API,~^o^~
整个壳的流程也比较简单,只要一路往下走,打死不回头,很快就能找到跳到oep的magic jmp:
恩,接着想脱壳的就可以脱了,win7 由于某些原因没有成功,不过也dump了一份供IDA分析。
用IDA分析dump文件,分分钟找到关键点:
跟进DialogFunc:
流程是不是很清晰
关键call是不是也很简单。。。。。。。。。。。。。。。。
然而算了两个小时也并不还原。
这一切都是假的。。。。。。。。
接着回头从脱壳开始,一步一步跟踪,发现了很多有意思的API
CreateToolhelp32Snapshot
WaitForDebugEvent
SetThreadContext
WriteProcessMemory
从新梳理流程,发现main函数有猫腻:
发现某些条件下竟然可以跳过产生对话框,what fuck this,那我们看到的对话框是什么???
接着详细跟踪。。。
sub_4015B0 提权
这部分后续更新。。。。。。20170623更新
sub_401480 遍历进程,判断父进程:
判断是否为explorer 或者cmd,之后直接把OD改成explorer.exe调试。
其他反调试未留意。。。。。
1.跳过创建对话框
2.用自身程序创建一个进程,并与之交互
SEG001:0040170B E8 30 FF 00 00 call sub_411640
sub_410A20
下断点WriteProcessMemory,ReadProcessMemory
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!