先看看今天这道菜是用什么语言写的发现是用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可能是计算过程 一会儿可以进去看看
OD调试篇11
原文:http://www.cnblogs.com/terryue/p/4918829.html