先看看今天这道菜是用什么语言写的

发现是用VC7.0写的,再随便打开看看

发现未注册以及使用限制,那就用OD载入吧

右击查找所有字符串,找unregistered 找到后双击进入

我们会看见一个跳转,跳转了就会出现unregistered,不跳就行了,但是经过检验,只是去掉了未注册这个字符

于是我们要再摸索摸索,在之前的跳转之上有个test al,al 这是一个测试,那么我们在上面下断点,重载,执行

走一步之后发现al的值为0了,那么上面所涉及到的地址应该就是有用的

我们右击转到地址,比较幸运,只有两个分叉,都过去下断点,中间可以按enter返回

然后重载,在004047D3这里断下 那我们要把下面的断点删掉,既然过来了,说明已经走过了校检的地方,肯定就是这个了

发现上面有个eax压进去了 然后上面又有个call 可能是这个call在计算 影响着eax,eax又影响着下面的call,把下面的断点去掉,在eax上面设下断点,重新载入。发现与12E024的值有关系,重新载入跟进去看看

F8走一遍就会发现问题所在了

我们可以进行简单的修改 xor al,al 改为 mov al,1 就可以了,发现OK了。但是我们继续探究下,进入到之前的地方把下面的断点删了

来到跳转处,改标志位,让它不跳


发现把0---Z都压进去了 说明前后的call可能是计算过程 一会儿可以进去看看