找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 12641|回复: 1

妙解破解的原理

[复制链接]
发表于 2009-11-23 01:43:33 | 显示全部楼层 |阅读模式 IP:江苏扬州
>不可不说一下学习破解的三个阶段:
  初级,修改程序,用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处进行跳转,而一直执行下去。在下面等它的,是注册失败部分。
  不可不说一下学习破解的三个阶段:
  初级,修改程序,用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处进行跳转,而一直执行下去。在下面等它的,是注册失败部分。
  不可不说一下学习破解的三个阶段:
  初级,修改程序,用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处进行跳转,而一直执行下去。在下面等它的,是注册失败部分。
  下面列出两个最常见的情况(可参考相关教程):
  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
  call 00?????? 关键call
  jne(je) 关键跳转
  以上两种情况最为常见,而那些个不太常见的情况,我们这里就不再提了。到下下一章的时候,我会给你讲相关方法的...
  关于查找软件注册码的部分,就到这里。具体内容,下下一章咱们再说。(不是说了吗?我以经可以接到你的砖头了,干嘛还要丢呢? )
  最后,再来说最后的所谓的高级阶段,如果你相信自己。并且热爱Crack,那么你一定会熬到这个阶段的,只是时间因人而异。
  其实分析软件的算法,是有好多技巧在里面的。呵呵,最起码我刚开始的时候就摸不着头脑,那么多CALL,每个看起来,都很重要,都追一遍?结果连好多API都被追了进去。等你自己真正用心分析了一个软件的算法,并写出了注册机后。你就会明白其中的道理了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 19:30 , Processed in 0.266881 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表