题目来自: bugku—re—love
ida F5 看到 main 函数调用 main_0()
看到 sub_4110BF 处理后得结果和 Str2 进行比较, 吻合则说明 flag 正确
得在 .data 段找到 Str2
1  | e3nifIH9b_C@n@dH  | 
先解决位移
1  | v8 = j_strlen(Dest);  | 
就是把 Dest 数组里的的每一个字符位移 j
slove:
1  | fake_flag0 = ''  | 
现在进入 sub_4110BF 函数 再进入 sub_411AB0 (为了方便分析我把部分变量重命名了)
1  | void *__cdecl sub_411AB0(char *ipt_str, unsigned int len, int *out_str)  | 
在 .rdata 段 拿到 aAbcdefghijklmn 数组
1  | .rdata:00417B30 aAbcdefghijklmn db 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='  | 
看得出来就是 base64
1  | import base64  |