-
-
[原创]水晶报表 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
后来百度下,网上已经有注册码了,看来是白忙活了一场,哈哈,但那都是后话咯
最近想玩玩数据库,听徐哥说有这么个玩意,就下了个整整,还以为有注册码,因为别人给了个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期)
赞赏
他的文章
- [原创]水晶报表 9 破解 4653
- [原创]DIY VC++ SPY工具,让它能多个同时运行 6110
- [原创]教大家去除迅雷看看广告(XP下有效果,WIN 7没测试过) 11577
- [推荐]送大家一个邀请码速拿 2567
- 发个能识别ZP版本的PEID插件(高版本估计识别不了) 2769
谁下载
kanxue
FishSeeWater
shiyuuna
骨灰C
yyjpcx
ytok
萝卜
siryuan
okpj
superdos
subme1
zxc
pendan2001
vcboy
鹰飞
无聊的菜鸟
rooky2000
freewold
lhglhg
scxlhg
whip
moodykeke
mhtjsgxpfs
kxoe
niufq
wxq
ttstation
yzslly
lwykj
dngs
XiaosanAiq
vbuser
vencentttt
chenfeng
hongbin
vinston
logkiller
chadd
zhongzijie
rhinoceros
chstw
chow
hnzxfboy
dsk丁
xuehuge
slflkj
hwfdvd
helpmsg
nence
daienming
hongzong
潜水的鱼
loqich
wycdir
littlewisp
yycnet
cmdxhz
flamer
三秋叶
shangde
lylxd
caiwd
whwsyy
眼镜蛇
魔兽派
gongxy
wztuxw
astrisk
zhoudongzh
chzhn
leeone
dreamzgj
chinacoold
lijianhyan
狂起来
ejoywx
残梦飘雪
heiketian
hudouhudou
sethsam
达文西
zhouhuaiyi
fbbttfbb
goddkiller
STL
ufofind
atompure
ddsoft
bycon
张相公
xplsy
redrainyu
hehaohw
bluechong
tokiii
drap
iloveqqp
西风X
nevinslee
谁下载
kanxue
FishSeeWater
shiyuuna
骨灰C
yyjpcx
ytok
萝卜
siryuan
okpj
superdos
subme1
zxc
pendan2001
vcboy
鹰飞
无聊的菜鸟
rooky2000
freewold
lhglhg
scxlhg
whip
moodykeke
mhtjsgxpfs
kxoe
niufq
wxq
ttstation
yzslly
lwykj
dngs
XiaosanAiq
vbuser
vencentttt
chenfeng
hongbin
vinston
logkiller
chadd
zhongzijie
rhinoceros
chstw
chow
hnzxfboy
dsk丁
xuehuge
slflkj
hwfdvd
helpmsg
nence
daienming
hongzong
潜水的鱼
loqich
wycdir
littlewisp
yycnet
cmdxhz
flamer
三秋叶
shangde
lylxd
caiwd
whwsyy
眼镜蛇
魔兽派
gongxy
wztuxw
astrisk
zhoudongzh
chzhn
leeone
dreamzgj
chinacoold
lijianhyan
狂起来
ejoywx
残梦飘雪
heiketian
hudouhudou
sethsam
达文西
zhouhuaiyi
fbbttfbb
goddkiller
STL
ufofind
atompure
ddsoft
bycon
张相公
xplsy
redrainyu
hehaohw
bluechong
tokiii
drap
iloveqqp
西风X
nevinslee
看原图
赞赏
雪币:
留言: