查看單個文章
舊 2004-01-10, 10:28 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 refox I+加密後VFP程序的解密及反編譯

refox I+加密文件的解密及反編譯

應Aming的委託和看雪的邀請,寫關於VFP文件的編譯、解密及反編譯
原理、以下內容僅為refox I+加密文件的解密及反編譯的摘要,詳細內容
請見以後的文章

refox I+加密的文件反編譯據我所知有四種方法
(可能還有其它的方法,對VFP程序反編譯有興趣的朋友可來信共同探討
xy0544@163.com)
a.用改進過的refox直接反編譯
b.重新給解密後的文件計算一個密碼,用refox反編譯
c.還原其結構為標準的fox文件
d.局部還原其結構
a、b的方法有局限性(對於用手工修改過的文件有可能反編譯不出來)
c方法是通用的,但對破解者要求較高
d方法修改過的文件可能不能執行,但能用refox和unfoxall反編譯,
較簡單
下面講一講d方法的實現程序
所用工具:refox8.0、unfoxall2.1、UltraEdit32 以Aming的crackme03為例
文件頭及文件尾結構請參見Aming的以前的文章
一、refox I+加密文件的解密
用unfoxall2.1開啟用refox8.0 I+加密過的crackme3.fxp文件,unfoxall
的分析結果:不是標準的fox文件,不退出unfoxall,拷出C:\WINDOWS\TEMP\下
的文件unfoxall.tmp,改名為crackme3jm.fxp,crackme3jm.fxp為解密後的文件。
二、crackme3jm.fxp文件的修改及反編譯
用UltraEdit32開啟crackme3jm.fxp文件,修改如下幾處
00000000: FEF2 FF20 0202 0001 00D2 0700 00A9 0700 ... ............
A B C
A:文件數02改為01
B和C:減去I+加密後增加的字元數49個字元
29H-3FH共23個字元
7D1-7E9共26個字元
刪除29H-3FH和7D1-7E9的字元內容
程式碼偏移(44H的內容)增加數為2B-25(標準程式碼偏移)=6個字元
其內容在65H-6AH處(D),

