首页
社区
课程
招聘
[原创]看雪CTF.TSRC 2018 团队赛-第六题 追凶者也--拼图游戏
发表于: 2018-12-11 19:44 3668

[原创]看雪CTF.TSRC 2018 团队赛-第六题 追凶者也--拼图游戏

2018-12-11 19:44
3668
       先看下前面大佬答题的时间,

有点变态的,不到一个小时就弄完了!说明可能有点希望 0.0 !!!!!
刚开始那道题目的时候!
先运行下看下情况!
发现是个窗体程序
直接拖到IDA里面!

找到GetDlgItemTextA


然后由它的找到单击事件


咋一看,懵了!怎么没有判断序列号成功的地方!
刚开始怀疑类似于第二题,初始化一个全局或者静态的类对象,将验证算法藏在析构函数里面!奈何太菜没有找到!
然后又怀疑是不是栈溢出,但是输入的时候给定了最大长度!而且string的缓冲区也符合最大。
然后一点点想法,一点点否定。
最后将程序拖入study_pe的时候 ,

发现这么一个东西。。。TLS表!
这东西注册回调函数的时候,一般先于入口点运行!
算了一下偏移值!
base+0x122FC
因为程序有重定向
所以在IDA中我把base值设成0x1340000(实际情况,由你来定)
0x1340000 +0x122FC=0x13522FC

由它找到回调函数
一路跟下来找到主要调用的地方,

实际上每次调用GetDlgItemTextA之后,紧接着就会 调用这个函数(ps:藏的可真深啊!)
实际情况这样

看着很难看!
简单的定义了一个结构,让结果好看点

这里有一些地方没定义就是,是为了让ida识别的好看点,没有什么lowbyte的恶心人(ps:可能我是强迫症吧,嘻嘻)

从上图中逻辑中可以看出主要有两个检测点!
check1
check2
实际情况中,我过了一个答案就出来了!


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2019-1-18 12:55 被大帅锅编辑 ,原因:
上传的附件:
收藏
免费 3
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//