1.注意题目提示
Overlong此处是说明a2的长度远远超过输出的字符长度,暗示了我们要通过改变输出字符的数字来将a2全部加密并输出得出flag
2.学会改二进制码
将程序丢进ollydbg后
本身应该是直接把push 0x1c改成 push 0xaf
但是这样直接改会覆盖掉下面的指令
机器码6A 1C
把1c换成af后
机器码变成6A AF 00 00 00 后面00 00 00把后面的push覆盖掉了,所以不能直接改(可是我不知道为什么啊啊啊求教)
要直接改二进制码,把6A 1C改成6A AF(右键-二进制-编辑)
然后执行,出flag。
本题主要是改汇编代码那儿,到现在都没搞懂,希望有高人能帮忙指点迷津