2024-04-29
如何优雅的使用字节码呢?
超纲了TwT
- 2023 CTF国赛初赛(CISCN) re- ez_byte_[ciscn 2023 初赛]ezbyte-CSDN博客
- 通过DWARF Expression将代码隐藏在栈展开过程中-软件逆向-看雪-安全社区|安全招聘|kanxue.com
运行,要求输入字符串,输入了之后,会复读一次,然后退出程序

在 sub_404D25 找到scanf

这里的a2是scanf到的字符串指针,这里的if else判断是否合法
v2 = sub_401200(a2) 猜测是strlen,尝试了几个字符串,确实是
恢复符号表#
[[IDA插件#IDA符号表恢复]]
抓#
从头开始逆有点困难,从printf/putchar入手
搜索 printf
putc
函数,全部打上断点
在 _IO_sputbackc
断到了
按 <Ctrl+F7>
回溯,找到一个地狱绘图

不过这看起来是libc里的函数,看了函数头之后 _vfscanf_internal

继续回溯,没事了,就是main函数里的第一次 scanf
重新给putc打上断点
_IO_new_file_xsputn
断到了
_IO_new_file_xsputn
-> _IO_new_file_xsputn
-> _IO_fwrite
-> call qword ptr [rax+60h]
没事了,这个是加密的函数,继续F8
_IO_putc_0
断到了
_IO_putc_0
-> sub_46EB90下的call qword ptr [rax+68h]
打印出来了 aaaaa