不可不说一下学习破解的三个阶段: 初级,修改程序,用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
你应该忘记你的手机解锁密码。起初,你对模式的解锁非常好奇,并建立了一个更复杂的模式。没多久你就忘了。这只能通过刷机器来解决。幸运的是,这篇文章的出现将...
“重庆伴游陪游旅行网huise-【褚远琴】” 北京商务经纪人预约留言:看似高冷清丽的外表之下,隐藏着我热情脆弱的内心。我看似坚硬的坚冰,等待着哥哥来融化。只需要您一个亲吻,一个拥抱,一个眼神肯定,我就...
本文目录一览: 1、为什么我微信加好友时对方会收到请核实对方身份,谨防诈骗的提示? 2、刚才有人加我 但是微信自动提醒对方帐号有异常,说是对方没有经常联 3、我的微信和对方聊天,显示我的账号有...
CSV文件是一种纯文本文件,在系统导出的数据很多就是这种格式。 CSV格式文件图标和Excel的文件图标非常相似,如果双击用Excel打开,你会发现其中很多类似银行卡号、身份证号码之类的长数字格式都发...
今日看来一看“南京市商务预约艺人经纪人”。南京市是大伙儿最爱的城市之一,有关南京市商务预约艺人经纪人是如何的一个服务项目流程,文中为大伙儿小结了三到八条。第一,南京市商务预约艺人经纪人是如何的工作模式...
那身份证可以查酒店记录吗?宾馆住宿记录如何调查! 专业盗取微信密码,开房查询,通话记录查询,查询微信聊天记录,非常靠谱!在很多年之前,使用微信的用户量还并不是很多,大家更倾向于QQ的使用,但是随着微...