2024-XYCTF-re
感谢大佬们给了这么多学习的机会,嘻
前面一部分是自己做的,后面一部分是复现,这么多题,狠狠鞭策自己~
聪明的信使
拖进IDA
凯撒,偏移量9
原题
- oujp{H0d_TwXf_Lahyc0_14_e3ah_Rvy0ac@wc!}
解密后
- flag{Y0u_KnOw_Crypt0_14_v3ry_Imp0rt@nt!}
喵喵喵的flag碎了一地
- 尝试打开,一闪而过
- 查壳>>>没壳
- 拖进IDA
- 能看到提示
- shift+F12 转string
- flag{My_fl@g_h4s_
- 这是flag的前半段
- 查看函数,发现 br0ken_4parT_
- 这是flag的第二段
- 里面有提示 “Learn about
Xref
and Find out which function refers me to get the last part of the flag!” - 直接 x 找找看
- 在汇编界面查看并拼起来
- Bu7_Y0u_c@n_f1x_1t!}
- 这是flag的后半段
- flag{My_fl@g_h4s_br0ken_4parT_Bu7_Y0u_c@n_f1x_1t!}
砸核桃
- 先用 DIE 进行查看
- NsPacK(3.x)
手动脱壳
首先找OEP(原始入口点)
- od 载入后入口点处为:pushfd,pushad,call XXXX
- OEP 的特征如下:popad,popfd,jmp OEP
ctrl+f 查找 popfd
- 找到 OEP
- 小插件脱壳
- 选择当前的 EIP 作为入口点地址
- 把文件另存(不关闭 od)
- 此时的新文件还无法运行
- 未修复 IAT
- 此时的新文件还无法运行
- 使用 ImportREC
- 处理之后没有问题就修复 dump 出来的文件
- 这样就脱好壳了
- 脱完壳用IDA看一看,发现有个加密
- 写个脚本破解一下
- 得到flag
1 |
|
1 |
|
2024-XYCTF-re
http://example.com/2024/04/27/2024-XYCTF-re/