-
-
[原创]看雪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
被大帅锅编辑
,原因:
赞赏记录
参与人
雪币
留言
时间
一笑人间万事
为你点赞~
2022-7-27 01:52
心游尘世外
为你点赞~
2022-7-26 23:50
飘零丶
为你点赞~
2022-7-17 03:23
赞赏
他的文章
谁下载
无
看原图
赞赏
雪币:
留言: