pwnable.kr --flag
pwnable.kr –flag
这是一道简单的逆向题。
1.分析文件
先用pe分析一下文件。
可以看出来文件是经过upx加壳的。
2.处理文件(脱壳)
1 | ┌──(root💀kali)-[/home/kali/桌面] |
对文件进行脱壳
在linux系统下用**upx -d [文件名]**即可对文件进行脱壳。
3. 查看源代码
1 | int __cdecl main(int argc, const char **argv, const char **envp) |
源文件的main函数反汇编代码。
可以知道将flag复制到malloc开辟的动态内存区。
跟进flag字符串。
1 | data:00000000006C2070 flag dq offset aUpxSoundsLikeA |
由跟进代码知道flag保存在数据段。
flag保存的数据是在aUpxSoundsLikeA偏移来的。
跟进aUpxSoundsLikeA数据。
1 | .rodata:0000000000496628 aUpxSoundsLikeA db 'UPX...? sounds like a delivery service :)',0 |
由代码知道,aUpxSoundsLikeA是只读数据段(read - only - data)。
解出flag。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Daily Study!