00000010: 0029 0000 0000 0000 0000 0000 0000 0000 .)..............
00000020: 0000 0000 0000 0073 1252 6546 6F78 2055 .......s.ReFox U
00000030: 5339 3530 3033 3660 7552 FC39 385C 0600 S950036`uR.98\..
00000040: 0300 0100 2B00 0000 4B02 0000 5607 0000 ....+...K...V...
00000050: 0000 0000 0000 0000 0000 0000 723F 382D ............r?8-
00000060: 0000 0000 8503 0001 002B 0003 0003 0055 .........+.....U
D
搜尋第一個變數表030055(E)之後,將65H-6AH處內容移到其後
修正文件尾內容及文件頭中的校驗值,便可用refox及unfoxall來反編譯了。

00000070: 0000 0800 0500 0ED5 FE03 0055 0000 A801 ...........U....
E
00000080: 3000 25FC 4343 F400 00F4 0100 F702 009B 0.%.CC..........
00000090: 3EF8 0214 0FF0 1200 4343 F400 00F4 0100 >.......CC......
000000A0: F702 009B 3EF8 0216 0F09 FDF9 0592 00FE ....>...........
000000B0: 4300 54F7 0300 10FC 43FB 2400 C4FA CAE4 C.T.....C.$.....
000000C0: C8EB B5C4 C9ED B7DD D6A4 BAC5 C2EB B4ED ................
000000D0: CEF3 A3AC C7EB BCCC D0F8 C5AC C1A6 A3A1 ................
000000E0: FB08 00CC E1CA BED0 C5CF A2F8 0230 F604 .............0..
000000F0: 00FD FE1F 0054 F400 00F4 0500 F706 0010 .....T..........
00000100: FCFB 0C00 5BCE B4D7 A2B2 E1B0 E6B1 BE5D ....[..........]
00000110: FDFE 0800 1BF9 05A1 01FE 3B00 25FC 4343 ..........;.%.CC
00000120: 43F4 0000 F407 00F7 0200 675A 9B43 4343 C.........gZ.CCC
00000130: F400 00F4 0100 F702 0067 F904 CE07 0443 .........g.....C
00000140: E907 A118 3D00 3806 F801 0408 5A9B 0FFD ....=.8.....Z...
00000150: F905 3401 FE40 0054 F703 0010 FC43 FB20 ..4..@.T.....C.
00000160: 00C4 FACA E4C8 EBB5 C4D7 A2B2 E1C2 EBB4 ................
00000170: EDCE F3A3 ACC7 EBBC CCD0 F8C5 ACC1 A6A3 ................
00000180: A1FB 0900 20CC E1CA BED0 C5CF A2F8 0230 .... ..........0
00000190: F604 00FD FE1F 0054 F400 00F4 0500 F706 .......T........
000001A0: 0010 FCFB 0C00 5BCE B4D7 A2B2 E1B0 E6B1 ......[.........
000001B0: BE5D FDFE 0800 1BF9 059D 01FE 4200 54F7 .]..........B.T.
000001C0: 0300 10FC 43FB 2300 D7A3 BAD8 C4FA CBB3 ....C.#.........
000001D0: C0FB CDA8 B9FD 2056 4650 2D43 5241 434B ...... VFP-CRACK
000001E0: 4D45 20B5 DAC8 FDB9 D8A3 A1FB 0800 CCE1 ME .............
000001F0: CABE D0C5 CFA2 F802 40F6 0400 FDFE 1F00 ........@.......
00000200: 54F4 0000 F405 00F7 0600 10FC FB0C 005B T..............[
00000210: D2D1 D7A2 B2E1 B0E6 B1BE 5DFD FE04 001E ..........].....
00000220: FE04 001E FE03 0055 0800 0800 5448 4953 .......U....THIS
00000230: 464F 524D 0500 5445 5854 3105 0056 414C FORM..TEXT1..VAL
00000240: 5545 0300 4648 5A06 004D 5347 424F 5806 UE..FHZ..MSGBOX.
00000250: 004C 4142 454C 3307 0043 4150 5449 4F4E .LABEL3..CAPTION
00000260: 0500 5445 5854 320D 000A 0099 F400 00F7 ..TEXT2.........
00000270: 0100 FE03 0055 0200 0800 5448 4953 464F .....U....THISFO
00000280: 524D 0700 5245 4C45 4153 4506 0055 6E6C RM..RELEASE..Unl
00000290: 6F61 6432 0000 0001 0000 000E 0043 6F6D oad2.........Com
000002A0: 6D61 6E64 312E 436C 6963 6B3E 0000 0001 mand1.Click>....
000002B0: 0000 000E 0043 6F6D 6D61 6E64 322E 436C .....Command2.Cl
000002C0: 6963 6B27 0200 0001 0000 00BF 030D 0054 ick'...........T
000002D0: F700 0010 FCF8 0384 FDFE 0E00 54F7 0100 ............T...
000002E0: 10FC F903 1B01 FDFE 0D00 54F7 0200 10FC ..........T.....
000002F0: F801 02FD FE0B 0054 F703 0010 FC61 FDFE .......T.....a..
00000300: 0B00 54F7 0400 10FC 61FD FE0D 0054 F705 ..T.....a....T..
00000310: 0010 FCF8 0102 FDFE 2C00 54F7 0600 10FC ........,.T.....
00000320: FB1F 0056 4650 2D43 5241 434B 4D45 20CF ...VFP-CRACKME .
00000330: B5C1 D05B 3032 5D20 C4D1 B6C8 5BD6 D0B5 ...[02] ....[...
00000340: C85D FDFE 0B00 54F7 0700 10FC 2DFD FE0B .]....T.....-...
00000350: 0054 F708 0010 FC2D FDFE 1200 54F7 0900 .T.....-....T...
00000360: 10FC FB05 0046 6F72 6D31 FDFE 5F00 962E .....Form1.._...
00000370: F70A 0051 F70B 00D1 F70C 0010 FCF8 036C ...Q...........l
00000380: FD07 F70D 0010 FCF8 0260 FD07 F700 0010 .........`......
00000390: FCF8 0214 FD07 F701 0010 FCF8 0255 FD07 .............U..
000003A0: F706 0010 FCFB 0F00 CED2 D2AA D7A2 B2E1 ................
000003B0: C1CB 285C 3C52 29FD 07F7 0900 10FC FB08 ..(\<R).........
000003C0: 0043 6F6D 6D61 6E64 31FD FE55 0096 2EF7 .Command1..U....
000003D0: 0E00 51F7 0F00 D1F7 0000 10FC F802 14FD ..Q.............
000003E0: 07F7 0D00 10FC F803 6FFD 07F7 1000 10FC ........o.......
000003F0: 2DFD 07F7 1100 10FC F801 01FD 07F7 0C00 -...............
00000400: 10FC F802 3DFD 07F7 0100 10FC F803 ABFD ....=...........
00000410: 07F7 0900 10FC FB05 0054 6578 7431 FDFE .........Text1..
00000420: 6800 962E F712 0051 F713 00D1 F714 0010 h......Q........
00000430: FC61 FD07 F706 0010 FCFB 1200 C7EB CAE4 .a..............
00000440: C8EB C9ED B7DD D6A4 BAC5 C2EB A3BA FD07 ................
00000450: F700 0010 FCF8 0210 FD07 F70D 0010 FCF8 ................
00000460: 0102 FD07 F70C 0010 FCF8 0241 FD07 F701 ...........A....
00000470: 0010 FCF8 036E FD07 F709 0010 FCFB 0600 .....n..........
00000480: 4C61 6265 6C31 FDFE 5500 962E F715 0051 Label1..U......Q
00000490: F70F 00D1 F700 0010 FCF8 0214 FD07 F70D ................
000004A0: 0010 FCF8 036F FD07 F710 0010 FC2D FD07 .....o.......-..
000004B0: F711 0010 FCF8 0102 FD07 F70C 0010 FCF8 ................
000004C0: 0252 FD07 F701 0010 FCF8 03AB FD07 F709 .R..............
000004D0: 0010 FCFB 0500 5465 7874 32FD FE68 0096 ......Text2..h..
000004E0: 2EF7 1600 51F7 1300 D1F7 1400 10FC 61FD ....Q.........a.
000004F0: 07F7 0600 10FC FB12 00C7 EBCA E4C8 EBC4 ................
00000500: FAB5 C4D7 A2B2 E1C2 EBA3 BAFD 07F7 0000 ................
00000510: 10FC F802 10FD 07F7 0D00 10FC F801 02FD ................
00000520: 07F7 0C00 10FC F802 56FD 07F7 0100 10FC ........V.......
00000530: F803 6EFD 07F7 0900 10FC FB06 004C 6162 ..n..........Lab
00000540: 656C 32FD FE6D 0096 2EF7 1700 51F7 1300 el2..m......Q...
00000550: D1F7 0600 10FC FB0C 005B CEB4 D7A2 B2E1 .........[......
00000560: B0E6 B1BE 5DFD 07F7 0000 10FC F802 0DFD ....]...........
00000570: 07F7 0D00 10FC F801 03FD 07F7 0C00 10FC ................
00000580: F803 72FD 07F7 0100 10FC F802 49FD 07F7 ..r.........I...
00000590: 1800 10FC 43F8 0100 F801 00F8 03FF EA5E ....C..........^
000005A0: FD07 F709 0010 FCFB 0600 4C61 6265 6C33 ..........Label3
000005B0: FDFE 5F00 962E F719 0051 F70B 00D1 F70C .._......Q......
000005C0: 0010 FCF8 036C FD07 F70D 0010 FCF8 03BD .....l..........
000005D0: FD07 F700 0010 FCF8 0214 FD07 F701 0010 ................
000005E0: FCF8 0255 FD07 F706 0010 FCFB 0F00 D4DD ...U............
000005F0: CAB1 B2BB CDE6 C1CB 285C 3C58 29FD 07F7 ........(\<X)...
00000600: 0900 10FC FB08 0043 6F6D 6D61 6E64 32FD .......Command2.
00000610: FE5A 0096 2EF7 1A00 51F7 1B00 D1F7 1C00 .Z......Q.......
00000620: 10FC FB0B 0063 7261 636B 6D65 2E67 6966 .....crackme.gif
00000630: FD07 F700 0010 FCF8 023B FD07 F70D 0010 .........;......
00000640: FCF8 0100 FD07 F70C 0010 FCF8 0100 FD07 ................
00000650: F701 0010 FCF9 031A 01FD 07F7 0900 10FC ................
00000660: FB06 0049 6D61 6765 31FD FE0A 00A2 E900 ...Image1.......
00000670: 0100 0000 FE0A 00A2 E900 0200 0000 FE0A ................
00000680: 00A2 E900 0300 0000 FE03 0055 1D00 0600 ...........U....
00000690: 4845 4947 4854 0500 5749 4454 480A 0053 HEIGHT..WIDTH..S
000006A0: 484F 5757 494E 444F 5708 0044 4F43 5245 HOWWINDOW..DOCRE
000006B0: 4154 450A 0041 5554 4F43 454E 5445 520B ATE..AUTOCENTER.
000006C0: 0042 4F52 4445 5253 5459 4C45 0700 4341 .BORDERSTYLE..CA
000006D0: 5054 494F 4E09 004D 4158 4255 5454 4F4E PTION..MAXBUTTON
000006E0: 0900 4D49 4E42 5554 544F 4E04 004E 414D ..MINBUTTON..NAM
000006F0: 4508 0043 4F4D 4D41 4E44 310D 0043 4F4D E..CO女朋友AND1..COM
00000700: 4D41 4E44 4255 5454 4F4E 0300 544F 5004 MANDBUTTON..TOP.
00000710: 004C 4546 5405 0054 4558 5431 0700 5445 .LEFT..TEXT1..TE
00000720: 5854 424F 5808 0052 4541 444F 4E4C 5908 XTBOX..READONLY.
00000730: 0054 4142 494E 4445 5806 004C 4142 454C .TABINDEX..LABEL
00000740: 3105 004C 4142 454C 0800 4155 544F 5349 1..LABEL..AUTOSI
00000750: 5A45 0500 5445 5854 3206 004C 4142 454C ZE..TEXT2..LABEL
00000760: 3206 004C 4142 454C 3309 0046 4F52 4543 2..LABEL3..FOREC
00000770: 4F4C 4F52 0800 434F 4D4D 414E 4432 0600 OLOR..CO女朋友AND2..
00000780: 494D 4147 4531 0500 494D 4147 4507 0050 IMAGE1..IMAGE..P
00000790: 4943 5455 5245 0500 466F 726D 3104 0066 ICTURE..Form1..f
000007A0: 6F72 6D8B 0200 0000 0064 3A5C 6161 315C orm......d:\aa1\
000007B0: 0063 7261 636B 6D65 332E 6678 7000 643A .crackme3.fxp.d:
000007C0: 5C61 6131 5C63 7261 636B 6D65 332E 7072 \aa1\crackme3.pr
000007D0: 6700 0000 0000 0029 0000 0000 0000 0029 g......).......)
000007E0: 0000 0000 0000 0000 0000 0000 4000 0000 ............@...
000007F0: A907 0000 0000 0000 0800 0000 0000 0000 ................
00000800: 0000 0000 ....

