求助这个问题。。。
00491B60|.55 PUSH EBP00491B61|.68 C41C4900 PUSH ZKWG.00491CC4
00491B66|.64:FF30 PUSH DWORD PTR FS:
00491B69|.64:8920 MOV DWORD PTR FS:,ESP
00491B6C|.8D55 F8 LEA EDX,DWORD PTR SS:
00491B6F|.8B83 34030000 MOV EAX,DWORD PTR DS:
00491B75|.E8 9E13FBFF CALL ZKWG.00442F18
00491B7A|.8D55 F4 LEA EDX,DWORD PTR SS:
00491B7D|.8B83 30030000 MOV EAX,DWORD PTR DS:
00491B83|.E8 9013FBFF CALL ZKWG.00442F18
00491B88|.8D4D F0 LEA ECX,DWORD PTR SS:
00491B8B|.BA D81C4900 MOV EDX,ZKWG.00491CD8 ;ASCII "fzcm"
00491B90|.8B45 F4 MOV EAX,DWORD PTR SS:
00491B93|.E8 60F7FFFF CALL ZKWG.004912F8
00491B98|.8B45 F8 MOV EAX,DWORD PTR SS:
00491B9B|.8B55 F0 MOV EDX,DWORD PTR SS:
00491B9E|.E8 392DF7FF CALL ZKWG.004048DC
00491BA3 74 2F JE SHORT ZKWG.00491BD4
00491BA5|.8D45 FC LEA EAX,DWORD PTR SS:
00491BA8|.BA E81C4900 MOV EDX,ZKWG.00491CE8
00491BAD|.E8 B629F7FF CALL ZKWG.00404568
00491BB2|.6A 40 PUSH 40
00491BB4|.8B45 FC MOV EAX,DWORD PTR SS:
00491BB7|.E8 D42DF7FF CALL ZKWG.00404990
00491BBC|.8BD0 MOV EDX,EAX
00491BBE|.B9 041D4900 MOV ECX,ZKWG.00491D04
00491BC3|.A1 907A4900 MOV EAX,DWORD PTR DS:
00491BC8|.8B00 MOV EAX,DWORD PTR DS:
00491BCA|.E8 A50DFDFF CALL ZKWG.00462974
00491BCF|.E9 C8000000 JMP ZKWG.00491C9C
00491BD4|>8D55 EC LEA EDX,DWORD PTR SS:
00491BD7|.8B83 30030000 MOV EAX,DWORD PTR DS:
00491BDD|.E8 3613FBFF CALL ZKWG.00442F18
00491BE2|.8B45 EC MOV EAX,DWORD PTR SS:
00491BE5|.50 PUSH EAX
00491BE6|.8D55 E8 LEA EDX,DWORD PTR SS:
00491BE9|.8B83 2C030000 MOV EAX,DWORD PTR DS:
00491BEF|.E8 2413FBFF CALL ZKWG.00442F18
当我把00491BA3 74 2F JE SHORT ZKWG.00491BD4 修改为JMP SHORT ZKWG.00491BD4时,
无论我输入什么注册码。然后会弹出一个窗口提示注册成功,点确定后,就会关闭程序,再运行,还是要我注册~~!!
是不是找错了???
这个小工具,100大洋啊~!!用买回来的注册码在单位上用,就可以了,一输入注册码,提示注册成功,然后就确定关闭,再运行就正常了。。
却 限制在我单位那机子上用,不能拿回家来工作。。。。。。。
有什么好办法吗?????? 明显的重启验证,你找的地方不对,可能是上面的call或其它地方,总之会被多个地方调用检测的一个call,在重启的时候检测仍然会为未注册 那应该怎么找呢????
我在单位买了这个,在单位注册码是:
验证码:4B47535C
注册码:2650262527212751
在我家又特长的验证码:5026234B5F55225A4B47535C
感觉好奇怪的就是为什么我家中,会带有4B47535C在最后面???
请教下。。。 一机一码啊!
如果能通用那么这个软件有可能只能卖出去一份了!
你的问题是没找到关键call
----------------------------------------------
当你停在这句的时候看看EAX和EDX,可能有真码。
00491B9E|.E8 392DF7FF CALL ZKWG.004048DC
[ 本帖最后由 rxzcums 于 2008-9-10 01:26 编辑 ] 要找对关键的验证算法的CALL才可以。。 跟踪真码很闷的,我是想直接跳过注册那个界面~~~程序运行时,应该在哪一个地方检测注册码是否可用,可用就进入程序,不可用就提示注册。。。
就是找不着这个跳转点。。。。。。。。。 还是重启验证问题,楼主发了两个帖子了,呵呵,教程论坛里可不少,找找看,细细研究一下,结合F12暂停法,应该可以解决,希望楼主早日成功。 如果找到了关键的算法CALL的话 尽量在算法CALL里面来爆破如果说这个软件用同一个算法验证了100次 楼主岂不是要修改100次跳转而如果在算法CALL里面来爆破的话 就算软件验证1000次(当然还是要用同一个算法CALL)也是可以解决的
至于算法CALL要如何爆破 要看算法CALL接着的跳转有的跳转是JZ有的是JNZ 还有的是
test al,al 之后再来一个跳转楼主要根据情况来判断
举个简单的例子
CALL **XX(算法CALL)
test al,al
jnz ****(这里跳的话就跳向注册成功)
那么我们就要使CALL出来之后 al不为0那么我们就可以把算法call改成这样
mov al,1
retn
这样CALL出来的时候 al肯定就不为0了 也就实现了算法的爆破了
当然这种类型是最简单 以后还会碰到其他不同的情况的 00462595|. /EB 02 JMP SHORT ZKWG.00462599
00462597|> |B0 01 MOV AL,1
00462599|> \880424 MOV BYTE PTR SS:,AL
0046259C|.8A0424 MOV AL,BYTE PTR SS:
0046259F|.5A POP EDX
004625A0|.5D POP EBP
004625A1|.5F POP EDI
004625A2|.5E POP ESI
004625A3|.5B POP EBX
004625A4\.C3 RETN
004625A5 8D40 00 LEA EAX,DWORD PTR DS:
004625A8/$53 PUSH EBX
004625A9|.56 PUSH ESI
004625AA|.57 PUSH EDI
004625AB|.51 PUSH ECX
004625AC|.8BFA MOV EDI,EDX
004625AE|.8BF0 MOV ESI,EAX
004625B0|.33DB XOR EBX,EBX
004625B2|.6A 01 PUSH 1 ; /RemoveMsg = PM_REMOVE
004625B4|.6A 00 PUSH 0 ; |MsgFilterMax = WM_NULL
004625B6|.6A 00 PUSH 0 ; |MsgFilterMin = WM_NULL
004625B8|.6A 00 PUSH 0 ; |hWnd = NULL
004625BA|.57 PUSH EDI ; |pMsg
004625BB|.E8 A84EFAFF CALL <JMP.&user32.PeekMessageA> ; \PeekMessageA
004625C0|.85C0 TEST EAX,EAX
004625C2|.74 75 JE SHORT ZKWG.00462639
004625C4|.B3 01 MOV BL,1
004625C6|.837F 04 12 CMP DWORD PTR DS:,12
004625CA|.74 66 JE SHORT ZKWG.00462632
004625CC|.C60424 00 MOV BYTE PTR SS:,0
004625D0|.66:83BE DA000>CMP WORD PTR DS:,0
004625D8|.74 10 JE SHORT ZKWG.004625EA
004625DA|.8BCC MOV ECX,ESP
004625DC|.8BD7 MOV EDX,EDI
004625DE|.8B86 DC000000 MOV EAX,DWORD PTR DS:
004625E4|.FF96 D8000000 CALL DWORD PTR DS:
004625EA|>8BD7 MOV EDX,EDI
004625EC|.8BC6 MOV EAX,ESI
004625EE|.E8 15FFFFFF CALL ZKWG.00462508
004625F3|.84C0 TEST AL,AL
004625F5|.75 42 JNZ SHORT ZKWG.00462639
004625F7|.803C24 00 CMP BYTE PTR SS:,0
004625FB|.75 3C JNZ SHORT ZKWG.00462639
004625FD|.8BD7 MOV EDX,EDI
004625FF|.8BC6 MOV EAX,ESI
00462601|.E8 FAFDFFFF CALL ZKWG.00462400
00462606|.84C0 TEST AL,AL
00462608|.75 2F JNZ SHORT ZKWG.00462639
0046260A|.8BD7 MOV EDX,EDI
0046260C|.8BC6 MOV EAX,ESI
0046260E|.E8 3DFEFFFF CALL ZKWG.00462450
00462613|.84C0 TEST AL,AL
00462615|.75 22 JNZ SHORT ZKWG.00462639
00462617|.8BD7 MOV EDX,EDI
00462619|.8BC6 MOV EAX,ESI
0046261B|.E8 BCFDFFFF CALL ZKWG.004623DC
00462620|.84C0 TEST AL,AL
00462622|.75 15 JNZ SHORT ZKWG.00462639
00462624|.57 PUSH EDI ; /pMsg
00462625|.E8 8E4FFAFF CALL <JMP.&user32.TranslateMessage> ; \TranslateMessage
0046262A|.57 PUSH EDI ; /pMsg
0046262B|.E8 784BFAFF CALL <JMP.&user32.DispatchMessageA> ; \DispatchMessageA
00462630|.EB 07 JMP SHORT ZKWG.00462639
00462632|>C686 9C000000>MOV BYTE PTR DS:,1
00462639|>8BC3 MOV EAX,EBX
0046263B|.5A POP EDX
0046263C|.5F POP EDI
0046263D|.5E POP ESI
0046263E|.5B POP EBX
0046263F\.C3 RETN
00462640/$53 PUSH EBX
00462641|.83C4 E4 ADD ESP,-1C
能帮我分析一下这段码是什么意思吗??? 我怎么也找不到程序启动时检查注册码和机器码校验时的跳转点
晕哦..找了三天了.
页:
[1]
2