找回密码
 立即注册

QQ登录

只需一步,快速开始

1401软件论坛总版规【新人必看】如何正确发布收费帖子加入vip系统学习仅需498元免费获得1401软件安全论坛vip开通本站VIP会员请联系QQ 564853771
论坛纪念优盘Beyond EXE超强加密器V1.61401论坛破解工具包 2017-9-12[破解班vip]入门篇[破解班vip]基础篇
[破解班vip]脱壳篇[破解班vip]实战篇[破解班vip]网络验证篇[破解班vip]零基础HOOK教程[破解班vip]零基础易语言入门
[破解班vip]零基础c语言入门[破解班vip]零基础Delphi编程入门[破解班vip]寒假培训课程共7课[破解班vip]破解提高篇[破解班vip]易语言培训课程
[破解班vip]核心技术培训篇[破解班vip]pe格式与pe操作[破解班vip]2022全新封包-山寨-爆破全系列[原创课程]c++单文档框架课程[逆向班vip]汇编语句与反汇编基础
[逆向班vip]全自动扫雷辅助[逆向班vip]手机模拟按键[逆向班vip]植物大战僵尸辅助广告位招租...付费破解软件 +Q 564853771
查看: 2449|回复: 0

【脱壳破解(二)——验证注册码】

[复制链接]
  • TA的每日心情
    开心
    2016-12-31 19:24
  • 签到天数: 148 天

    [LV.7]常住居民III

    335

    主题

    380

    回帖

    1693

    积分

    版主

    【KingSolomon】

    UID
    972
    元宝
    340
    威望
    458
    贡献
    19
    信誉值
    0
    精华
    17
    在线时间
    179 小时
    注册时间
    2014-5-16
    最后登录
    2017-1-4
    违规
    0
    积分
    1693

    最佳新人活跃会员热心会员灌水之王论坛元老吾爱富翁工具大师已有小成

    QQ
    发表于 2014-5-25 22:36:02 | 显示全部楼层 |阅读模式
    Ȧ

    原理:程序都是在内存中运行的,一些注册码或是密码在内存中的某段时间那出现。
    当你输入密码时,软件就会进行判断,要判断就会发生真假密码的对比,在这段时间内你输入的错的和正确的都会出现在内存中!而一般判断有两种 1.判断正确跳转到真确的代码段错误的不跳转继续往下走(下面对为错误代码段);2.另一种相反,判断错误跳转到显示错误的代码段正确的不跳转继续往下走(下面对为显示正确代码段)。
    而这个判断的地方就教做关键调转!,对比注册码的地方也就在他前面的一个以 Call 开头的代码行上!(关键Call)

    寻找关键跳转:由于输入不对,就会跳到出错的地方,显示出错信息,而出错信息上面会有一个跳转,(所有调转都是以 J开头的,如JNE/js/jNz,而 JMP 为无条件跳转,也就是对不对都进行跳转,其它的都是判断跳转,NOP 空指令,也就是无效指令,运行后等于没有运行),我们知道把跳转到错误的判断换成 NOP 或是 把跳到正确的判断改成 JMp 就可以破解,这属于爆力破解,也就是说软件自身结构改变了,不管你输的密码/注册码对不对,他都跳向成功!

    它要判断就肯定会发生真假注册码对比,对比的信息会在,内存中出现,显示在寄存其上!(自己看)

    步骤:
    1。判断有无壳。(壳是一种保护软件的工具,软件运行后壳是要被脱去的,这个过程主要在内存中进行),侦壳程:Fi.exe ,使用,按住要查的软件不放,拖到Fi.exe 图标上即可!(常见的壳有Upx,Aspack,EXE32Pack,EZIP,PE Compact,Petite ,PKLiTE,Shrinker 这里没有壳)

    2。设置 Ollydbg.exe

    3。运行一下软件,看出错时,有什么提示!(password wrong!)
    4。ODB加载,找到提示语句,双击来到,关键跳转,关键Call,下断点(F2),运行程序,到软件被中断为止,在寄存器中搜索!
    123123 是我门输的错密码。正确的 密码是 mimashishenme

    5。找到注册码了!软件破解成功!

    6。对于关键跳转的 修改,ODB加载,找到提示语句,双击来到,向上找(第一个不是Jmp 的以 J 开头的代码)关键跳转,(关键跳转上面的第一个Call)关键Call,下断点(按 F2),F8 单步跟踪,
    到 0040203F |. /74 15 je short crackme.00402056 显示 跳转没有实现,也就是说他判断的类型属于第一种:判断正确跳转到真确的代码段错误的不跳转继续往下走(下面对为错误代码段),好我们就让他强行实现,在该代码行上按空格,把 je short crackme.00402056 改成 jmp 00402056 ,确定 再按 F9 ,直接跳到成功!

    (如果F8 单步跟踪,
    到 0040203F |. /74 15 je short crackme.00402056 显示 跳转已经实现,也就是说他判断的类型属于第二种:判断错误跳转到显示错误的代码段正确的不跳转继续往下走(下面对为显示正确代码段)。按空格,把使用Nop 填充的选项 勾上,要把 je short crackme.00402056 改成 Nop ,确定 再按 F9 ,直接跳到成功!)。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|1401软件安全 ( ICP备16034480号 )

    GMT+8, 2024-5-6 17:51 , Processed in 3.416020 second(s), 26 queries , Gzip On.

    Powered by Discuz! X3.5

    Copyright © 2001-2020, Tencent Cloud.

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