修改後的文件如下:

00000000: FEF2 FF20 0201 0000 00BB 0700 0092 0700 ... ............
00000010: 0029 0000 0000 0000 0000 0000 0000 0000 .)..............
00000020: 0000 0000 0000 0057 B703 0001 0025 0000 .......W.....%..
00000030: 004B 0200 0056 0700 0000 0000 0000 0000 .K...V..........
00000040: 0000 0000 0072 3F38 2D00 0000 0085 0300 .....r?8-.......
00000050: 0300 5500 0000 0000 0000 0008 0005 000E ..U.............
00000060: D5FE 0300 5500 00A8 0130 0025 FC43 43F4 ....U....0.%.CC.
00000070: 0000 F401 00F7 0200 9B3E F802 140F F012 .........>......
00000080: 0043 43F4 0000 F401 00F7 0200 9B3E F802 .CC..........>..
00000090: 160F 09FD F905 9200 FE43 0054 F703 0010 .........C.T....
000000A0: FC43 FB24 00C4 FACA E4C8 EBB5 C4C9 EDB7 .C.$............
000000B0: DDD6 A4BA C5C2 EBB4 EDCE F3A3 ACC7 EBBC ................
000000C0: CCD0 F8C5 ACC1 A6A3 A1FB 0800 CCE1 CABE ................
000000D0: D0C5 CFA2 F802 30F6 0400 FDFE 1F00 54F4 ......0.......T.
000000E0: 0000 F405 00F7 0600 10FC FB0C 005B CEB4 .............[..
000000F0: D7A2 B2E1 B0E6 B1BE 5DFD FE08 001B F905 ........].......
00000100: A101 FE3B 0025 FC43 4343 F400 00F4 0700 ...;.%.CCC......
00000110: F702 0067 5A9B 4343 43F4 0000 F401 00F7 ...gZ.CCC.......
00000120: 0200 67F9 04CE 0704 43E9 07A1 183D 0038 ..g.....C....=.8
00000130: 06F8 0104 085A 9B0F FDF9 0534 01FE 4000 .....Z.....4..@.
00000140: 54F7 0300 10FC 43FB 2000 C4FA CAE4 C8EB T.....C. .......
00000150: B5C4 D7A2 B2E1 C2EB B4ED CEF3 A3AC C7EB ................
00000160: BCCC D0F8 C5AC C1A6 A3A1 FB09 0020 CCE1 ............. ..
00000170: CABE D0C5 CFA2 F802 30F6 0400 FDFE 1F00 ........0.......
00000180: 54F4 0000 F405 00F7 0600 10FC FB0C 005B T..............[
00000190: CEB4 D7A2 B2E1 B0E6 B1BE 5DFD FE08 001B ..........].....
000001A0: F905 9D01 FE42 0054 F703 0010 FC43 FB23 .....B.T.....C.#
000001B0: 00D7 A3BA D8C4 FACB B3C0 FBCD A8B9 FD20 ...............
000001C0: 5646 502D 4352 4143 4B4D 4520 B5DA C8FD VFP-CRACKME ....
000001D0: B9D8 A3A1 FB08 00CC E1CA BED0 C5CF A2F8 ................
000001E0: 0240 F604 00FD FE1F 0054 F400 00F4 0500 .@.......T......
000001F0: F706 0010 FCFB 0C00 5BD2 D1D7 A2B2 E1B0 ........[.......
00000200: E6B1 BE5D FDFE 0400 1EFE 0400 1EFE 0300 ...]............
00000210: 5508 0008 0054 4849 5346 4F52 4D05 0054 U....THISFORM..T
00000220: 4558 5431 0500 5641 4C55 4503 0046 485A EXT1..VALUE..FHZ
00000230: 0600 4D53 4742 4F58 0600 4C41 4245 4C33 ..MSGBOX..LABEL3
00000240: 0700 4341 5054 494F 4E05 0054 4558 5432 ..CAPTION..TEXT2
00000250: 0D00 0A00 99F4 0000 F701 00FE 0300 5502 ..............U.
00000260: 0008 0054 4849 5346 4F52 4D07 0052 454C ...THISFORM..REL
00000270: 4541 5345 0600 556E 6C6F 6164 3200 0000 EASE..Unload2...
00000280: 0100 0000 0E00 436F 6D6D 616E 6431 2E43 ......Command1.C
00000290: 6C69 636B 3E00 0000 0100 0000 0E00 436F lick>.........Co
000002A0: 6D6D 616E 6432 2E43 6C69 636B 2702 0000 mmand2.Click'...
000002B0: 0100 0000 BF03 0D00 54F7 0000 10FC F803 ........T.......
000002C0: 84FD FE0E 0054 F701 0010 FCF9 031B 01FD .....T..........
000002D0: FE0D 0054 F702 0010 FCF8 0102 FDFE 0B00 ...T............
000002E0: 54F7 0300 10FC 61FD FE0B 0054 F704 0010 T.....a....T....
000002F0: FC61 FDFE 0D00 54F7 0500 10FC F801 02FD .a....T.........
00000300: FE2C 0054 F706 0010 FCFB 1F00 5646 502D .,.T........VFP-
00000310: 4352 4143 4B4D 4520 CFB5 C1D0 5B30 325D CRACKME ....[02]
00000320: 20C4 D1B6 C85B D6D0 B5C8 5DFD FE0B 0054 ....[....]....T
00000330: F707 0010 FC2D FDFE 0B00 54F7 0800 10FC .....-....T.....
00000340: 2DFD FE12 0054 F709 0010 FCFB 0500 466F -....T........Fo
00000350: 726D 31FD FE5F 0096 2EF7 0A00 51F7 0B00 rm1.._......Q...
00000360: D1F7 0C00 10FC F803 6CFD 07F7 0D00 10FC ........l.......
00000370: F802 60FD 07F7 0000 10FC F802 14FD 07F7 ..`.............
00000380: 0100 10FC F802 55FD 07F7 0600 10FC FB0F ......U.........
00000390: 00CE D2D2 AAD7 A2B2 E1C1 CB28 5C3C 5229 ...........(\<R)
000003A0: FD07 F709 0010 FCFB 0800 436F 6D6D 616E ..........Comman
000003B0: 6431 FDFE 5500 962E F70E 0051 F70F 00D1 d1..U......Q....
000003C0: F700 0010 FCF8 0214 FD07 F70D 0010 FCF8 ................
000003D0: 036F FD07 F710 0010 FC2D FD07 F711 0010 .o.......-......
000003E0: FCF8 0101 FD07 F70C 0010 FCF8 023D FD07 .............=..
000003F0: F701 0010 FCF8 03AB FD07 F709 0010 FCFB ................
00000400: 0500 5465 7874 31FD FE68 0096 2EF7 1200 ..Text1..h......
00000410: 51F7 1300 D1F7 1400 10FC 61FD 07F7 0600 Q.........a.....
00000420: 10FC FB12 00C7 EBCA E4C8 EBC9 EDB7 DDD6 ................
00000430: A4BA C5C2 EBA3 BAFD 07F7 0000 10FC F802 ................
00000440: 10FD 07F7 0D00 10FC F801 02FD 07F7 0C00 ................
00000450: 10FC F802 41FD 07F7 0100 10FC F803 6EFD ....A.........n.
00000460: 07F7 0900 10FC FB06 004C 6162 656C 31FD .........Label1.
00000470: FE55 0096 2EF7 1500 51F7 0F00 D1F7 0000 .U......Q.......
00000480: 10FC F802 14FD 07F7 0D00 10FC F803 6FFD ..............o.
00000490: 07F7 1000 10FC 2DFD 07F7 1100 10FC F801 ......-.........
000004A0: 02FD 07F7 0C00 10FC F802 52FD 07F7 0100 ..........R.....
000004B0: 10FC F803 ABFD 07F7 0900 10FC FB05 0054 ...............T
000004C0: 6578 7432 FDFE 6800 962E F716 0051 F713 ext2..h......Q..
000004D0: 00D1 F714 0010 FC61 FD07 F706 0010 FCFB .......a........
000004E0: 1200 C7EB CAE4 C8EB C4FA B5C4 D7A2 B2E1 ................
000004F0: C2EB A3BA FD07 F700 0010 FCF8 0210 FD07 ................
00000500: F70D 0010 FCF8 0102 FD07 F70C 0010 FCF8 ................
00000510: 0256 FD07 F701 0010 FCF8 036E FD07 F709 .V.........n....
00000520: 0010 FCFB 0600 4C61 6265 6C32 FDFE 6D00 ......Label2..m.
00000530: 962E F717 0051 F713 00D1 F706 0010 FCFB .....Q..........
00000540: 0C00 5BCE B4D7 A2B2 E1B0 E6B1 BE5D FD07 ..[..........]..
00000550: F700 0010 FCF8 020D FD07 F70D 0010 FCF8 ................
00000560: 0103 FD07 F70C 0010 FCF8 0372 FD07 F701 ...........r....
00000570: 0010 FCF8 0249 FD07 F718 0010 FC43 F801 .....I.......C..
00000580: 00F8 0100 F803 FFEA 5EFD 07F7 0900 10FC ........

--------------------------------------------------------------------------------
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次