【破解作者】yancool[CZG][D.4s]
【软件名称】天网防火墙 2.73
【破解声明】纯属兴趣,吃菜长大的,如有失误之处,请各位大侠指点!
【软件简介】
天网防火墙个人版是个人电脑使用的网络安全程序,根据管理者设定的安全规则把守网络,提供强大的访问控制、信息过滤等功能,帮你抵挡网络入侵和攻击,防止信息泄露。天网防火墙把网络分为本地网和互联网,可针对来自不同网络的信息,来设置不同的安全方案,适合于任何方式上网的用户。
呵呵,此软件公司地址就在我上班的地方,相隔几栋大厦,走路大概5分种就能到。。。。
【破解过程】
软件启动时会判断你是否注册,如果未注册
会弹出窗口,“注册信无法破认,请重注册一次...”
好了,我们就从这里下手吧,W32dsm反编译天网主程序PFW.exe,找到相关字符,得到以下
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405A43(C)
|
:00405A98 84DB test bl, bl
:00405A9A 0F853B010000 jne 00405BDB
:00405AA0 6824100000 push 00001024
* Possible StringData Ref from Data Obj ->"请您注册"
|
:00405AA5 68BC8D5500 push 00558DBC
:00405AAA 66C745C82000 mov [ebp-38], 0020
:00405AB0 33C0 xor eax, eax
:00405AB2 8D55EC lea edx, dword ptr [ebp-14]
:00405AB5 8945EC mov dword ptr [ebp-14], eax
呵呵,这里我们知道是从405A43过来的
那么我就试着在ollydby里405A43下断
004059AE |. 8D45 F4 LEA EAX, DWORD PTR SS:[EBP-C]
004059B1 |. 50 PUSH EAX
004059B2 |. BA B08D5500 MOV EDX, 00558DB0 ; ASCII "pfw.dat" 这是不是保存注册码的文件捏?
004059B7 |. 8D45 F0 LEA EAX, DWORD PTR SS:[EBP-10]
004059BA |. E8 B1E81100 CALL 00524270
004059BF |. FF45 D4 INC DWORD PTR SS:[EBP-2C]
004059C2 |. 33C0 XOR EAX, EAX
004059C4 |. 8945 FC MOV DWORD PTR SS:[EBP-4], EAX
004059C7 |. 8D55 F0 LEA EDX, DWORD PTR SS:[EBP-10]
004059CA |. FF45 D4 INC DWORD PTR SS:[EBP-2C]
004059CD |. 8D4D FC LEA ECX, DWORD PTR SS:[EBP-4]
004059D0 |. 58 POP EAX
004059D1 |. E8 52EA1100 CALL 00524428
004059D6 |. FF4D D4 DEC DWORD PTR SS:[EBP-2C]
004059D9 |. 8D45 F0 LEA EAX, DWORD PTR SS:[EBP-10]
004059DC |. BA 02000000 MOV EDX, 2
004059E1 |. E8 EAE91100 CALL 005243D0
004059E6 |. FF4D D4 DEC DWORD PTR SS:[EBP-2C]
004059E9 |. 8D45 F4 LEA EAX, DWORD PTR SS:[EBP-C]
004059EC |. BA 02000000 MOV EDX, 2
004059F1 |. E8 DAE91100 CALL 005243D0
004059F6 |. FF4D D4 DEC DWORD PTR SS:[EBP-2C]
004059F9 |. 8D45 F8 LEA EAX, DWORD PTR SS:[EBP-8]
004059FC |. BA 02000000 MOV EDX, 2
00405A01 |. E8 CAE91100 CALL 005243D0
00405A06 |. 66:C745 C8 0800 MOV WORD PTR SS:[EBP-38], 8
00405A0C |. 6A 14 PUSH 14 ; /Arg3 = 00000014
00405A0E |. 6A 30 PUSH 30 ; |Arg2 = 00000030
00405A10 |. 8D8D A4FEFFFF LEA ECX, DWORD PTR SS:[EBP-15C] ; |
00405A16 |. 51 PUSH ECX ; |Arg1
00405A17 |. E8 44D80F00 CALL 00503260 ; \PFW.00503260
00405A1C |. 83C4 0C ADD ESP, 0C
00405A1F |. 33DB XOR EBX, EBX
00405A21 |. 68 B88D5500 PUSH 00558DB8 ; ASCII "rb"
00405A26 |. 837D FC 00 CMP DWORD PTR SS:[EBP-4], 0
00405A2A |. 74 05 JE SHORT 00405A31
00405A2C |. 8B45 FC MOV EAX, DWORD PTR SS:[EBP-4]
00405A2F |. EB 05 JMP SHORT 00405A36
00405A31 |> B8 BB8D5500 MOV EAX, 00558DBB
00405A36 |> 50 PUSH EAX ; |Arg1
00405A37 |. E8 E4FB0F00 CALL 00505620 ; \PFW.00505620
00405A3C |. 83C4 08 ADD ESP, 8
00405A3F |. 8BF0 MOV ESI, EAX
00405A41 |. 85F6 TEST ESI, ESI
00405A43 |. 74 53 JE SHORT 00405A98 ; 试着改改,可是不对哦
00405A45 |. 6A 00 PUSH 0 ; /Arg3 = 00000000
00405A47 |. 6A 00 PUSH 0 ; |Arg2 = 00000000
00405A49 |. 56 PUSH ESI ; |Arg1
00405A4A |. E8 19FF0F00 CALL 00505968 ; \PFW.00505968
00405A4F |. 83C4 0C ADD ESP, 0C
00405A52 |. 56 PUSH ESI ; /Arg4
00405A53 |. 6A 01 PUSH 1 ; |Arg3 = 00000001
00405A55 |. 68 00010000 PUSH 100 ; |Arg2 = 00000100
00405A5A |. 8D85 B8FEFFFF LEA EAX, DWORD PTR SS:[EBP-148] ; |
00405A60 |. 50 PUSH EAX ; |Arg1
00405A61 |. E8 62FE0F00 CALL 005058C8 ; \PFW.005058C8
405A43处断下,上下看看大体程序流程吧上面有一个PFW.DAT,可能是注册成功后,存放注册码的吧。。。我乱猜的。。。
到底哪里才是启动时调出注册窗口的代码呢,我试着改了两个跳转,都不对,晕。。。谁叫吾是菜鸟捏。。。
显然不在这一段代码里,代码应该要再向上一点的地方
重新运行,再来一次
405964处下断
看CPU窗口下提示行
Local Call from 00401F5C 此CALL来自401F5C
重新运行,再来一次,唉,我菜嘛,只能经过一次次的失败...
401F5C处下断,F7进此CALL,来到这里...
00402778 |. 895D AC MOV DWORD PTR SS:[EBP-54], EBX
0040277B |. 8B4D A8 MOV ECX, DWORD PTR SS:[EBP-58]
0040277E |. 8948 30 MOV DWORD PTR DS:[EAX+30], ECX
00402781 |. 8B4D AC MOV ECX, DWORD PTR SS:[EBP-54]
00402784 |. 8948 34 MOV DWORD PTR DS:[EAX+34], ECX
00402787 |. 8BC3 MOV EAX, EBX
00402789 E8 D6310000 CALL 00405964 此CALL F7进入,很眼熟哦,就是刚才我转了几圈的CALL
0040278E |. 84C0 TEST AL, AL OK,那么就那402789的CALL NOP掉,试着运行看看...真的可以用了,
晕....
00402790 |. 75 2F JNZ SHORT 004027C1
00402792 |. 33C0 XOR EAX, EAX
00402794 |. BA 02000000 MOV EDX, 2
00402799 |. 50 PUSH EAX
主程序PFW.exe的破解到这里就可以了
00402789 E8 D6310000 CALL 00405964 ;NOP掉 改成5个90
=---=---=---=---=---= 升级部分的破解 =---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=
PFWLiveUpdate.exe会通过ONLINEREG.exe检查你是否已经注册,那么我们就在找到ONLINEREG字符,来到下面这里
00404714 . 6A 00 PUSH 0
00404716 . 8D4C24 10 LEA ECX, DWORD PTR SS:[ESP+10]
0040471A . 6A 67 PUSH 67
0040471C . 51 PUSH ECX
0040471D . E8 E0240000 CALL <JMP.&MFC42.#1147>
00404722 . 8B5424 0C MOV EDX, DWORD PTR SS:[ESP+C]
00404726 . 68 40100000 PUSH 1040 ; /Style = MB_OK|MB_ICONASTERISK|MB_SYSTEMMODAL
0040472B . 68 84A04000 PUSH 0040A084 ; |Title = "天网升级提示"
00404730 . 52 PUSH EDX ; |Text
00404731 . 6A 00 PUSH 0 ; |hOwner = NULL
00404733 . FF15 74834000 CALL DWORD PTR DS:[<&USER32.MessageBo>; \MessageBoxA
00404739 > 56 PUSH ESI ; /hObject
0040473A . FF15 2C804000 CALL DWORD PTR DS:[<&KERNEL32.CloseHa>; \CloseHandle
00404740 . E9 70010000 JMP 004048B5
00404745 > E8 A6010000 CALL 004048F0
0040474A . 85C0 TEST EAX, EAX
0040474C . 0F85 90000000 JNZ 004047E2 ;这里改成JMP,就能跳过对话框"你现在还不是注册用户"
00404752 . A0 E0AB4000 MOV AL, BYTE PTR DS:[40ABE0]
00404757 . 84C0 TEST AL, AL
00404759 . 0F85 56010000 JNZ 004048B5
0040475F . 6A 00 PUSH 0
00404761 . 8D4C24 78 LEA ECX, DWORD PTR SS:[ESP+78]
00404765 . E8 36FDFFFF CALL 004044A0
0040476A . 8D4C24 74 LEA ECX, DWORD PTR SS:[ESP+74]
0040476E . C68424 E80200>MOV BYTE PTR SS:[ESP+2E8], 1
00404776 . E8 25230000 CALL <JMP.&MFC42.#2514>
0040477B . 83F8 01 CMP EAX, 1
0040477E . 75 51 JNZ SHORT 004047D1
00404780 . 8D8424 DC0100>LEA EAX, DWORD PTR SS:[ESP+1DC]
00404787 . 50 PUSH EAX
00404788 . E8 E3130000 CALL 00405B70
0040478D . BF 50A54000 MOV EDI, 0040A550 ; ASCII "ONLINEREG.EXE"
在40474C改一下跳转,没有要你注册了,只是说你“目前使用的是最新版本不需要升级”和“目前还没有可用的升级包”
晕倒。。。我在破解时破解时确实是新版本,待日后有更新,再看看。。能否升级才知道是否已破解成功
=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=
【破解总结】
主程序PFW.exe
00402789 E8 D6310000 CALL 00405964
改NOP
升级程序PFWLiveUpdate.exe的
0040474C . 0F85 90000000 JNZ 004047E2
改
0040474C . /E9 91000000 JMP 004047E2
不知这样能否完全破解,还望各位GG指点了...
=---=---=---=---=---= 转载请保持原文完整性!谢谢你能耐心看完这篇文章 =---=---=---=---=---=
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课