吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8754|回复: 23
收起左侧

[原创] 菜鸟分析里偌仓库管理软件算法

[复制链接]
yutao531315 发表于 2014-1-15 04:29
大家好,我是小爱逆天,每天天天习惯性打开论坛登录吾爱账号,已经成为了我的一个习惯,每天打开别人的帖子,在别人的帖子里面与跟帖里面学到比较多的东西,呵呵 我菜鸟就是一个菜鸟,每次偷偷在别人帖子里面看到的比如说什么断点啊,就悄悄用记事本保存起来,自己下次遇见了好用,哈哈! 下面进入正题,用的软件是 <里诺仓库管理软件(单机版) 3.96>这个软件相信大家所熟悉遇见的爆破版偏多,今天我就是要带领大家,把这个软件算法一步步写出来,并且用编程软件写出注册机,相互学习,才能进步,感谢吾爱给我们菜鸟一个这样的平台 !打开软件界面, 机器码 : WD-WCAV2W004030  输入假码 0123456789 重启验证不解释,大家都懂 ,直接进入关键点 开始了


006D7B23   .  E8 F05FD7FF   call Depot.0044DB18                      ;  取假码CALL
006D7B28   .  8B55 C4       mov edx,dword ptr ss:[ebp-0x3C]          ;  将假码放入EDX
006D7B2B   .  A1 3C3F7000   mov eax,dword ptr ds:[0x703F3C]
006D7B30   .  8B00          mov eax,dword ptr ds:[eax]
006D7B32   .  05 80060000   add eax,0x680
006D7B37   .  E8 38CFD2FF   call Depot.00404A74
006D7B3C   .  33C0          xor eax,eax // 程序暂停在 006D7B30 这个位置
////////////*********************************************************↓↓以下是堆栈窗口信息
0012F930   0012F98C
0012F934   0012F994  指向下一个 SEH 记录的指针
0012F938   006D7CC7  SE处理程序
0012F93C   0012F98C
0012F940   006D68AC  Depot.006D68AC
0012F944   00FE1804
0012F948   0044B2C4  Depot.0044B2C4
0012F94C   00000000
0012F950   0103B8C0  ASCII "0123456789"///堆栈窗口
0012F954   00000000
0012F958   02F52064  ASCII "     WD-WCAV2W004030"
0012F95C   01050B80  ASCII "WD-WCAV2W004030"
0012F960   006D7D6C  ASCII "Software\zy\Depot"//注册表信息保存着机器码,跟假码的位置
////////////////////*****************************************************↑以上是堆栈窗口信息
以上都是废话直接单步跟踪!!!


006D7BC0   .  8D4D C0       lea ecx,dword ptr ss:[ebp-0x40]
006D7BC3   .  A1 3C3F7000   mov eax,dword ptr ds:[0x703F3C]
006D7BC8   .  8B00          mov eax,dword ptr ds:[eax]
006D7BCA   .  8B90 7C060000 mov edx,dword ptr ds:[eax+0x67C]
006D7BD0   .  A1 143C7000   mov eax,dword ptr ds:[0x703C14]
006D7BD5   .  8B00          mov eax,dword ptr ds:[eax]
006D7BD7   .  E8 10E3FFFF   call Depot.006D5EEC                      ;  软件算法CALL
006D7BDC   .  8B55 C0       mov edx,dword ptr ss:[ebp-0x40]
006D7BDF   .  A1 3C3F7000   mov eax,dword ptr ds:[0x703F3C]
下面直接进入到算法CALL F7进入啦

//////////////////////////////////////////////////////********************这段代码是将机器码全部转换为十六进制码,连接起来,呵呵我的理解就是这样了



006D5F31  |. /7E 26         jle XDepot.006D5F59
006D5F33  |. |BB 01000000   mov ebx,0x1                              ;  将机器码的逐个讲字母转换成十六进制代码i
006D5F38  |> |8D4D EC       /lea ecx,[local.5]
006D5F3B  |. |8B45 FC       |mov eax,[local.1]                       ;  讲机器码送入EAX
006D5F3E  |. |0FB64418 FF   |movzx eax,byte ptr ds:[eax+ebx-0x1]
006D5F43  |. |33D2          |xor edx,edx
006D5F45  |. |E8 4240D3FF   |call Depot.00409F8C
006D5F4A  |. |8B55 EC       |mov edx,[local.5]
006D5F4D  |. |8D45 F8       |lea eax,[local.2]
006D5F50  |. |E8 A3EDD2FF   |call Depot.00404CF8
006D5F55  |. |43            |inc ebx                                 ;  计数器+2
006D5F56  |. |4E            |dec esi
006D5F57  |.^|75 DF         \jnz XDepot.006D5F38                     ;  整体就是将机器码转换为十六进制码
一大串机器码转换为 十六进制代码 57442D574341563257303034303330  ///我对于这个不是很理解,应该怎么叫 就是把机器码一个个HEX 转换为16进制链接起来得到
57442D574341563257303034303330
eax=00000002
跳转来自 006D5F31

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////*********************************

