分析程序,发现无壳,64位,c++写的
运行一下
ida打开,进行静态分析,发现fun1里解密出来是假的flag
然后在strings中找输入时的字符串,x到代码中,发现就在main中
但它直接跳转到0x401c51地址,导致无法解析出这段伪代码
这时通过x64dbg修改这个跳转地址,让它跳转到输入时的地址,这样ida就可以解析出这段伪代码
修改后能解析出来了
点击nothing函数,发现有花指令
把e8修改为90(空指令),再解析即可
发现这个一个base64加密,但在加密后多+了1
此时就大致明白这个加密过程了,也就是先对明文进行0x22异或,然后+1,接着base64加密再对每个字节+1
最后得出结果