980691659 发表于 2020-7-3 15:24

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}



yijianyjy 发表于 2020-7-10 15:27

题目1 中的27a3c22d01eb0466ee8866aa5e5e7820应该是wgwl$5000!经MD5后的结果,而271373f323d9f76dc31204ff19823fdf是wgwl$5000!两次MD5的结果。

Ch1valry 发表于 2020-7-3 17:35

谢谢分享

keber 发表于 2020-7-3 17:48

非常感谢楼主的热心分享

toma 发表于 2020-7-3 18:25

666,太强了

BreakWa 发表于 2020-7-3 18:25

感谢感谢感谢~~~~

sxgpyjg 发表于 2020-7-3 18:28

还真是看不懂

manshushu 发表于 2020-7-3 22:32

第三题有点难偶

2001112788 发表于 2020-7-3 23:54

感谢楼主分享 属实难

Euynac 发表于 2020-7-4 00:55

正在学习ctf 感谢分享

juedifengshen 发表于 2020-7-4 11:07

感谢分享
页: [1] 2
查看完整版本: NSCTF练习平台逆向题WP