首页
社区
课程
招聘
[原创]CTF2017 第三题 crackMe.exe writeup
发表于: 2017-10-28 16:03 5515

[原创]CTF2017 第三题 crackMe.exe writeup

2017-10-28 16:03
5515

一堆反调试的题……没什么难的,以下IDA截屏中已将所有反调试去掉(Keypatch call 为 mov eax,0 即可绕过)

4e1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6K6K9h3c8V1L8$3&6@1j5h3&6Y4i4K6u0r3M7s2W2Y4L8h3y4J5P5i4m8@1L8H3`.`.


python flag 生成代码


上来直接开IDA,字符串里面随便看一看,好像有很多调试器的名字……估计是检查findwindow之类的。是常用的反调试方法


跟踪过去看代码,一路x上去,就能到达我们的主要的DialogFunc了
f5 以后看帆以后的结果,由于sub_274990访问了 这个数组

推测和base64有关(刚开始以为是改版的base64,不过后来查源码以后得知其实是base64的编码表和解码表对接在了一起) 从代码结构也可以看出是标准的base64解码(忽略末尾等号 padding)

从原始代码可看出我们的输入会被进行两次base64解码以后扔进get_output这个函数

DialogFunc

暂且先忽略get_output,继续往下看


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 260
活跃值: (39)
能力值: ( LV9,RANK:144 )
在线值:
发帖
回帖
粉丝
2
IDA  F5  出来的代码怎么简化的?
2017-11-7 17:14
0
雪    币: 848
活跃值: (135)
能力值: ( LV13,RANK:430 )
在线值:
发帖
回帖
粉丝
3
THREAD IDA F5 出来的代码怎么简化的?
y  改类型,n改命名,新建structure来构造结构体
2017-11-14 18:51
0
游客
登录 | 注册 方可回帖
返回