继续跟进.............................................................................................................
006D5F5C  |.  E8 8FEDD2FF   call Depot.00404CF0
006D5F61  |.  8BF0          mov esi,eax                              ;  取出一大串16进制 后面的一个字节数据30 保存在EDX
006D5F63  |.  85F6          test esi,esi

006D5FA1  |.  8B45 F4       mov eax,[local.3]
006D5FA4  |.  E8 A7EFD2FF   call Depot.00404F50//这里将前面机器码转换的字符串位置倒过来就是 其实在前面算法里面就是 033303430303752365143475D24475
006D5FA9  |.  8D45 F41       lea eax,[local.3]

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
006D5FB2  |.  BA 05000000   mov edx,0x5
006D5FB7  |.  8B45 F4       mov eax,[local.3]
006D5FBA  |.  E8 91EFD2FF   call Depot.00404F50                      ;  其实这里执行了可以通过堆栈窗口看出 是取出倒过来的 0333 0343
006D5FBF  |.  8B45 F8       mov eax,[local.2]
006D5FC2  |.  E8 29EDD2FF   call Depot.00404CF0


///////////////////////////这里堆栈窗口****************************************************************
0012F918   02F52088  ASCII "30"
0012F91C   00000000
0012F920   02F52110  ASCII "0343"
0012F924   01047808  ASCII "0333"
0012F928   01050B80  ASCII "WD-WCAV2W004030"
0012F92C  /0012F98C
//////////////////*/////////这是堆栈窗口*****************************************************************


继续向前进  
006D6037  |> \8D45 F0       lea eax,[local.4]
006D603A  |.  BA C4606D00   mov edx,Depot.006D60C4                   ;  DEPw245d54k
006D603F  |.  E8 74EAD2FF   call Depot.00404AB8                      ;  装入一个固定字符串字符串
006D6044  |.  8D45 DC       lea eax,[local.9]
006D6047  |.  50            push eax
006D6048  |.  B9 04000000   mov ecx,0x4
006D604D  |.  BA 01000000   mov edx,0x1
006D6052  |.  8B45 F0       mov eax,[local.4]


/////////////////////////以上就是将一个 固定字符串 DEPw245d54k 装入内存中,说白就是一个固定字符串
/////////////////////////前进,前进!!!!!!!!!!!!!!!!!!!!!!!!

006D606E  |.  BA 05000000   mov edx,0x5
006D6073  |.  8B45 F0       mov eax,[local.4]                        ;  讲固定字符串  DEPw245d54k 放入EAX
006D6076  |.  E8 D5EED2FF   call Depot.00404F50
006D607B  |.  FF75 D8       push [local.10]                          ;  取出前面4位DEPW
006D607E  |.  68 D8606D00   push Depot.006D60D8                      ;  -
006D6083  |.  FF75 F4       push [local.3]
006D6086  |.  8BC7          mov eax,edi
006D6088  |.  BA 06000000   mov edx,0x6
/////将固定字符串 DEPw245d54k 前面4位 DEPW取出来 放入EAX
/////////////////////////////////////////////////////////////////////////////////**********************
不是关键位置一路飞过了


006D7BD5   .  8B00          mov eax,dword ptr ds:[eax]
006D7BD7   .  E8 10E3FFFF   call Depot.006D5EEC                      ;  软件算法CALL
006D7BDC   .  8B55 C0       mov edx,dword ptr ss:[ebp-0x40]
006D7BDF   .  A1 3C3F7000   mov eax,dword ptr ds:[0x703F3C]
006D7BE4   .  8B00          mov eax,dword ptr ds:[eax]
006D7BE6   .  8B80 80060000 mov eax,dword ptr ds:[eax+0x680]
006D7BEC   .  E8 4BD2D2FF   call Depot.00404E3C                      ;  假码进行比较 进入call 去看看啦
006D7BF1   .  75 7D         jnz XDepot.006D7C70
一路运行到这里,观看寄存器

