https://buuoj.cn/challenges#[%E7%BD%91%E9%BC%8E%E6%9D%AF%202020%20%E9%9D%92%E9%BE%99%E7%BB%84]jocker
32exe
https://blog.csdn.net/qq_32072825/article/details/121657090
ret 的使用
两处 sp 分析错误,改回来在函数最后按一下 c 就可以正常反编译了
发现一个奇怪的函数,搜一下:
https://www.cnblogs.com/CCb0nd/p/17857745.html
对内存权限进行了修改 → SMC
复制出来输入,分成两个部分:
一个用 wrong
和 omg
检验 input,另一个用加密的函数 encrypt
对副本检验并处理
先看前面:
解密脚本:
flag{fak3_alw35_sp_me!!}
果然不对,看下面加密函数
采用 dbg dump 的方法,输入 111111111111111111111111
运行到解密部分,进去函数
dump 出来重新用 IDA 打开,发现 start 点已经到 encrypt 函数里了(不过没有符号了)
就是对输入进行一个异或后的比较
flag{d07abccf8a410c
最后一个函数
有随机数了,看着好像是那种大概率是不可能事件的类型,这样我们需要根据上下文来猜测补全程序想要做的事情
由于前面采用的是对字符串进行异或解密,这里也根据最后一位是 }
来异或回去,解密的对象是 "%tp&:"
flag{d07abccf8a410cb37a}