我正在尝试将二进制程序的所有写入日志写入文件以供进一步分析。我正在使用radare2。我不知道有什么问题,我无法将“dte”输出写入文件。它在控制台上打印,但即使在重定向后也不写入文件。'dtd' 工作正常并正在写入文件。在下面的代码中,log2.txt 显示为空。
import r2pipe
r = r2pipe.open('simpleAES', flags=['-d'])
r.cmd('aei')
r.cmd('dc')
r.cmd('e dbg.trace=1')
r.cmd('des 100')
output1 = r.cmd('dtd')
output2 = r.cmd('dte')
f = open("log1.txt", "w")
f.write(output1)
f.close()
f = open("log2.txt", "w")
f.write(output2)
f.close()
我正在使用一个简单的 C 代码进行分析并使用 raise(SIGINT); 用于在 C 程序中设置断点。您知道我如何将“dte”输出写入文件。
我正在调试的代码:
#include <signal.h>
#include<stdio.h>
int main (void)
{
printf("loop started");
raise(SIGINT);
int i = 0;
for (i = 0; i < 10; ++i) {
printf("Hello ");
}
printf("loop completed");
return 0;
}