首页
社区
课程
招聘
[旧帖] [原创]简单破价格:¥118.00的数据库字典生成器 0.00雪花
发表于: 2009-6-22 06:10 5044

[旧帖] [原创]简单破价格:¥118.00的数据库字典生成器 0.00雪花

2009-6-22 06:10
5044
【破文标题】破商城价:¥118.00的数据库字典生成器
【破文作者】未注册!
【作者邮箱】xiao_niao8@163.com
【作者主页】
【破解工具】OD
【破解平台】XP
【软件名称】数据库字典生成器
【软件大小】1966KB
【原版下载】http://www.31buy.com/Soft/Soft_13458.htm
【保护方式】ASPR壳,一机一码。用户名+注册码
【软件简介】一款操作简单,界面简洁,能帮助您生成非常漂亮的数据库字典文

档的优秀软件。
1.0版本目前适用于MS SQLServer产品

商城价:¥118.00
【破解声明】通宵无聊,找来学习,算法就不分析了,自己还不行,努力中,加油!此软件加了ASPR壳,我就不脱壳破解他!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
【破解过程】思路:

用F12暂定法,找到关键!下硬件执行断点! 闲话少说:工作,拿OD载入安装好的软件,查壳,发现ASPR壳,感觉脱壳麻烦,
我就不脱。没什么技术,大侠见笑了·

程序入口停在:
0044E000 >  55              push ebp
0044E001    E8 01000000     call DBDictBu.0044E007
0044E006  - 72 83           jb short DBDictBu.0044DF8B
0044E008    C4040B          les eax,fword ptr ds:[ebx+ecx]
0044E00B  - EB EB           jmp short DBDictBu.0044DFF8
0044E00D    017C7A 03       add dword ptr ds:[edx+edi*2+3],edi
0044E011    C1E5 78         shl ebp,78
0044E014    EB 01           jmp short DBDictBu.0044E017
0044E016    9A 0F8A0400 000>call far 0000:00048A0F
0044E01D    66:C1C5 A4      rol bp,0A4
0044E021    E8 01000000     call DBDictBu.0044E027
0044E026  - 77 83           ja short DBDictBu.0044DFAB
0044E028    04 24           add al,24
0044E02A    06              push es
0044E02B    C3              retn
0044E02C    7B 01           jpo short DBDictBu.0044E02F
0044E02E    F8              clc
0044E02F    E8 01000000     call DBDictBu.0044E035
0044E034  - 76 83           jbe short DBDictBu.0044DFB9
0044E036    04 24           add al,24
0044E038    06              push es
0044E039    C3              retn
0044E03A    C1E8 EA         shr eax,0EA
0044E03D    BF 20E14400     mov edi,DBDictBu.0044E120
0044E042    E8 01000000     call DBDictBu.0044E048
0044E047  - 71 83           jno short DBDictBu.0044DFCC
0044E049    04 24           add al,24
0044E04B    06              push es
0044E04C    C3              retn

直接运行!输入假码:yaoxiang 123456789! 提示注册码错识,F12暂停,最调用堆栈!直接来到关键位置:

00438E95    FF15 AC104000   call dword ptr ds:[4010AC]                    ; MSVBVM60.rtcMsgBox://不说就知道提示出错的地方,并且发现其为VB编的程序!
00438E9B    8D45 A0         lea eax,dword ptr ss:[ebp-60]
00438E9E    50              push eax
00438E9F    8D4D B0         lea ecx,dword ptr ss:[ebp-50]
00438EA2    51              push ecx
00438EA3    8D55 C0         lea edx,dword ptr ss:[ebp-40]
00438EA6    52              push edx
00438EA7    8D45 D0         lea eax,dword ptr ss:[ebp-30]
00438EAA    50              push eax
00438EAB    6A 04           push 4
00438EAD    FFD7            call edi
00438EAF    8B0E            mov ecx,dword ptr ds:[esi]
00438EB1    83C4 14         add esp,14
00438EB4    56              push esi
00438EB5    FF91 0C030000   call dword ptr ds:[ecx+30C]
00438EBB    50              push eax
00438EBC    8D55 E0         lea edx,dword ptr ss:[ebp-20]
00438EBF    52              push edx
00438EC0    FF15 A8104000   call dword ptr ds:[4010A8]                     ; MSVBVM60.__vbaObjSet

