吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7049|回复: 54
收起左侧

[原创] 记本菜鸟分析暴破一款小软件

[复制链接]
tingwei3 发表于 2020-3-7 09:35
本帖最后由 tingwei3 于 2020-3-7 09:42 编辑

前不久因工作需要找到一款软件(网上有3.xx破解版),觉得很好用,但是他报毒(可能是加壳关系吧),今天就试试来破解一下最新的4.25版。


声明:本人建筑民工一枚,纯属业余爱好,文章中已隐去敏感信息,如仍对作者有冒犯,请版主删贴。


开始了:


  1,软件是VB编写,无壳,运行弹注册界面,关注册界面可试用,有消息框提示功能受限。
                1.1.png 1.2.png
   2od载入运行,输入假码,弹“注册失败”消息框,我断网试试,是本地验证,暂停法试试。
   0044B235   .  FF15 9C104000 call dword ptr ds:[<&MSVBVM60.#595>]     ;  msvbvm60.rtcMsgBox
   0044B23B   .  8D4D E4       lea ecx,dword ptr ss:[ebp-0x1C]; 返回用户代码后停在这里

         2.1,向上找跳过这里的跳转,第一次找到下图这个。
                                  2.1.png
         2.2,再找一有没有跳转可以跳过注册失败

                                  2.2.1.png

           修改试试,显示注册成功。
                                  2.2.2.png 2.2.3.png

           测试功能受限,重启仍是未注册,重启验证!!!

           上图中je下面有个常量[0x46c028](这个位置什么时候赋值也值得跟踪)。

        2.3,此处我思维跳跃了一下,就重新加载了程序,未运行时在 [0x46c028]处下内存访问断点然后运行。
           第一次断在729495BC    F3:AB           rep stos dword ptr es:[edi]
           系统领空先忽略了

           第二次断在00443A5F   .  66:C705 28C04>mov word ptr ds:[0x46C028],0x0
           上面提到的je下一句是给常量[0x46c028]赋值为0xffff,这里赋值为0,稍后可以试试看。

           第三次断在00443A6F   .  0FBF0D 28C046>movsx ecx,word ptr ds:[0x46C028]
           这里用到了常量的值

           第四次断在00443CA1   .  0FBF15 28C046>movsx edx,word ptr ds:[0x46C028]
           这里用到了常量的值

           接下来软件就跑起来了,弹注册界面,我们再试注册一次成功的看看,这个常量是否有用。无意间发现了我的假码在[0x46c02C]!!!!!
                                  2.3.png
        2.4,试给[0x46c028]赋值有没有用。
           重新加载了程序,未运行时在 [0x46c028]处下内存访问断点然后运行。
           第二次断下后,单步执行一行,修改 [0x46c028]处为0xffffffff,试试看。
                                  2.4.png
           测试受限功能,还是受限,还发现这[0x46c028]处被修改为0xffff0000


   3,从受限功能来看谁修改了[0x46c028]处的值,按2.4方法修改好,测试受限功能。

         3.1还是用添加按钮测试,第二次增加字符时就弹消息框了,同样用暂停法试试。
                                  3.1.png
           这里找到跳转,edx值要为零才跳转,这里再向上看有没有什么可分析的代码。
           细看,edx值好像来自[ebp-0x110],而[ebp-0x110] 值好像来自0043eda7这句的cx值,cx值又和dx值有关,而dx值又曾经用[0x46c028]的值赋值。

         3.2因为用到[ebp-0x110],这里还要试试看,栈底在这么长一段代码执行过程中有没有变化,稳妥起见,我跑了一次试试看,
           测试后发现栈底确实没变(应该堆栈平衡了,学艺不精),自嘲一下。        3.3,剩下的不多啰嗦了。
           把第二次断下时的[0x46c028]赋值修改0xffff
           修改了4个修改[0x46c028]值的方法,有参数注意怎么返回。
                                               call 0044CA20
                                               call 0044CC70

                                               call 0044C920
                                               call 0044C7A0
           按上面修改后,经我简单测试,已不弹注册界面并去除功能限制。


  最后,这部分存属记事,可无视。

    关于那个堆栈的赋值(类似[ebp-0x110]经我分析其实就是cx的值为零,可按下图修改(有多处),未全测试,应该也可以去除功能限制
                                  4.1.png   

免费评分

参与人数 13吾爱币 +16 热心值 +13 收起 理由
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wasdzjh + 1 + 1 用心讨论,共获提升!
yanrui + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
pojiewoai + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
行道者 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
youngsay + 1 谢谢
生有涯知无涯 + 1 + 1 我很赞同!
wjooxx + 1 + 1 谢谢@Thanks!
星辰公子 + 1 + 1 看了一遍52的教程,回来看你的,豁然开朗!
hnjhoyt1 + 1 + 1 用心讨论,共获提升!
YFguest + 1 用心讨论,共获提升!
maruibo6217 + 1 用心讨论,共获提升!
jnez112358 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

高锰酸钾 发表于 2020-3-7 11:49
本帖最后由 高锰酸钾 于 2020-3-9 09:39 编辑

我试了一下,还是可以出注册码的。你可以尝试在输入的注册码上下硬件断点。
1860425994的正确注册码6398542775-871。你试试看对不对。我也想知道我的结算结果。

机器码1变6
机器码2变4
机器码3变0
机器码4变5
机器码5变2
机器码6变9
机器码7变1
机器码8变3
机器码9变7
机器码0变8
注册码1.png
115010q9hch72ml0zdyyzs.png

免费评分

参与人数 3吾爱币 +2 热心值 +3 收起 理由
F111 + 1 + 1 我很赞同!
huzpsb + 1 注册机可还行...
tingwei3 + 1 + 1 用心讨论,共获提升!

查看全部评分

Aleshaaaa 发表于 2020-3-7 09:52
William10120 发表于 2020-3-7 09:57
jnez112358 发表于 2020-3-7 09:57
来学习的,谢谢分享
bobowxc 发表于 2020-3-7 09:59
支持qb支付就离谱。。。
huohua1991 发表于 2020-3-7 10:00
路过学习
maruibo6217 发表于 2020-3-7 10:04
最近正在学习这方面的知识,谢谢楼主分享。
ycy0536 发表于 2020-3-7 10:05
谢谢分享,大中国就是强,人才培养刚刚的
ll996075dd 发表于 2020-3-7 10:17
你触碰到了我的知识盲区
cdt1995 发表于 2020-3-7 10:22
看看就好,不是很懂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 14:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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