Windows_Reverse2
要求输入code
查壳工具查壳,ASPack再进行脱壳
再IDA打开查看main函数
1 | int __cdecl main(int argc, const char **argv, const char **envp) |
查看sub_4011F0()输入字符要在0-9以及A-F之间
1 | if ( v1 && v1 % 2 != 1 ) |
查看sub_401240:将字符转为相应的数字,最后有个return sub_401000
1 | if ( v2 > 0 ) |
sub_401000:
1 | if ( a1 ) |
前半段将byte_403020异或处理:
1 | a=[0x37,0x34,0x35,0x32,0x33,0x30,0x31,0x3E,0x3F,0x3C,0x3D,0x3A,0x3B,0x38,0x39,0x26, |
运行结果和base64的编码表一样
1 | ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ |
那么第三层就是base64解密
1 | import base64 |
1 | ADEBDEAEC7BE |