本文主要是介绍XCTF 逆向进阶区Windows_Reverse1——WriteUp,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:
Windows_Reverse1
答题过程
脱壳
- 首先将程序拖入 Exeinfo PE 中查看相关信息:
- 发现程序有
upx
壳, 使用upx -d
将壳脱去:
脱壳显示成功, 但奇怪的是程序一运行就闪退. 先不讨论该问题, 最后再来研究.
IDA PRO 分析程序
- 用 IDA PRO 打开该程序, 直接查看反编译代码, 发现程序逻辑非常清晰:
int __cdecl main(int argc, const char **argv, const char **envp) { int result; // eax@2 char v4; // [sp+4h] [bp-804h]@1 char v5; // [sp+5h] [bp-803h]@1 char v6; // [sp+404h] [bp-404h]@1 char Dst; // [sp+405h] [bp-403h]@1v6 = 0; memset(&Dst, 0, 0x3FFu); v4 = 0; memset(&v5, 0, 0x3FFu); printf("please input code:"); scanf("%s", &v6); sub_401000(
这篇关于XCTF 逆向进阶区Windows_Reverse1——WriteUp的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!