往上拉看看!·:到这里,

00438E2C    E8 CF290000     call DBDictBu.0043B800                 关键CALL算法
00438E31    66:833D 2670440>cmp word ptr ds:[447026],0FFFF
00438E39    0F84 AC000000   je DBDictBu.00438EEB                   改JMP跳就注册成功!
00438E3F    B9 04000280     mov ecx,80020004
00438E44    B8 0A000000     mov eax,0A
00438E49    894D A8         mov dword ptr ss:[ebp-58],ecx
00438E4C    894D B8         mov dword ptr ss:[ebp-48],ecx
00438E4F    895D 80         mov dword ptr ss:[ebp-80],ebx
00438E52    8B1D 0C124000   mov ebx,dword ptr ds:[40120C]               ; MSVBVM60.__vbaVarDup
00438E58    8D55 80         lea edx,dword ptr ss:[ebp-80]
00438E5B    8D4D C0         lea ecx,dword ptr ss:[ebp-40]
00438E5E    8945 A0         mov dword ptr ss:[ebp-60],eax
00438E61    8945 B0         mov dword ptr ss:[ebp-50],eax
00438E64    C745 88 2073400>mov dword ptr ss:[ebp-78],DBDictBu.00407320
00438E6B    FFD3            call ebx
00438E6D    8D55 90         lea edx,dword ptr ss:[ebp-70]
00438E70    8D4D D0         lea ecx,dword ptr ss:[ebp-30]
00438E73    C745 98 5473400>mov dword ptr ss:[ebp-68],DBDictBu.00407354
00438E7A    C745 90 0800000>mov dword ptr ss:[ebp-70],8
00438E81    FFD3            call ebx
00438E83    8D55 A0         lea edx,dword ptr ss:[ebp-60]
00438E86    52              push edx
00438E87    8D45 B0         lea eax,dword ptr ss:[ebp-50]
00438E8A    50              push eax
00438E8B    8D4D C0         lea ecx,dword ptr ss:[ebp-40]
00438E8E    51              push ecx
00438E8F    6A 30           push 30
00438E91    8D55 D0         lea edx,dword ptr ss:[ebp-30]
00438E94    52              push edx
00438E95    FF15 AC104000   call dword ptr ds:[4010AC]                    ; MSVBVM60.rtcMsgBox

跟进算法CALL进行算法运算,其为明码比较!
00438E2C    E8 CF290000     call DBDictBu.0043B800   此处下硬件执行断点后!F7跟进
0043B837    A1 28704400     mov eax,dword ptr ds:[447028]
0043B83C    50              push eax                                     ; 假码进放进EAX
0043B83D    E8 CEE7FFFF     call DBDictBu.0043A010
0043B842    8B35 2C124000   mov esi,dword ptr ds:[40122C]                 ; MSVBVM60.__vbaStrMove
0043B848    8BD0            mov edx,eax
0043B84A    8D4D EC         lea ecx,dword ptr ss:[ebp-14]
0043B84D    FFD6            call esi
0043B84F    8B0D 2C704400   mov ecx,dword ptr ds:[44702C]
0043B855    50              push eax
0043B856    51              push ecx
0043B857    E8 C4010000     call DBDictBu.0043BA20
0043B85C    50              push eax
0043B85D    FF15 14104000   call dword ptr ds:[401014]                      ; MSVBVM60.__vbaStrI4
0043B863    8BD0            mov edx,eax
0043B865    8D4D E8         lea ecx,dword ptr ss:[ebp-18]
0043B868    FFD6            call esi
0043B86A    50              push eax
0043B86B    FF15 68104000   call dword ptr ds:[401068]                    ; MSVBVM60.__vbaStrCat
0043B871    8BD0            mov edx,eax
0043B873    8D4D E4         lea ecx,dword ptr ss:[ebp-1C]                    一看就知道是连接函数
0043B876    FFD6            call esi
0043B878    50              push eax
0043B879    E8 62F2FFFF     call DBDictBu.0043AAE0
0043B87E    8BD0            mov edx,eax                             这里出现了真正的注册码了。很简单啦
  
