目标 T3.exe
使用 IDA 打开,找 main 函数,并做基本的分析,重命名函数
可以看到对比 T2.exe ,循环这里的每个字符+1变成了字符与i异或
转换的代码是
for ( i = 0; i < strlen(v4); ++i ) v4[i] ^= i;
编写相应 python 脚本
data=[0x66,0x6D,0x63,0x64,0x7F,0x5C,0x49,0x52,0x57,0x4F,0x43,0x45,0x48,0x52,0x47,0x5B,0x4F,0x59,0x53,0x5B,0x55,0x68] for i in range(len(data)): data[i]^=i print(bytearray(data))
C语言版本
#include <stdio.h> #include <string.h> int main(int argc, char* argv[]) { char aaa[]={0x66,0x6D,0x63,0x64,0x7F,0x5C,0x49,0x52,0x57,0x4F,0x43,0x45,0x48,0x52,0x47,0x5B,0x4F,0x59,0x53,0x5B,0x55,0x68,0x00}; for(unsigned int i=0;i < strlen(aaa);i++) aaa[i]^=i; printf("%s",aaa); return 0; }
Source & Reference