这道题给了一个.s文件
解决方案有两个:
1.利用gcc编译成可执行文件,然后反编译生成伪代码
2.直接分析汇编(我不会。。。)
1.利用gcc编译成可执行文件
linux执行gcc -o 1.s 1
IDA打开,分析并编写,注意一定要在字符串末尾加上\0结束符!!!
点击查看代码
#include <stdio.h>
int main(void)
{
char e1[32] = "Z`J[X^LMNO`PPJPVQRSIUTJ]IMNOZKMM";
char result[33];
for (int i = 0; i <= 31; i++)
{
result[i] = e1[i] - 7;
}
result[33] = "\0";
printf("%s",result);
return 0;
}