• 标 题:新鲜上架!最新 flashget v1.1 破解详解! (10千字)
  • 作 者:eryl
  • 时 间:2002-1-19 3:02:38
  • 链 接:http://bbs.pediy.com

THE CRACKING OF FLASHGET V1.1

先用FI检查,发现程序为VC,未加壳.
在启动W32DASM反汇编.通过串式参考,找到"RESTART FLASHGET..."

仔细检查发现起上下又相同的两段程序,那么第二段应该是重起比较的重要区域.
看到第二段的起始位置,记下来.

启动FLASHGET,在移去广告处注册.确定.程序要求重起验证.关闭程序.

启动TRW2000, 装载程序.

下 GO 00418060

到如下地址:

0167:00418060  PUSH    BYTE -01
0167:00418062  PUSH    DWORD 004AC6D0
0167:00418067  MOV      EAX,[FS:00]
0167:0041806D  PUSH    EAX
0167:0041806E  MOV      [FS:00],ESP
0167:00418075  SUB      ESP,BYTE +14
0167:00418078  PUSH    EBX
0167:00418079  PUSH    ESI
0167:0041807A  PUSH    DWORD 004E13D4
0167:0041807F  PUSH    DWORD 004DB378
0167:00418084  LEA      EAX,[ESP+14]
0167:00418088  PUSH    DWORD 004DA448
0167:0041808D  MOV      ESI,ECX
0167:0041808F  PUSH    EAX
0167:00418090  CALL    004A47FD
0167:00418095  PUSH    DWORD 004E13D4
0167:0041809A  PUSH    DWORD 004DB370
0167:0041809F  LEA      ECX,[ESP+10]
0167:004180A3  PUSH    DWORD 004DA448
0167:004180A8  PUSH    ECX
0167:004180A9  MOV      ECX,ESI
0167:004180AB  MOV      DWORD [ESP+34],00
0167:004180B3  CALL    004A47FD
0167:004180B8  MOV      EDX,[ESP+0C]
0167:004180BC  MOV      EBX,01
0167:004180C1  MOV      [ESP+24],BL
0167:004180C5  MOV      EAX,[EDX-08]...GET YOUR NAME
0167:004180C8  TEST    EAX,EAX
0167:004180CA  JZ      NEAR 0041819F           
0167:004180D0  MOV      EAX,[ESP+08].... GET FALSE CODE
0167:004180D4  MOV      ECX,[EAX-08]
0167:004180D7  TEST    ECX,ECX
0167:004180D9  JZ      NEAR 0041819F
0167:004180DF  PUSH    EDI
0167:004180E0  PUSH    EBX
0167:004180E1  PUSH    BYTE +43
0167:004180E3  LEA      ECX,[ESP+20]
0167:004180E7  CALL    0048A939
0167:004180EC  LEA      ECX,[ESP+1C]
0167:004180F0  PUSH    EBX
0167:004180F1  PUSH    ECX
0167:004180F2  LEA      ECX,[ESP+14]
0167:004180F6  MOV      BYTE [ESP+30],02
0167:004180FB  CALL    0048ADF8
0167:00418100  MOV      EDX,[ESP+18]
0167:00418104  MOV      EAX,[EAX]
0167:00418106  PUSH    EDX
0167:00418107  PUSH    EAX
0167:00418108  CALL    0047B913
0167:0041810D  ADD      ESP,BYTE +08
0167:00418110  LEA      ECX,[ESP+1C]
0167:00418114  TEST    EAX,EAX
0167:00418116  SETZ    AL
0167:00418119  AND      EAX,FF
0167:0041811E  MOV      EDI,EAX
0167:00418120  CALL    0048F4C3
0167:00418125  LEA      ECX,[ESP+18]
0167:00418129  MOV      [ESP+28],BL
0167:0041812D  CALL    0048F4C3
0167:00418132  MOV      ECX,[ESP+10]
0167:00418136  PUSH    EDI
0167:00418137  LEA      EDX,[ESP+18]
0167:0041813B  PUSH    ECX
0167:0041813C  PUSH    EDX
0167:0041813D  MOV      ECX,ESI
0167:0041813F  CALL    004181E0....THE CRITICAL CALL! F8 TO GO INTO THE CALL!
0167:00418144  MOV      EAX,[ESP+0C]
0167:00418148  MOV      ECX,[ESP+14]
0167:0041814C  PUSH    EAX
0167:0041814D  PUSH    ECX
0167:0041814E  CALL    0047B913
0167:00418153  ADD      ESP,BYTE +08
0167:00418156  MOV      [ESP+28],BL
0167:0041815A  TEST    EAX,EAX
0167:0041815C  POP      EDI
0167:0041815D  LEA      ECX,[ESP+10]
0167:00418161  JNZ      0041819A.......HERE SHOULD BE A JUMP! IF NOT,UNREGISTERED!
0167:00418163  CALL    0048F4C3
0167:00418168  LEA      ECX,[ESP+08]
0167:0041816C  MOV      BYTE [ESP+24],00
0167:00418171  CALL    0048F4C3
0167:00418176  LEA      ECX,[ESP+0C]
0167:0041817A  MOV      DWORD [ESP+24],FFFFFFFF
0167:00418182  CALL    0048F4C3
0167:00418187  MOV      EAX,EBX
0167:00418189  POP      ESI
0167:0041818A  POP      EBX
0167:0041818B  MOV      ECX,[ESP+14]
0167:0041818F  MOV      [FS:00],ECX
0167:00418196  ADD      ESP,BYTE +20


