NSCTF练习平台逆向题WP
本帖最后由 980691659 于 2020-7-3 15:51 编辑练习平台地址:http://ctft.nsctf.cn/
题目打包:
下面是WP
一、安卓题:Crackme
1.找到snCheck函数,发现是MD5校验
2. 把271373f323d9f76dc31204ff19823fdf进行md5解密,得到wgwl$5000!
3.把wgwl$5000!进行MD5加密,得到flag{27a3c22d01eb0466ee8866aa5e5e7820}
二、Windows题:美国队长
1.用IDA和OD进行对比分析,发现sub_00401000是输出flag核心
2.在OD里面直接nop,然后点击【GetFlag】按钮
3.此时弹出信息框。得到最终flag:{NSCTF_md50b7dfc60761e798328a0d9793f96d4f7}
三、Linux题:RE
1.通过IDA调试可以发现dwfsxe函数里面解密了第一个key,其中ohfewfynewnfew为解密函数。
第一个key为:
OFG{OxS3Lha6MUDk
解密后的BASE64为:
MDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVohQCMkJV4mKigpXys=
BASE64解密后得到:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+
2.继续单步跟踪,发现handvfiu函数解密了第二个key。
第二个key为:
bEBn`GBkMV{fJyMLTF{yR@sQVjUNIoULJVtsN@UQ
解密后的BASE64为:
aFAmcDAhNUxeIzNOWExzQCpRUiVMJlVOIUwpMCVRXg==
BASE64解密后得到:
hP&p0!5L^#3NXLs@*QR%L&UN!L)0%Q^
3.最后发现cewrwe23rf函数为核心flag校验函数会检测flag值是否为31位,若不是31位就会退出。
4.通过算法分析,得到算法公式:
key1-48]=key2
转换成如下python算法脚本,运行后得到flag{ActI0n5_sp3ak_Louder_than_w0rds}
题目1 中的27a3c22d01eb0466ee8866aa5e5e7820应该是wgwl$5000!经MD5后的结果,而271373f323d9f76dc31204ff19823fdf是wgwl$5000!两次MD5的结果。 谢谢分享 非常感谢楼主的热心分享
666,太强了 感谢感谢感谢~~~~ 还真是看不懂 第三题有点难偶 感谢楼主分享 属实难 正在学习ctf 感谢分享 感谢分享
页:
[1]
2