悦应 发表于 2017-1-29 13:30

CrackMe小问题

scanf函数在 04100A里面

然后把输入的字符按照1 7 2 5 6 3 4 一次异或

最后比较 427028 里面存的字符 如果相等提示成功。

注册码我得到的是 Rrafcpw 依次异或之后确实和427028相等,为何jnz还是跳转?还是提示失败。


_BaZzi 发表于 2017-1-29 13:30


这个jnz一定是会跳转的 这是个假判断

coolcoolong 发表于 2017-1-29 15:07

有点小暴力。。。。。

悦应 发表于 2017-1-29 16:36

coolcoolong 发表于 2017-1-29 15:07
有点小暴力。。。。。

主要是我不知道我的问题出在哪里了= =

coolcoolong 发表于 2017-1-29 20:31

问题在于CMP的这两个值的有符号数值不同 。。。

_BaZzi 发表于 2017-1-29 20:34

你玩的可能是一个假的CrackMe

悦应 发表于 2017-1-29 20:49

_BaZzi 发表于 2017-1-29 20:34
你玩的可能是一个假的CrackMe

一直在纠结问题是不是出在我的身上....

linxi7 发表于 2017-1-29 20:52

本人小白一个,拖到ida里,已经迷了半小时了{:5_191:}

悦应 发表于 2017-1-29 20:52

coolcoolong 发表于 2017-1-29 20:31
问题在于CMP的这两个值的有符号数值不同 。。。

不会吧。。 是否有符号数不是看最高位也就是符号位吗。

是1为有符号数,是0为无符号数

coolcoolong 发表于 2017-1-29 21:19

不等就是因为EAX的有符号数值跟那个立即数的不等。。。所以JNZ实现了 你试试
页: [1] 2
查看完整版本: CrackMe小问题