2020网鼎杯 逆向青龙组 Joker
拉入 IDA,F5 反编译,有几处函数调用后不正常的栈指针,Alt + K 修改即可(即此函数或指令执行后栈指针的变化是多少)。
根据 Wrong 和 omg 两个函数,可以写出代码解出字符串( IDA 中选中字符串,Shift + E 即可拿出数据)
明显不是,继续向后看 encrypt 函数。这个函数是一串乱码,根据解码循环解码出正确的执行代码,拉程序进 X64dbg ,解码循环完成后 dump 出来,再拖进 IDA。
同样的步骤,前面解出来的字符串与后面解出的无关
明显差一点
与如何解出字符串无关,但给了5个字符,19+5 = 0x18 即 24.与输入字符数相同。最后一个字符是 } (0x7D)
第一次做会没有思路怎么解,做过了就有了。