泰州电脑学习网  
收藏本站
  当前位置 : 首页 >> 网络应用 >> 病毒防治 >>
献给破解新手:破解的原理
来源:本站 日期:2007-9-24 点击:

不可不说一下学习破解的三个阶段:

初级,修改程序,用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和W32Dasm下显示的地址值是所谓的内存地址(memory offset),或称之为虚拟地址(Virual Address,VA)。而十六进制工具里,如:Hiew、Hex Workshop等显示的地址就是文件地址,称之为偏移量(File offset) 或物理地址(RAW offset)。

所以当我们要通过那些十六进制工具来对可执行文件中的相应指令进行修改的话,先要找到它的File offset。我们没有必要去使用那些专门的转换工具,在W32Dasm中就有这个功能,比如说你W32Dasm中来到0045123D处,在W32Dasm界面下方的状态栏中就会出现该条指令的虚拟地址和偏移地址,即@:0045123D @offset 0005063Dh 后面的这个0005063Dh就是相应的偏移地址。我们得到该地址后,便可用UltraEdit等十六进制工具来对可执行文件进行修改了。比如使用UltraEdit,你先用UltraEdit打开该可执行文件,然后按Ctrl+G,接着输入你得到的偏移地址,就可以来到其相应的机器码处。


责任编辑:不详

打印本文 关闭本页 返回页首
相关文章
·一例计算机怪病的解决 ·免费是否就等于白用?
·杀毒软件:免费是否就等于白用? ·连接IDE设备时的注意事项
·反击网络执法官 ·安全扫描软件浅谈
·电信ADSL用户必读:ADSL账号密码保卫战 ·十六个问答:网络安全新手必备基础知识
·网络攻击危险性渐高 针对性防范迫在眉睫 ·防范十种可破解万象幻境的方法
·Htran把内网肉鸡做成SOCKS5代理 ·如何建立一个安全的无线连接
·Windows Vista系统防火墙初探 ·专家视点:防火墙防控DDOS攻击三步曲
·微软官方解读Vista安全性: 全面的革新 ·五点讲解教你辨别真假网上银行
  热点文章
·键盘操作大全
·如何重装xp系统图解
·神奇地加快XP宽带上...
·如何组装一台电脑
·电脑组装全教程
·五笔字型输入法
·让QQ永久在线——挂...
·bios设置图解教程
  推荐文章
·最新驱动下载
·什么是Google优化
·网站备案绕过手机验证...
·电脑无法启动的特殊故...
·启动“黑屏”故障检修...
·几种主板BIOS报警声音...
·网管维护局域网技巧大...
·网络经典命令行
  相关文章
网站首页 | 关于我们 | 在线学习 | 业务联系 | 版权声明 | 联系方式 | 留言/建议/投诉 | 技术交流
客服邮箱:web@0523pc.com  QQ:43957884
 版权所有、肆意抄袭、模仿必究 泰州电脑© 2004 苏ICP备07003435号