-
-
[原创]看雪.TSRC 2017CTF秋季赛第二题writeup
-
2017-10-28 20:40
3639
-
[原创]看雪.TSRC 2017CTF秋季赛第二题writeup
用 IDA打开 ,发现直接调用了三个函数 ,第一个函数是输入,两个函数是解方程,4个方程,两个未知数。。。满足不了。。。
而且疑点是:
那两个函数根本没有传入输入的flag,却又看似验证flag的东西。
就觉得很好奇,便用了 OD调试才发现,实际上 这两个函数没有什么局部变量,只是因为,这两个函数访问到了之前输入函数输入的flag,造成IDA识别错误的假象。
PS:因为IDA是通过函数内部对栈中的值的引用,来判断局部变量并自动生成局部变量,所以IDA自动生成了两个变量 v1和v2,但是这方程没用啊!
所以转换思路,找是不是有其他验证flag的函数,但是这个验证可能也没有参数传入,完全有可能像那两个混淆函数一样,直接访问废弃的栈内容(输入的flag)进行验证。
因为od的自动分析会受到 影响,所以便取消了自动分析,搜索 RET的代码块,一个代码块一个的看,发现0x413131处
很可疑,于是用IDA打开看,这个地址,居然全是一堆 定义的常数变量,想了下,可能是出题人故意为之,所以就想在输入了flag后,能跳转到这个413131里面看看到底是什么个情况,于是 构造了paload:123456789aa11A
然后跟进去看,果然 是在对flag验证。。。然后多跟几次发现是解方程。。。。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法