main函数两个关键函数:
sub_4111F4(a1, &Str, (int)v9)和sub_4112B7(a1, v9)
sub_4112B7(a1, v9) :

得到sub_4111F4的结果应为artqkoehqpkbihv
sub_4111F4里的函数sub_413650无法F5,改sp
先找到对应汇编码

通过ALT + k 修正堆栈,选中text:004138AB处的call

改好后即可F5反汇编,如下:

F5后:


按逻辑写脚本
#include <stdio.h>
#include <math.h>
int main()
{
char v9[] = "artqkoehqpkbihv";
char base[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
char v16[64] = {0};
char flag[16] = {0};
int i,tmp,k;
for(i=0;i<64;++i)
{
tmp = base[i] - 'a';
v16[i] = abs(tmp);
}
for(k=0;k<15;++k)
{
flag[k] = v9[k]-v16[k];
while(flag[k]<97)flag[k]+=26;
while(flag[k]>122)flag[k]-=26;
}
puts(flag);
}
flag{umpnineissogood}
网友评论