-
-
[求助]软件已经被破解,但是被破解者加了一个根据机器码算注册码的限制,如何查找关键?
-
发表于: 2011-6-21 08:51 7616
-
软件已经被开发公司放弃,目前新软件已经开发出来了,所有的功能全放在服务器端了,破解已经没什么意义。
原来被放弃的软件已经被别破解了,破解人又加了一个填写注册码的限制。对这个限制,看看能不能看懂。
我是才学的菜菜鸟,很多问题不懂,特在此向大大们请教。
我是这么做的:
先运行软件,弹出如下图中①的窗口,需要根据机器码算出来一个注册码,填在方框中。
点击注册后,如注册码不正确,会出现图中②的错误窗口。
1、查找字符串,什么也没找到。
2、查找API 函数 GetDlgItemText 及 GetWindowText,没发现。如图
3、消息断点,按照CCDebuger大大的步骤,F9,查看→窗口,如图在“注册”上下了202 WM_LBUTTON_UP断点。
点“注册”后,来到了这里,下面是部分代码。这是不是关键啊?
77D3B036 > 8BFF mov edi, edi
77D3B038 55 push ebp
77D3B039 8BEC mov ebp, esp
77D3B03B 8B4D 08 mov ecx, dword ptr [ebp+8]
77D3B03E 56 push esi
77D3B03F E8 9CD4FDFF call 77D184E0
77D3B044 8BF0 mov esi, eax
77D3B046 85F6 test esi, esi
77D3B048 74 38 je short 77D3B082
77D3B04A 8B55 0C mov edx, dword ptr [ebp+C]
77D3B04D 3B15 E810D777 cmp edx, dword ptr [77D710E8]
77D3B053 77 45 ja short 77D3B09A
77D3B055 33C0 xor eax, eax
77D3B057 8BCA mov ecx, edx
77D3B059 83E1 07 and ecx, 7
77D3B05C 40 inc eax
77D3B05D D3E0 shl eax, cl
77D3B05F 57 push edi
77D3B060 8B3D EC10D777 mov edi, dword ptr [77D710EC]
77D3B066 8BCA mov ecx, edx
77D3B068 C1E9 03 shr ecx, 3
77D3B06B 8A0C39 mov cl, byte ptr [ecx+edi]
77D3B06E 84C1 test cl, al
77D3B070 5F pop edi
77D3B071 74 27 je short 77D3B09A
77D3B073 6A 01 push 1
77D3B075 FF75 14 push dword ptr [ebp+14]
77D3B078 FF75 10 push dword ptr [ebp+10]
77D3B07B 52 push edx
77D3B07C 56 push esi
77D3B07D E8 B6A1FEFF call 77D25238
77D3B082 5E pop esi
77D3B083 5D pop ebp
77D3B084 C2 1000 retn 10
77D3B087 83E8 07 sub eax, 7
77D3B08A 0F85 13040000 jnz 77D3B4A3
77D3B090 B8 00010000 mov eax, 100
77D3B095 ^ E9 68A2FEFF jmp 77D25302
77D3B09A 6A 01 push 1
77D3B09C FF75 14 push dword ptr [ebp+14]
77D3B09F FF75 10 push dword ptr [ebp+10]
77D3B0A2 52 push edx
77D3B0A3 56 push esi
77D3B0A4 E8 31ECFEFF call 77D29CDA
77D3B0A9 ^ EB D7 jmp short 77D3B082
77D3B0AB E8 03E1FEFF call 77D291B3
77D3B0B0 ^ E9 0E71FFFF jmp 77D321C3
77D3B0B5 33C0 xor eax, eax
77D3B0B7 ^ E9 0B71FFFF jmp 77D321C7
77D3B0BC 33C0 xor eax, eax
77D3B0BE ^ E9 BA4FFFFF jmp 77D3007D
77D3B0C3 6A 01 push 1
77D3B0C5 6A 01 push 1
77D3B0C7 68 F4000000 push 0F4
77D3B0CC FF75 10 push dword ptr [ebp+10]
77D3B0CF ^ E9 D39CFEFF jmp 77D24DA7
77D3B0D4 897D FC mov dword ptr [ebp-4], edi
77D3B0D7 ^ E9 D89AFEFF jmp 77D24BB4
77D3B0DC 33C0 xor eax, eax
77D3B0DE 40 inc eax
77D3B0DF ^ E9 839CFEFF jmp 77D24D67
77D3B0E4 83E9 69 sub ecx, 69
77D3B0E7 0F84 F3040000 je 77D3B5E0
77D3B0ED 49 dec ecx
77D3B0EE ^ 0F85 5DA2FEFF jnz 77D25351
77D3B0F4 3955 B0 cmp dword ptr [ebp-50], edx
77D3B0F7 ^ 0F82 43A2FEFF jb 77D25340
77D3B0FD 395D B0 cmp dword ptr [ebp-50], ebx
77D3B100 0F87 A2110000 ja 77D3C2A8
77D3B106 837D B8 00 cmp dword ptr [ebp-48], 0
77D3B10A 74 07 je short 77D3B113
77D3B10C C745 B8 0100000>mov dword ptr [ebp-48], 1
77D3B113 8B46 04 mov eax, dword ptr [esi+4]
77D3B116 8BC8 mov ecx, eax
77D3B118 23CB and ecx, ebx
77D3B11A 3B4D B8 cmp ecx, dword ptr [ebp-48]
77D3B11D ^ 0F84 1DA2FEFF je 77D25340
77D3B123 83E0 FC and eax, FFFFFFFC
77D3B126 0B45 B8 or eax, dword ptr [ebp-48]
77D3B129 57 push edi
77D3B12A 8946 04 mov dword ptr [esi+4], eax
77D3B12D E8 0C9EFEFF call 77D24F3E
77D3B132 85C0 test eax, eax
77D3B134 ^ 0F84 06A2FEFF je 77D25340
77D3B13A ^ E9 AAABFEFF jmp 77D25CE9
77D3B13F 90 nop
77D3B140 90 nop
77D3B141 90 nop
77D3B142 90 nop
77D3B143 90 nop
77D3B144 > 8BFF mov edi, edi
77D3B146 55 push ebp
77D3B147 8BEC mov ebp, esp
77D3B149 53 push ebx
77D3B14A 56 push esi
77D3B14B 8B75 08 mov esi, dword ptr [ebp+8]
77D3B14E 6A 00 push 0
77D3B150 FF75 0C push dword ptr [ebp+C]
77D3B153 83CB FF or ebx, FFFFFFFF
……
分析代码就头晕,请教大大们,这样做对不对?这个代码是不是就是要分析的注册算法?
原来被放弃的软件已经被别破解了,破解人又加了一个填写注册码的限制。对这个限制,看看能不能看懂。
我是才学的菜菜鸟,很多问题不懂,特在此向大大们请教。
我是这么做的:
先运行软件,弹出如下图中①的窗口,需要根据机器码算出来一个注册码,填在方框中。
点击注册后,如注册码不正确,会出现图中②的错误窗口。
1、查找字符串,什么也没找到。
2、查找API 函数 GetDlgItemText 及 GetWindowText,没发现。如图
3、消息断点,按照CCDebuger大大的步骤,F9,查看→窗口,如图在“注册”上下了202 WM_LBUTTON_UP断点。
点“注册”后,来到了这里,下面是部分代码。这是不是关键啊?
77D3B036 > 8BFF mov edi, edi
77D3B038 55 push ebp
77D3B039 8BEC mov ebp, esp
77D3B03B 8B4D 08 mov ecx, dword ptr [ebp+8]
77D3B03E 56 push esi
77D3B03F E8 9CD4FDFF call 77D184E0
77D3B044 8BF0 mov esi, eax
77D3B046 85F6 test esi, esi
77D3B048 74 38 je short 77D3B082
77D3B04A 8B55 0C mov edx, dword ptr [ebp+C]
77D3B04D 3B15 E810D777 cmp edx, dword ptr [77D710E8]
77D3B053 77 45 ja short 77D3B09A
77D3B055 33C0 xor eax, eax
77D3B057 8BCA mov ecx, edx
77D3B059 83E1 07 and ecx, 7
77D3B05C 40 inc eax
77D3B05D D3E0 shl eax, cl
77D3B05F 57 push edi
77D3B060 8B3D EC10D777 mov edi, dword ptr [77D710EC]
77D3B066 8BCA mov ecx, edx
77D3B068 C1E9 03 shr ecx, 3
77D3B06B 8A0C39 mov cl, byte ptr [ecx+edi]
77D3B06E 84C1 test cl, al
77D3B070 5F pop edi
77D3B071 74 27 je short 77D3B09A
77D3B073 6A 01 push 1
77D3B075 FF75 14 push dword ptr [ebp+14]
77D3B078 FF75 10 push dword ptr [ebp+10]
77D3B07B 52 push edx
77D3B07C 56 push esi
77D3B07D E8 B6A1FEFF call 77D25238
77D3B082 5E pop esi
77D3B083 5D pop ebp
77D3B084 C2 1000 retn 10
77D3B087 83E8 07 sub eax, 7
77D3B08A 0F85 13040000 jnz 77D3B4A3
77D3B090 B8 00010000 mov eax, 100
77D3B095 ^ E9 68A2FEFF jmp 77D25302
77D3B09A 6A 01 push 1
77D3B09C FF75 14 push dword ptr [ebp+14]
77D3B09F FF75 10 push dword ptr [ebp+10]
77D3B0A2 52 push edx
77D3B0A3 56 push esi
77D3B0A4 E8 31ECFEFF call 77D29CDA
77D3B0A9 ^ EB D7 jmp short 77D3B082
77D3B0AB E8 03E1FEFF call 77D291B3
77D3B0B0 ^ E9 0E71FFFF jmp 77D321C3
77D3B0B5 33C0 xor eax, eax
77D3B0B7 ^ E9 0B71FFFF jmp 77D321C7
77D3B0BC 33C0 xor eax, eax
77D3B0BE ^ E9 BA4FFFFF jmp 77D3007D
77D3B0C3 6A 01 push 1
77D3B0C5 6A 01 push 1
77D3B0C7 68 F4000000 push 0F4
77D3B0CC FF75 10 push dword ptr [ebp+10]
77D3B0CF ^ E9 D39CFEFF jmp 77D24DA7
77D3B0D4 897D FC mov dword ptr [ebp-4], edi
77D3B0D7 ^ E9 D89AFEFF jmp 77D24BB4
77D3B0DC 33C0 xor eax, eax
77D3B0DE 40 inc eax
77D3B0DF ^ E9 839CFEFF jmp 77D24D67
77D3B0E4 83E9 69 sub ecx, 69
77D3B0E7 0F84 F3040000 je 77D3B5E0
77D3B0ED 49 dec ecx
77D3B0EE ^ 0F85 5DA2FEFF jnz 77D25351
77D3B0F4 3955 B0 cmp dword ptr [ebp-50], edx
77D3B0F7 ^ 0F82 43A2FEFF jb 77D25340
77D3B0FD 395D B0 cmp dword ptr [ebp-50], ebx
77D3B100 0F87 A2110000 ja 77D3C2A8
77D3B106 837D B8 00 cmp dword ptr [ebp-48], 0
77D3B10A 74 07 je short 77D3B113
77D3B10C C745 B8 0100000>mov dword ptr [ebp-48], 1
77D3B113 8B46 04 mov eax, dword ptr [esi+4]
77D3B116 8BC8 mov ecx, eax
77D3B118 23CB and ecx, ebx
77D3B11A 3B4D B8 cmp ecx, dword ptr [ebp-48]
77D3B11D ^ 0F84 1DA2FEFF je 77D25340
77D3B123 83E0 FC and eax, FFFFFFFC
77D3B126 0B45 B8 or eax, dword ptr [ebp-48]
77D3B129 57 push edi
77D3B12A 8946 04 mov dword ptr [esi+4], eax
77D3B12D E8 0C9EFEFF call 77D24F3E
77D3B132 85C0 test eax, eax
77D3B134 ^ 0F84 06A2FEFF je 77D25340
77D3B13A ^ E9 AAABFEFF jmp 77D25CE9
77D3B13F 90 nop
77D3B140 90 nop
77D3B141 90 nop
77D3B142 90 nop
77D3B143 90 nop
77D3B144 > 8BFF mov edi, edi
77D3B146 55 push ebp
77D3B147 8BEC mov ebp, esp
77D3B149 53 push ebx
77D3B14A 56 push esi
77D3B14B 8B75 08 mov esi, dword ptr [ebp+8]
77D3B14E 6A 00 push 0
77D3B150 FF75 0C push dword ptr [ebp+C]
77D3B153 83CB FF or ebx, FFFFFFFF
……
分析代码就头晕,请教大大们,这样做对不对?这个代码是不是就是要分析的注册算法?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
谁下载
ytok
wangcl
prince
lwxxx
huntsman
yosen2001
SnowFox
daodian
流水无情
redfox
smwxb
ckg12
1key
david.ge
limin520
marcoak
G119
Lovelost
斯文败类
showna
好可爱
blackeyes
jerryme
cradsl
lvke
kwzlj
月之精灵
yzjsdn
wbdzw
aruna
虚无
omni
tikka
ossurrond
wipi
hyperiris
野狼
AChinese
sdyking
xysmzp
alllife
yingang
Cooge
zbzb
greenrock
lingxiao
baooiqpl
exile
釜森
pcbszx
xyer
qyqy
npnp
luodf
小东东
oldold
hanjiawei
ggggyso
海上轻雾
zhangji
wjhyyan
gengxuelei
sagephage
jiayimtv
dayang
missdiog
sessiondiy
badboybyy
dday
ateau
textt
caocunt
啊杰
njreds
fairynull
zqxf
weare
ryanyugang
elianmeng
魔之幻灵
Mxixihaha
obaby
langyashan
nagame
热火朝天
iamjx
dosvip
达文西
听雨前缘
YUEN
帅八
myabcd
kingswb
问一问
wuqiubin
haohaoailu
drivers
xiaoboshi
llyyttzj
谁下载
ytok
wangcl
prince
lwxxx
huntsman
yosen2001
SnowFox
daodian
流水无情
redfox
smwxb
ckg12
1key
david.ge
limin520
marcoak
G119
Lovelost
斯文败类
showna
好可爱
blackeyes
jerryme
cradsl
lvke
kwzlj
月之精灵
yzjsdn
wbdzw
aruna
虚无
omni
tikka
ossurrond
wipi
hyperiris
野狼
AChinese
sdyking
xysmzp
alllife
yingang
Cooge
zbzb
greenrock
lingxiao
baooiqpl
exile
釜森
pcbszx
xyer
qyqy
npnp
luodf
小东东
oldold
hanjiawei
ggggyso
海上轻雾
zhangji
wjhyyan
gengxuelei
sagephage
jiayimtv
dayang
missdiog
sessiondiy
badboybyy
dday
ateau
textt
caocunt
啊杰
njreds
fairynull
zqxf
weare
ryanyugang
elianmeng
魔之幻灵
Mxixihaha
obaby
langyashan
nagame
热火朝天
iamjx
dosvip
达文西
听雨前缘
YUEN
帅八
myabcd
kingswb
问一问
wuqiubin
haohaoailu
drivers
xiaoboshi
llyyttzj
谁下载
ytok
wangcl
prince
lwxxx
huntsman
yosen2001
SnowFox
daodian
流水无情
redfox
smwxb
ckg12
1key
david.ge
limin520
marcoak
G119
Lovelost
斯文败类
showna
好可爱
blackeyes
jerryme
cradsl
lvke
kwzlj
月之精灵
yzjsdn
wbdzw
aruna
虚无
omni
tikka
ossurrond
wipi
hyperiris
野狼
AChinese
sdyking
xysmzp
alllife
yingang
Cooge
zbzb
greenrock
lingxiao
baooiqpl
exile
釜森
pcbszx
xyer
qyqy
npnp
luodf
小东东
oldold
hanjiawei
ggggyso
海上轻雾
zhangji
wjhyyan
gengxuelei
sagephage
jiayimtv
dayang
missdiog
sessiondiy
badboybyy
dday
ateau
textt
caocunt
啊杰
njreds
fairynull
zqxf
weare
ryanyugang
elianmeng
魔之幻灵
Mxixihaha
obaby
langyashan
nagame
热火朝天
iamjx
dosvip
达文西
听雨前缘
YUEN
帅八
myabcd
kingswb
问一问
wuqiubin
haohaoailu
drivers
xiaoboshi
llyyttzj
看原图
赞赏
雪币:
留言: