能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我记得 爆破开始的地方 是 一大堆的 mov dword[ebp+const],const,
在接着 就是注册验证。
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
今天试着调试了一下winhex18.1,然后发现显示注册版,很简单。
00438DF5 |. 8038 00 cmp byte ptr [eax], 0x0 ; [005d74ef]等于1就是注册版
00438DF8 |. 74 16 je short 00438E10 ; 注册码正确不跳
00438DFA |. 6A 00 push 0x0 ; /Flags = MF_BYCOMMAND|MF_ENABLED|MF_STRING
00438DFC |. 68 89000000 push 0x89 ; |ItemId = 89 (137.)
00438E01 |. A1 E4E05A00 mov eax, dword ptr [0x5AE0E4] ; |
00438E06 |. 8B00 mov eax, dword ptr [eax] ; |
00438E08 |. 50 push eax ; |hMenu
00438E09 |. E8 9AD5FCFF call <jmp.&user32.DeleteMenu> ; \DeleteMenu
0049506B |. 33C9 xor ecx, ecx ; |
0049506D |. B2 01 mov dl, 0x1 ; |
0049506F |. E8 40490D00 call 005699B4 ; \这里弹出要修改的对话框
00495074 |. 84C0 test al, al
00495076 |. 0F84 12010000 je 0049518E ; 0
然而,winhex程序本身会动态的修改一段代码,大小为0x2000字节,刚好可以解决我之前的一个问题,修改自身代码。
00542619 |. 50 push eax ; |Address => WinHex.00542210
0054261A |. E8 393AECFF call <jmp.&kernel32.VirtualQuery> ; \VirtualQuery
0054261F |. 54 push esp ; /pOldProtect
00542620 |. 6A 40 push 0x40 ; |NewProtect = PAGE_EXECUTE_READWRITE
00542622 |. 68 00200000 push 0x2000 ; |Size = 2000 (8192.)
00542627 |. 8B4424 18 mov eax, dword ptr [esp+0x18] ; |
0054262B |. 50 push eax ; |Address
0054262C |. E8 173AECFF call <jmp.&kernel32.VirtualProtect> ; \VirtualProtect
00542631 |. 85C0 test eax, eax
00542633 |. 0F84 29010000 je 00542762 ; 0
......省略一段代码
005426E2 |. 50 push eax ; |0x542210
005426E3 |. E8 2836ECFF call <jmp.&kernel32.GetCurrentProces>; |[GetCurrentProcess
005426E8 |. 50 push eax ; |hProcess
005426E9 |. E8 9A39ECFF call <jmp.&kernel32.WriteProcessMemo>; \WriteProcessMemory
005426EE |. 85C0 test eax, eax
005426F0 |. 74 70 je short 00542762
其实爆破也不是没有可能,就是用正确的user.txt生成一段正确的代码,然后将这段代码写入相应的位置即可。
明天再试。
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
经测试这种方法确实有效,而且很简单!
winhex18.1.rar
只修改了200k文件限制,其它的还没有看,应该不是很难,我想这种改法比较稳定,因为写入的代码是固定的。明天再试。
|
能力值:
( LV9,RANK:290 )
|
-
-
5 楼
新版本,对输入中文都不支持的吧
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
这个小刀在行,好像他写过一个通用补丁,不知是否可以。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
Name: "ygeR/ZWT"
Addr1: "ygeR@teamzwt.com"
Addr2: "TEAM ZWT"
Key1: "46C8592D5A1757D139548BC99493D983"
Key2: "C642428F10C603844798437F7F35A8E9"
Chksm: "14"
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
还插一个chinese.dat 未找到,调出的中文有乱码。
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
注册机我有,只是后面的版本都不是很稳定,会不定期失效,所以我想爆破会更稳定。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
这个软件校验很多就算爆破了也没用
非凡论坛里边有个叫330wang的搞过几期数据恢复班
一用这个东东扫硬盘来恢复数据时,经常的闪退,群里的很多人都遇到过这个问题的。
而且就算有了kengen也显示成功注册成了法证版,再重启也用不了。
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
我就是想解决这个问题,我想应该会比较稳定的,当然这个需要测试。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
http://95.141.193.17/noload/files/059/rsload.net.WinHex.18.2.zip
这是俄罗斯网站下载到的,希望楼主研究之后,也改一改,这数比较吉利数。
刚OD了下这个版本,发现跟楼主的汇编偏移地址不一致……
|
能力值:
( LV3,RANK:20 )
|
-
-
13 楼
好的,明天试试。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
我一直打算杂交一个功能强大比较新最重要还是稳定的版本出来
上次学数据恢复时,把那个中有些对话框显示的让人感觉不知是何意的地方适当的修改了下
前些时候误操作可惜给干掉了,真是太可惜了。我以前经常汉化,后来发现太耽误时间了。好歹改改就算了,可看到了非常不错的软件又会心动,着迷的感觉也好也不好啊。
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
前两天,我还搞了一个Ace Translator14.5的爆破+内部资源的精简版
半秒就能启动到界面里啦(原版要半分钟)用OD调试的时候给显示注册给XXX,可却无法保存出成果来,就跟网上那些人搞的破解版本差不多了。里边有个JMP一下子就跳过了注册给XX用户名的段,不太理解。
|
能力值:
( LV3,RANK:20 )
|
-
-
16 楼
刚下载了一个winhex18.2的中文版,发现里面的winhex.exe修改了一个字节,不知道作用是什么?
00562068 /$ A0 79AB5D00 mov al, byte ptr [0x5DAB79]
0056206D |. 3205 73AB5D00 xor al, byte ptr [0x5DAB73]
00562073 |. 3205 7BAB5D00 xor al, byte ptr [0x5DAB7B]
00562079 |. 8A15 6FAB5D00 mov dl, byte ptr [0x5DAB6F]
0056207F |. 03D2 add edx, edx
00562081 |. 32C2 xor al, dl
00562083 |. 3A05 7AAB5D00 cmp al, byte ptr [0x5DAB7A]
00562089 |. 74 21 je short 005620AC ; jmp short 005620ac
0056208B |. B8 03000000 mov eax, 0x3
00562090 |. E8 8F0DEAFF call 00402E24
00562095 |. 83F8 02 cmp eax, 0x2
00562098 |. 75 05 jnz short 0056209F
0056209A |. E8 FDBF0000 call 0056E09C
0056209F |> 6A 00 push 0x0 ; /ExitCode = 0x0
005620A1 |. E8 6A3CEAFF call <jmp.&kernel32.GetCurrentProcess>; |[GetCurrentProcess
005620A6 |. 50 push eax ; |hProcess
005620A7 |. E8 5C3FEAFF call <jmp.&kernel32.TerminateProcess> ; \TerminateProcess
005620AC \> C3 retn
难道是防止意外退出?
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
[QUOTE=menglv;1368348]刚下载了一个winhex18.2的中文版,发现里面的winhex.exe修改了一个字节,不知道作用是什么?
00562068 /$ A0 79AB5D00 mov al, byte ptr [0x5DAB79]
0056206D |. 3205 73AB5D00 xor ...[/QUOTE]
现在的程序都非常的诡异
有的明明在本机上破解成功并正常的使用了几个月
或许突然某一天又出来意外情况
这样的程序遇到3 4款了。
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
能不能 提供一个chinese.txt 若是把那个chinese.dat改名下能见到中文界面了,但显示却不正常了。
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
引用:其实爆破也不是没有可能,就是用正确的user.txt生成一段正确的代码,然后将这段代码写入相应的位置即可。
意思是先取得正确的KEY,再爆破?
|
能力值:
( LV3,RANK:20 )
|
-
-
20 楼
稍等,马上就好!
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
之所以不稳定,正是因为USER.TXT不正确(表象正确)。好象18.0时有两家KEYGEN,其中一家的极易闪退出,另一家的不会,至少几率少很多。
|
能力值:
( LV3,RANK:20 )
|
-
-
22 楼
1、程序修改居于user.txt,但现在已经脱离了user.txt
2、加入中文汉化资源
3、加入编辑区中文输入补丁
4、修正“报告.txt”
我只是做了第一步,其它都是集成,不知道有什么问题。希望大家可以帮忙测试一下。
下面是附件:
WinHex18.2.rar
|
能力值:
( LV3,RANK:20 )
|
-
-
23 楼
其实不稳定就是,程序会检测注册码的某些位置,如果发现不对,就会在哪个call写入一些错误的代码,这样就会导致程序崩溃。
而我做的是任何时候都在那个call里面写入正确的代码,我想稳定性会好很多,当然我现在没有更多的测试。
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
套路不错,看看效果。
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
哦,我理解错误。
按这思路应该能解决KEY无效吧。如成功,建议把investigator也处理了
|
|
|