第二段:
0167:004181E0 6AFF            PUSH    BYTE -01
0167:004181E2 68FFC64A00      PUSH    DWORD 004AC6FF
0167:004181E7 64A100000000    MOV      EAX,[FS:00]
0167:004181ED 50              PUSH    EAX
0167:004181EE 64892500000000  MOV      [FS:00],ESP....GET YOUR NAME
0167:004181F5 83EC58          SUB      ESP,BYTE +58
0167:004181F8 8B54246C        MOV      EDX,[ESP+6C]
0167:004181FC 56              PUSH    ESI
0167:004181FD 57              PUSH    EDI
0167:004181FE 8BFA            MOV      EDI,EDX
0167:00418200 83C9FF          OR      ECX,BYTE -01
0167:00418203 33C0            XOR      EAX,EAX
0167:00418205 F2AE            REPNE SCASB
0167:00418207 B878787878      MOV      EAX,78787878....GET THE FALSE CODE
0167:0041820C C744240800000000 MOV      DWORD [ESP+08],00
0167:00418214 8944240C        MOV      [ESP+0C],EAX...PUT YOUR FALSE CODE INTO HEX FORM
0167:00418218 F7D1            NOT      ECX
0167:0041821A 89442410        MOV      [ESP+10],EAX
0167:0041821E 49              DEC      ECX
0167:0041821F 89442414        MOV      [ESP+14],EAX
0167:00418223 8BF1            MOV      ESI,ECX
0167:00418225 89442418        MOV      [ESP+18],EAX
0167:00418229 83FE10          CMP      ESI,BYTE +10
0167:0041822C 8844241C        MOV      [ESP+1C],AL
0167:00418230 B810000000      MOV      EAX,10
0167:00418235 7F02            JG      00418239
0167:00418237 8BC6            MOV      EAX,ESI
0167:00418239 50              PUSH    EAX
0167:0041823A 8D4C2410        LEA      ECX,[ESP+10]
0167:0041823E 52              PUSH    EDX
0167:0041823F 51              PUSH    ECX
0167:00418240 E83B390600      CALL    0047BB80
0167:00418245 83C40C          ADD      ESP,BYTE +0C
0167:00418248 33C9            XOR      ECX,ECX
0167:0041824A 33C0            XOR      EAX,EAX
0167:0041824C 3BC6            CMP      EAX,ESI....BEGIN TO COMPUTE THE REG CODE
0167:0041824E 7C15            JL      00418265
0167:00418250 83F805          CMP      EAX,BYTE +05
0167:00418253 7C10            JL      00418265
0167:00418255 8A540407        MOV      DL,[ESP+EAX+07]
0167:00418259 329108954D00    XOR      DL,[ECX+004D9508]
0167:0041825F 8854040C        MOV      [ESP+EAX+0C],DL
0167:00418263 EB0A            JMP      SHORT 0041826F
0167:00418265 8A9108954D00    MOV      DL,[ECX+004D9508]....GET "hytzl"
0167:0041826B 3054040C        XOR      [ESP+EAX+0C],DL
0167:0041826F 41              INC      ECX
0167:00418270 83F905          CMP      ECX,BYTE +05
0167:00418273 7C02            JL      00418277
0167:00418275 33C9            XOR      ECX,ECX
0167:00418277 8A54040C        MOV      DL,[ESP+EAX+0C]
0167:0041827B 80E27F          AND      DL,7F
0167:0041827E 8854040C        MOV      [ESP+EAX+0C],DL
0167:00418282 40              INC      EAX
0167:00418283 83F808          CMP      EAX,BYTE +08
0167:00418286 7CC4            JL      0041824C.....JUMP TO COMPUTE THE REG CODE
0167:00418288 0FBE44240D      MOVSX    EAX,BYTE [ESP+0D]
0167:0041828D 0FBE4C240E      MOVSX    ECX,BYTE [ESP+0E]
0167:00418292 69C07CE23E00    IMUL    EAX,EAX,003EE27C
0167:00418298 69C9EF518101    IMUL    ECX,ECX,018151EF
0167:0041829E 03C1            ADD      EAX,ECX
0167:004182A0 8B742478        MOV      ESI,[ESP+78]
0167:004182A4 0FBE4C240C      MOVSX    ECX,BYTE [ESP+0C]
0167:004182A9 8D1489          LEA      EDX,[ECX+ECX*4]
0167:004182AC 8D0CD1          LEA      ECX,[ECX+EDX*8]
0167:004182AF 8D0C49          LEA      ECX,[ECX+ECX*2]
0167:004182B2 03C1            ADD      EAX,ECX
0167:004182B4 0FBE4C240F      MOVSX    ECX,BYTE [ESP+0F]
0167:004182B9 85F6            TEST    ESI,ESI
0167:004182BB 7408            JZ      004182C5
0167:004182BD 69C912E10100    IMUL    ECX,ECX,0001E112
0167:004182C3 EB06            JMP      SHORT 004182CB
0167:004182C5 69C989420800    IMUL    ECX,ECX,00084289
0167:004182CB 0FBE542412      MOVSX    EDX,BYTE [ESP+12]
0167:004182D0 0FBE7C2410      MOVSX    EDI,BYTE [ESP+10]
0167:004182D5 69D2FC65BD00    IMUL    EDX,EDX,00BD65FC
0167:004182DB 69FFEC160F00    IMUL    EDI,EDI,000F16EC
0167:004182E1 03C1            ADD      EAX,ECX
0167:004182E3 03D7            ADD      EDX,EDI
0167:004182E5 0FBE4C2413      MOVSX    ECX,BYTE [ESP+13]
0167:004182EA 0FBE7C2411      MOVSX    EDI,BYTE [ESP+11]
0167:004182EF 69C900E37134    IMUL    ECX,ECX,3471E300
0167:004182F5 69FFEFDD0749    IMUL    EDI,EDI,4907DDEF
0167:004182FB 03D7            ADD      EDX,EDI
0167:004182FD 03C8            ADD      ECX,EAX
0167:004182FF 8D0411          LEA      EAX,[ECX+EDX]
0167:00418302 50              PUSH    EAX
0167:00418303 8D442424        LEA      EAX,[ESP+24]
0167:00418307 6880B34D00      PUSH    DWORD 004DB380
0167:0041830C 50              PUSH    EAX
0167:0041830D E8AD3C0600      CALL    0047BFBF
0167:00418312 8A4C2439        MOV      CL,[ESP+39]
0167:00418316 8A542434        MOV      DL,[ESP+34]
0167:0041831A 8A442435        MOV      AL,[ESP+35]
0167:0041831E 83C40C          ADD      ESP,BYTE +0C
0167:00418321 80C11B          ADD      CL,1B
0167:00418324 80C215          ADD      DL,15
0167:00418327 0411            ADD      AL,11
0167:00418329 C644243000      MOV      BYTE [ESP+30],00
0167:0041832E 85F6            TEST    ESI,ESI
0167:00418330 884C242E        MOV      [ESP+2E],CL
0167:00418334 8854242B        MOV      [ESP+2B],DL
0167:00418338 8844242C        MOV      [ESP+2C],AL
0167:0041833C 7405            JZ      00418343.....here is your right code!
0167:0041833E C644242643      MOV      BYTE [ESP+26],43
0167:00418343 8D4C2426        LEA      ECX,[ESP+26]....send the right code to ecx
0167:00418347 51              PUSH    ECX....the reg code!
0167:00418348 8D4C2478        LEA      ECX,[ESP+78]
0167:0041834C E8E0710700      CALL    0048F531
0167:00418351 8B742470        MOV      ESI,[ESP+70]
0167:00418355 8D542474        LEA      EDX,[ESP+74]
0167:00418359 BF01000000      MOV      EDI,01
0167:0041835E 52              PUSH    EDX
0167:0041835F 8BCE            MOV      ECX,ESI
0167:00418361 897C246C        MOV      [ESP+6C],EDI
0167:00418365 E8CE6E0700      CALL    0048F238
0167:0041836A 897C2408        MOV      [ESP+08],EDI
0167:0041836E 8D4C2474        LEA      ECX,[ESP+74]
0167:00418372 C644246800      MOV      BYTE [ESP+68],00
0167:00418377 E847710700      CALL    0048F4C3
0167:0041837C 8B4C2460        MOV      ECX,[ESP+60]
0167:00418380 8BC6            MOV      EAX,ESI
0167:00418382 5F              POP      EDI
0167:00418383 5E              POP      ESI
0167:00418384 64890D00000000  MOV      [FS:00],ECX
0167:0041838B 83C464          ADD      ESP,BYTE +64


keymake keygen:

中断地址:41814d
中断次数:1
首字节:51
命令长度:1

选择内存方式,再选 ecx
生成keygen!
ok!