2.我看到了GETcahr call 00401A90 在每个然后查找命令把全部的getchar下段
入口:
004011C0|.E8 58010000 call QZY-B.0040131D
004011C5|.85C0 test eax,eax
004011C7|.75 5E jnz short QZY-B.00401227
在CALL里吧EAX改为0或者jnz改nop
第一关:
00401584|. /0F85 82000000 |jnz QZY-B.0040160C
改JMP
00401618|.^\0F84 3FFFFFFF \je QZY-B.0040155D
改NOP
对不起恕我垃圾第二关一直循环 看的有点烦我还是操作系统吧 while ( --a > 4 * b )
{
putch(8);
putch(32); ■ ■ ■ ■ ■ ■
putch(8);
} 恕我直言,是在下输了 机器新装的没虚拟机,第一关jnz改jz,密码我偷懒了,返回值扔ida里面一眼就看到了 {:1_896:}碰巧看到了入口地址{:1_905:} {:1_923:}第一关找密码,没用心看算法,好象也没出明码的,自己缺点是讨厌算法分析,直接挂到了第二关。第一关算法在图中,讨厌这种绕的{:1_923:} 为什么第二段XOR的值得出的结果转ASCII码是乱码,难道是第一段没有取好吗? WarWolf 发表于 2018-3-24 11:46
为什么第二段XOR的值得出的结果转ASCII码是乱码,难道是第一段没有取好吗?
我这每次的结果还都不一样。。。 这是什么不懂,还要继续学习 本帖最后由 WarWolf 于 2018-3-24 16:09 编辑
zbnysjwsnd8 发表于 2018-3-24 13:42
我这每次的结果还都不一样。。。
根据第一段输入的结果不同,一个常量的左移位数就不同了.
页:
[1]
2