首页
社区
课程
招聘
[原创]水晶报表 9 破解
发表于: 2012-4-7 23:55 4652

[原创]水晶报表 9 破解

2012-4-7 23:55
4652
没有什么技术含量,高手飘过
最近想玩玩数据库,听徐哥说有这么个玩意,就下了个整整,还以为有注册码,因为别人给了个SN,AV860-01CS00G-U7000NC
一路安装到最后发现还是要输入注册码,NND。决定看看能不能追出码来
开工,
首先这个程序的注册程序是独立于主功能程序的,这也是观察后得到的结果,很多办法可以找到注册程序,此处略过这个过程
OK,找到注册程序,PEID侦测,运气不错没壳!VC 6++
OD 载入,CTRL+N一看就知道不是MFC程序
F9一运行,一个对话框弹出,不好的感觉来了,估计没那么简单,如此提示

似乎不是有ANTI功能,只是不能独立于主程序而运行,看来得逆向下了

一路追踪到这

004114D9   |.  50             push eax
004114DA   |.  8D8D 24FFFFFF  lea ecx,dword ptr ss:[ebp-DC]
004114E0   |.  E8 EB40FFFF    call regwiz.004055D0
004114E5   |.  50             push eax                              ; |Text
004114E6   |.  6A 00          push 0                                ; |hOwner = NULL
004114E8   |.  FF15 BCF44300  call dword ptr ds:[<&USER32.MessageBo>; \MessageBoxA
004114EE   |.  C785 68F1FFFF >mov dword ptr ss:[ebp-E98],0
004114F8   |.  C645 FC 00     mov byte ptr ss:[ebp-4],0

这里是跳出对话框的地方

往上找个跳转,看能跳过不

二话不说,直接改这

00411483   |.  85C0           test eax,eax
00411485       0F85 99000000  jnz regwiz.00411524
0041148B   |>  8D8D 28FFFFFF  lea ecx,dword ptr ss:[ebp-D8]

jnz改成je

保存

点击运行程序,悲剧再次出现,还没完没了了

算是对了一半,可以运行了,只是找不到啥子key,还得继续改啊

有找到个MessAgeBox

004118AF   |.  50             push eax                              ; |Text
004118B0   |.  6A 00          push 0                                ; |hOwner = NULL
004118B2   |.  FF15 BCF44300  call dword ptr ds:[<&USER32.MessageBo>; \MessageBoxA
004118B8   |.  C785 48F1FFFF >mov dword ptr ss:[ebp-EB8],0

同上还是不让来这,改这

00411855   |. /0F85 9F000000  jnz regwiz22.004118FA
0041185B   |. |8D8D 20FFFFFF  lea ecx,dword ptr ss:[ebp-E0]

同上,在保存,运行

终于可以正常运行了!

偶是菜鸟,点击完成的时候会有对话框弹出,第一想法就是对话框函数下段

断是断下来了,可是似乎这个对话框弹出是在消息过程中,往上走很容易迷路

也不知道为啥,下GetWindowTextA函数断不了,搞不明白

翻了下输入表,找到个函数

USER32.GetWindowTextLengthA

一看就知道啥意思

断之,千心万苦到这关键代码处

004166A2   /$  55             push ebp                              ;  关键代码处
004166A3   |.  8BEC           mov ebp,esp
004166A5   |.  83EC 24        sub esp,24
004166A8   |.  894D DC        mov dword ptr ss:[ebp-24],ecx
004166AB   |.  8B45 08        mov eax,dword ptr ss:[ebp+8]
004166AE   |.  50             push eax                              ; /String
004166AF   |.  FF15 C4F24300  call dword ptr ds:[<&KERNEL32.lstrlen>; \lstrlenA
004166B5   |.  83F8 0A        cmp eax,0A                            ;  比较输入码位数
004166B8   |.  74 07          je short regwizi.004166C1             ;  不等10位则直接跳走
004166BA   |.  33C0           xor eax,eax
004166BC   |.  E9 AA000000    jmp regwizi.0041676B
004166C1   |>  8B4D 08        mov ecx,dword ptr ss:[ebp+8]
004166C4   |.  8A11           mov dl,byte ptr ds:[ecx]
004166C6   |.  8855 F8        mov byte ptr ss:[ebp-8],dl
004166C9   |.  8B45 08        mov eax,dword ptr ss:[ebp+8]
004166CC   |.  8A48 07        mov cl,byte ptr ds:[eax+7]
004166CF   |.  884D F9        mov byte ptr ss:[ebp-7],cl
004166D2   |.  8B55 08        mov edx,dword ptr ss:[ebp+8]
004166D5   |.  8A42 08        mov al,byte ptr ds:[edx+8]
004166D8   |.  8845 FA        mov byte ptr ss:[ebp-6],al
004166DB   |.  8B4D 08        mov ecx,dword ptr ss:[ebp+8]
004166DE   |.  8A51 01        mov dl,byte ptr ds:[ecx+1]
004166E1   |.  8855 FB        mov byte ptr ss:[ebp-5],dl
004166E4   |.  8B45 08        mov eax,dword ptr ss:[ebp+8]
004166E7   |.  8A48 06        mov cl,byte ptr ds:[eax+6]
004166EA   |.  884D FC        mov byte ptr ss:[ebp-4],cl
004166ED   |.  8B55 08        mov edx,dword ptr ss:[ebp+8]
004166F0   |.  8A42 02        mov al,byte ptr ds:[edx+2]
004166F3   |.  8845 FD        mov byte ptr ss:[ebp-3],al
004166F6   |.  8B4D 08        mov ecx,dword ptr ss:[ebp+8]
004166F9   |.  8A51 05        mov dl,byte ptr ds:[ecx+5]
004166FC   |.  8855 FE        mov byte ptr ss:[ebp-2],dl
004166FF   |.  C645 FF 00     mov byte ptr ss:[ebp-1],0
00416703   |.  6A 07          push 7
00416705   |.  8D45 F8        lea eax,dword ptr ss:[ebp-8]
00416708   |.  50             push eax
00416709   |.  8B4D DC        mov ecx,dword ptr ss:[ebp-24]
0041670C   |.  E8 1AFFFFFF    call regwizi.0041662B
00416711   |.  25 FFFF0000    and eax,0FFFF
00416716   |.  8945 E8        mov dword ptr ss:[ebp-18],eax
00416719   |.  8B45 E8        mov eax,dword ptr ss:[ebp-18]
0041671C   |.  33D2           xor edx,edx
0041671E   |.  B9 E8030000    mov ecx,3E8
00416723   |.  F7F1           div ecx
00416725   |.  52             push edx                              ; /<%03d>
00416726   |.  68 28E44400    push regwizi.0044E428                 ; |Format = "%03d"
0041672B   |.  8D55 E0        lea edx,dword ptr ss:[ebp-20]         ; |
0041672E   |.  52             push edx                              ; |s
0041672F   |.  FF15 08F54300  call dword ptr ds:[<&USER32.wsprintfA>; \wsprintfA
00416735   |.  83C4 0C        add esp,0C
00416738   |.  8B45 08        mov eax,dword ptr ss:[ebp+8]
0041673B   |.  50             push eax                              ; /String2
0041673C   |.  8D4D EC        lea ecx,dword ptr ss:[ebp-14]         ; |
0041673F   |.  51             push ecx                              ; |String1
00416740   |.  FF15 10F24300  call dword ptr ds:[<&KERNEL32.lstrcpy>; \lstrcpyA
00416746   |.  8A55 E0        mov dl,byte ptr ss:[ebp-20]
00416749   |.  8855 EF        mov byte ptr ss:[ebp-11],dl
0041674C   |.  8A45 E1        mov al,byte ptr ss:[ebp-1F]
0041674F   |.  8845 F5        mov byte ptr ss:[ebp-B],al
00416752   |.  8A4D E2        mov cl,byte ptr ss:[ebp-1E]
00416755   |.  884D F0        mov byte ptr ss:[ebp-10],cl
00416758   |.  8D55 EC        lea edx,dword ptr ss:[ebp-14]
0041675B   |.  52             push edx                              ; /String2
0041675C   |.  8B45 08        mov eax,dword ptr ss:[ebp+8]          ; |
0041675F   |.  50             push eax                              ; |String1
00416760   |.  FF15 CCF24300  call dword ptr ds:[<&KERNEL32.lstrcmp>; \lstrcmpA字符串比较
00416766   |.  F7D8           neg eax
00416768   |.  1BC0           sbb eax,eax
0041676A   |.  40             inc eax
0041676B   |>  8BE5           mov esp,ebp
0041676D   |.  5D             pop ebp
0041676E   \.  C2 0400        retn 4

到这就很简单了,明码比较,写算法功力不够

也懒得写了,OK

后来百度下,网上已经有注册码了,看来是白忙活了一场,哈哈,但那都是后话咯

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//