0043B880    8D4D E0         lea ecx,dword ptr ss:[ebp-20]
0043B883    FFD6            call esi
0043B885    50              push eax
0043B886    FF15 FC104000   call dword ptr ds:[4010FC]                    ; MSVBVM60.__vbaStrCmp
0043B88C    8BF0            mov esi,eax                                                 比较函数
0043B88E    8D55 E0         lea edx,dword ptr ss:[ebp-20]
0043B891    52              push edx
0043B892    8D45 E4         lea eax,dword ptr ss:[ebp-1C]
0043B895    50              push eax
0043B896    F7DE            neg esi
0043B898    8D4D E8         lea ecx,dword ptr ss:[ebp-18]
0043B89B    51              push ecx
0043B89C    1BF6            sbb esi,esi
0043B89E    8D55 EC         lea edx,dword ptr ss:[ebp-14]
0043B8A1    52              push edx
0043B8A2    46              inc esi
0043B8A3    6A 04           push 4
0043B8A5    F7DE            neg esi
0043B8A7    FF15 E0114000   call dword ptr ds:[4011E0]                    ; MSVBVM60.__vbaFreeStrList
0043B8AD    83C4 14         add esp,14                                            得到长字符串
0043B8B0    66:F7DE         neg si
0043B8B3    68 E0B84300     push DBDictBu.0043B8E0
0043B8B8    1BF6            sbb esi,esi
0043B8BA    66:8935 2670440>mov word ptr ds:[447026],si
0043B8C1    EB 1C           jmp short DBDictBu.0043B8DF
0043B8C3    8D45 E0         lea eax,dword ptr ss:[ebp-20]
0043B8C6    50              push eax
0043B8C7    8D4D E4         lea ecx,dword ptr ss:[ebp-1C]
0043B8CA    51              push ecx
0043B8CB    8D55 E8         lea edx,dword ptr ss:[ebp-18]
0043B8CE    52              push edx
0043B8CF    8D45 EC         lea eax,dword ptr ss:[ebp-14]
0043B8D2    50              push eax
0043B8D3    6A 04           push 4
0043B8D5    FF15 E0114000   call dword ptr ds:[4011E0]                   ; MSVBVM60.__vbaFreeStrList
0043B8DB    83C4 14         add esp,14
0043B8DE    C3              retn
0043B8DF    C3              retn
0043B8E0    8B4D F0         mov ecx,dword ptr ss:[ebp-10]

软件注册成功后会在注册码生成一个值,并没有加密!像我这个注册码及用户名



[HKEY_LOCAL_MACHINE\SOFTWARE\K Works.\DatabaseDictBuilder]
"SecurityID"="0B688-55E43-264X3-CDF6X-776C2"
"UserName"="yaoxiang"
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--
【破解总结】
关键在于大家不脱壳的时候,记得下硬件执行断点!算法部分,我在努力中!希

望以后能搞点高级篇出来!大家有兴趣自己搞个内存注册机!
--------------------------------------------------------------------------------------------------------------------------------------------

【版权声明】: 本文原创首发一蓑烟雨论坛,及看雪! 转载请注明作者并保持文章的完整, 谢谢!

                                                       2009年06月22日 06:08:43

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 103
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
第一次写破文!写得不太好!!大家将就着看吧,
2009-6-22 06:26
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
牛呵呵  还是个女生??
2009-6-22 10:07
0
雪    币: 238
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
原来是美女.
2009-6-22 11:27
0
雪    币: 257
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
yaoxiang=姚香?
2009-6-22 12:16
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不错,说得挺明白的
2009-6-22 12:44
0
雪    币: 118
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主小心被抓进***
2009-6-22 14:41
0
雪    币: 306
活跃值: (153)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
写的不错,  分析的也好
2009-6-22 15:40
0
雪    币: 1270
活跃值: (3230)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
下断_vbaStrCmp 直接跟到注册码
2009-6-24 09:22
0
游客
登录 | 注册 方可回帖
返回
//