不可不说一下学习破解的三个阶段: 初级,修改程序,用ultraedit等工具修改exe文件,称暴力破解,简称爆破。 中级,追出软件的注册码。 高级,写出注册机。 先说这爆破。所谓爆破,就是指通过修改可执行文件的源文件,来达到相应的目的。你不明白?呵呵,举个例子好了,比如说某共享软件,它比较用户输入的注册码,如果用户输入的,跟它通过用户名(或其它)算出来的注册码相等的话(也就是说用户输入的注册码正确了),那么它就会跳到注册成功的地方去,否则就跳到出错的地方去。 明白过来了吧,我们只要找到这个跳转指令,把它修改为我们需要的“造型”,这样,我们是不是就可以为所欲为了? 常见的修改 *** 有两种,我给你举例说明: no.1 在某软件中,这样来进行注册: 00451239 CALL 00405E02 (关键CALL,用来判断用户输入的注册码是否正确) 0045123D JZ 004572E6 (!!!<--此为关键跳转,如果用户输入的注册码正确,就跳向成功处,即004572E6处) 0045XXXX YYYYYYYYYY XXXXXXXX YYYYYYYYYY XXXXXXXX YYYYYYYYYY XXXXXXXX 执行到此处,就提示用户注册失败 ..提示用户注册码不正确等相关信息 ... 004572E6 ... <--(注册成功处!!!) ...提示用户注册成功等相关信息 呵呵,看明白了吗?没有的话,我来给你讲一下。在软件执行到00451239处的时候,CALL置0045E02处来进行注册码判断。接着回来后就来一个跳转语句,即如果用户输入的注册码正确就跳到004572E6处,跳到此处,就算是注册成功了。如果用户输入的注册码不正确的话,那么就不会在0045123D处进行跳转,而一直执行下去。在下面等它的,是注册失败部分。 想明白了吗?嘿嘿...没错,我们只要把那个关键跳转JZ给改为JNZ(如果用户输入的注册码错误,就注册成功,输入正确则注册失败)。当然你也可以将JNZ修改为Jmp,这样的话,你输入的注册码无论正确与否。都可以注册成功。 no.2 我们再来讲一下另外的一种情况: 00451239 CALL 00405E02 (关键CALL,用来判断用户输入的注册码是否正确) 0045123D JNZ 004572E6 (!!!<--此为关键跳转,如果用户输入的注册码不正确,就跳向失败处,即004572E6处) 0045XXXX YYYYYYYYYY XXXXXXXX YYYYYYYYYY XXXXXXXX YYYYYYYYYY XXXXXXXX 执行到此处,就提示用户注册成功 ...提示用户注册成功等相关信息 ... 004572E6 ... <--(注册失败处!!!) ...提示用户注册码不正确等相关信息 你一定看出跟之一种情况不同的地方了吧。没错!它与之一种不同的,就是之一种情况是如果注册码正确,就跳到注册成功处,如果没有跳走,就会执行到失败处。而这一种情况则是如果注册码不正确,就跳到注册失败处,否则将执行到注册成功处。 这种情况的修改,除了把JNZ改为JZ外,还可以将其改为Nop,Nop这个指令没有任何意义,将该条指令修改为Nop后,便可随意输入注册码来进行注册了。 原理以经给你讲了,下面我们再来讲一下具体的修改办法吧。 先说一下虚拟地址和偏移量转换的问题,在SoftICE和W32Da *** 下显示的地址值是所谓的内存地址(memory offset),或称之为虚拟地址(Virual Address,VA)。 而十六进制工具里,如:Hiew、Hex Workshop等显示的地址就是文件地址,称之为偏移量(File offset) 或物理地址(RAW offset)。 所以当我们要通过那些十六进制工具来对可执行文件中的相应指令进行修改的话,先要找到它的File offset。我们没有必要去使用那些专门的转换工具,在W32Da *** 中就有这个功能,比如说你W32Da *** 中来到0045123D处,在W32Da *** 界面下方的状态栏中就会出现该条指令的虚拟地址和偏移地址,即@:0045123D @offset 0005063Dh 后面的这个0005063Dh就是相应的偏移地址。我们得到该地址后,便可用UltraEdit等十六进制工具来对可执行文件进行修改了。比如使用UltraEdit,你先用UltraEdit打开该可执行文件,然后按Ctrl G,接着输入你得到的偏移地址,就可以来到其相应的机器码处。 再给你讲一下机器码,所谓的机器码。就是你看到的那些个十六进制数据了。还记的它们与汇编指令是一一对应的吗? 以下这几个是爆破时要用到的,其它的如果感兴趣,可自行查看相关资料: JZ=74;JNZ=75;JMP=EB;Nop=90 爆破的时候,只要对以上机器码进行相应的修改就行了,比如之一种情况的时候,可以将74修改为EB,即将JZ修改为JMP。而第二种情况,责需将75修改为90,即将JNZ修改为Nop。 上边讲了爆破的原理,你需要明白的是。爆破只是你学习Crack的开始,是很简单的手段。刚入门的时候可以玩玩儿,但希望你不要就此不前! 其实要找到注册码并不是一件多么难的事,我是指你所针对的软件不太那个的时候 不过你无需惧怕。 刚才我们说爆破的时候不提到过关键CALL吗?一般情况下,这个关键CALL就是对两个注册码(一个是软件自身通过你的注册名或机器什么的计算出来的正确的注册码,令一个就是你输入的错误的注册码)进行比较。我前边提到过,CALL之前一般会把所用到的数据先放到一个地方,CALL过去的时候再从这些地方把先前放入的数据取出来,进行相应的处理。这个关键CALL也是这样,在CALL之前,一般会把那两个注册码放到堆栈或某个寄存器中。嘿嘿,我们只要在调试器中,单步执行到该CALL,在未进去之前通过CALL之前的指令判断其将正确的和不正确的注册码放到哪里了。然后再用相应指令进行查看就成了,我说过不难的。 下面列出两个最常见的情况: no.1 mov eax [ ] 这里可以是地址,也可以是其它寄存器 mov edx [ ] 同上,该条指令也可以是pop edx call 00?????? 关键call test eax eax jz(jnz)或jne(je) 关键跳转 看明白了吧,在关键CALL之前,软件会把两个注册码分别放入eax和edx中,你只要在CALL处下d eax或d edx就能看到正确的注册码了。 no.2 mov eax [ ] 这里可以是地址,也可以是其它寄存器 mov edx [ ] 同上,该条指令也可以是pop edx
不清楚登陆密码怎么登录他人手机微信(qq密码全能查看器) 手机微信务必删掉,不然他人能够 登陆你的微信,它是十分不安全的。 各位好!,热烈欢迎大伙儿看来本文,手机微信对大家而言再了解但是了,不论是...
中国有23个省 河北省(冀) 山西省(晋) 辽宁省(辽) 吉林省(吉) 黑龙江省(黑) 江苏省(苏) 浙江省(浙) 安徽省(皖) 福建省(闽) 江西省(赣) 山东省(鲁。 23个省,4个直辖市...
去哪找黑客盗QQ号相关问题 怎么成为黑客相关问题 什么浏览器可以玩黑客装逼 找黑客盗微信号可靠吗(黑客技术入门盗微信)...
全国酒店记录查询系统(全部开房记录查询方法)专业盗取微信密码,开房查询,通话记录查询,查询微信聊天记录,非常靠谱!上海是中国四大一线城市之一,也是中国重要的经济中心城市,也是世界著名的超级城市。自19...
联轴器是用来联接不同机构中的两根轴(主动轴和从动轴)使之共同旋转以传递扭矩的机械零件。在高速重载的动力传动中,有些联轴器还有缓冲、减振和提高轴系动态性能的作用。联轴器由两半部分组成,分别与主动轴和从动...
一个在市场中很火爆的项目往往就会陪伴着质疑的声音呈现,就好比宽店烤翅烧烤加盟在市场中很是受消费者和加盟商的存眷和承认,所以各人就会质疑投资加盟进来是不是有风险。其实任何项目投资加盟都是具有必然的风险的...