EAX 0103B8C0 ASCII "0123456789"
EDX 02F5214C ASCII "DEPw-0333245d5-0343"

EAX = 假码  那EDX 我们暂且 不知道他是什么继续,单步
//////////////////运行....................
运行到这个位置 这里有个cmp 比较指令

00404E43      39D0          cmp eax,edx                              ;  注册码进行明码比较 其实根据调试得知,这个比较指令
00404E45      0F84 8F000000 je Depot.00404EDA/////这个比较修改jpm 就跳过注册,
00404E4B      85F6          test esi,esi
00404E4D      74 68         je XDepot.00404EB7
00404E4F      85FF          test edi,edi
00404E51  |.  74 6B         je XDepot.00404EBE

其实这里分析就不难得出保存在寄存器 EAX 跟EDX进行比较,就可以成功进入,那就说明EDX是保存的注册码,大家要是仔细看过我的前面分析,就不难得出
这个 DEPw-0333245d5-0343  在程序里面是怎么得出的吧。
下面进行总结
DEPW 是根据字符串  DEPw245d54k前面4位得出
0333 是根据前面机器码转换为16进制倒置过来的 前面4位
2455d5 就是固定字符串的DEPw245d54k  5为到10位得出
0343 跟0333是一样的 机器码倒置提取 2到4字节的的数据得出
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

有了以上资料,我们是不是就可以开始写注册机了呢,哈哈,我呢,比较熟悉按键精灵 就用按键精灵来完成这一系列步骤吧,写出属于我们的第一个注册机



注册机见文件下载------------------------------------------------------




   作者总结,--------分析这个算法纯属运气,各位大虾不要见笑哈
运行在于以下几点
1 我在跟踪程序的时候,注意到每一个字符串的组成,寄存器 窗口,堆栈窗口,注释窗口 数据窗口都得注意啊 可真的是眼观四方 耳听八方 ,嘻嘻嘻
2 确实我在汇编方面下的功夫,我个人觉得还是比较大,因为我刚开始学习汇编的时候,别人吃饭的时候,我就会尽快到我工作的地方,拿起本子,拿起笔把
晚上看的代码,完完全全写出来,回家了开电脑 首先是研究汇编, 什么mov 啊 CALL 啊 pop push 这些基本都是啃了一遍又一遍,
3 有时候我们在爆破软件的时候,一定不要只顾着爆破软件,也要想想分析算法出来,看见注册码,跟我分析出来那些字符串那么的相似,肯定要想想他们怎么组成的 。
是不是注册码
4 努力学习,是我的宗旨,所谓活到老学到老,虽然我还年纪不是很大 1993年出生,时间一晃已经20了尼玛耶,感叹时间过得太快
5 呵呵 话说回来这个算法确实挺简单,不是很难,我为什么说他不是很难呢 ,因为连我都分析出来了,绝对难不到哪里去对吧
6 感谢吾爱,感谢按键精灵,感谢所有曾经给予我无私帮助的人,无数热心网友,
7 哎呀时间一看 04:03:55 已经4点钟了,还在这里花几个小时写一个帖子,大家看到帖子了,一定要顶一顶啊  加上学汇编的时间不计其数了 哎....还得努力学习
8 因为按键精灵编写,有点鸡勒 你们输入机器码的时候 一定要点击启动 或者F9启动后,在点击算码,这样算出来的才是正确的!!谢谢大家









输入软件假码.jpg

算法源码.txt

858 Bytes, 下载次数: 29, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 3热心值 +3 收起 理由
Syer + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
kingone + 1 我很赞同!
bnb + 1 我很赞同!

查看全部评分

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

 楼主| yutao531315 发表于 2014-1-15 04:30
占第一楼 软件 和注册机见  http://url.cn/Txhbsb
bnb 发表于 2014-1-15 04:35
8249195 发表于 2014-1-15 08:44
烂漫一风 发表于 2014-1-15 09:07
3.96版本。比较低呀。
ingdear 发表于 2014-1-15 09:11
楼主很勤奋啊,三四点还在搞这个,支持。
htcp8822646 发表于 2014-1-15 09:47
学习学习了
头像被屏蔽
Ylca 发表于 2014-1-15 09:54
提示: 作者被禁止或删除 内容自动屏蔽
WeissSchnee 发表于 2014-1-15 10:19
这东西太高端拉
刘星星 发表于 2014-1-15 10:22
学习学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-4-28 04:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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