黑客字典II

看雪資料發表於2002-08-19

實際上它也不用pj,在作者網上已經有密碼了。寫此文,只是看看它的註冊方式而已。
黑客字典II是一個共享軟體,如果您需要使用它的全部功能,測需要進行註冊。這種註冊是免費的。您只要發一封標題為“註冊”的電子郵件到作者信箱中即可收到以同樣方式發回的註冊碼。為了給作者少添點麻煩,還是自己解決吧。
作用:生成字典檔檔案。
1、輸入使用者名稱和註冊碼後,啟動TRW2000,設中斷BPX HMEMCPY 再回到程式中,按確定,攔截成功。
2、按F10直到第二次回到程式中是慢走。看到如下程式。
0167:00401BC6  CALL     00420016
0167:00401BCB  MOV      EAX,[EBP+78]
0167:00401BCE  LEA      ESI,[EBP+5C]
0167:00401BD1  PUSH     EBX
0167:00401BD2  PUSH     BYTE -01
0167:00401BD4  PUSH     DWORD B1
0167:00401BD9  PUSH     EAX
0167:00401BDA  CALL     EDI
0167:00401BDC  MOV      ECX,[ESI+1C]
0167:00401BDF  PUSH     EBX
0167:00401BE0  PUSH     EBX
0167:00401BE1  PUSH     DWORD B7
0167:00401BE6  PUSH     ECX
0167:00401BE7  CALL     EDI
0167:00401BE9  LEA      EDX,[ESP+84]
0167:00401BF0  PUSH     BYTE +64
0167:00401BF2  PUSH     EDX
0167:00401BF3  MOV      ECX,ESI
0167:00401BF5  CALL     00420016
0167:00401BFA  LEA      EDI,[ESP+20]
0167:00401BFE  OR       ECX,BYTE -01
0167:00401C01  XOR      EAX,EAX
0167:00401C03  REPNE SCASB
0167:00401C05  NOT      ECX
0167:00401C07  DEC      ECX
0167:00401C08  JZ       NEAR 00401E24
0167:00401C0E  LEA      EDI,[ESP+84]
0167:00401C15  OR       ECX,BYTE -01
0167:00401C18  REPNE SCASB
0167:00401C1A  NOT      ECX
0167:00401C1C  DEC      ECX
0167:00401C1D  JZ       NEAR 00401E24
0167:00401C23  LEA      EDI,[ESP+20]
0167:00401C27  OR       ECX,BYTE -01
0167:00401C2A  XOR      ESI,ESI
0167:00401C2C  REPNE SCASB
0167:00401C2E  NOT      ECX
0167:00401C30  DEC      ECX
0167:00401C31  JZ       00401CAC
上面的程式碼是什麼意思,你自己看吧。重點是下文。
0167:00401C33  MOVSX    EDI,BYTE [ESP+ESI+20]取使用者名稱中的一個位元組,
0167:00401C38  MOV      EAX,EDI做為被除數
0167:00401C3A  MOV      ECX,0A除數
0167:00401C3F  CDQ    
0167:00401C40  IDIV     ECX
0167:00401C42  MOV      ECX,EDX餘數傳給ECX。
0167:00401C44  AND      EDX,80000001進行與運算,
0167:00401C4A  JNS      00401C51不為負就跳。
0167:00401C4C  DEC      EDX
0167:00401C4D  OR       EDX,BYTE -02
0167:00401C50  INC      EDX
0167:00401C51  JNZ      00401C69不為零就跳
0167:00401C53  MOV      EAX,EDI否則重新賦值再次進行計算。
0167:00401C55  MOV      ECX,1A此次除數被換成1A。
0167:00401C5A  CDQ    
0167:00401C5B  IDIV     ECX
0167:00401C5D  ADD      DL,41餘數與DL相加得出註冊碼
0167:00401C60  MOV      [ESP+ESI+0148],DL把註冊碼存入[ESP+ESI+0148]中。
0167:00401C67  JMP      SHORT 00401C97
0167:00401C69  MOV      EAX,ECX把餘數傳給EAX
0167:00401C6B  MOV      EBX,03
0167:00401C70  CDQ    
0167:00401C71  IDIV     EBX
0167:00401C73  TEST     EDX,EDX
0167:00401C75  JNZ      00401C8D不為零就跳,用上面的結果ECX+31得出註冊碼。
0167:00401C77  MOV      EAX,EDI如果為零重新賦值計算。
0167:00401C79  MOV      ECX,1A除數
0167:00401C7E  CDQ    
0167:00401C7F  IDIV     ECX
0167:00401C81  ADD      DL,61 餘數DL與61相加得出註冊碼
0167:00401C84  MOV      [ESP+ESI+0148],DL
0167:00401C8B  JMP      SHORT 00401C97
0167:00401C8D  ADD      CL,31得出註冊碼
0167:00401C90  MOV      [ESP+ESI+0148],CL
0167:00401C97  LEA      EDI,[ESP+20]你所輸入的使用者名稱串地址。
0167:00401C9B  OR       ECX,BYTE -01
0167:00401C9E  XOR      EAX,EAX
0167:00401CA0  INC      ESI
0167:00401CA1  REPNE SCASB
0167:00401CA3  NOT      ECX
0167:00401CA5  DEC      ECX
0167:00401CA6  CMP      ESI,ECX ESI是迴圈的次數。 ECX是使用者名稱的總的位數,
0167:00401CA8  JC       00401C33有進位(也就是沒有迴圈完畢)就跳進行下一輪計算。
0167:00401CAA  XOR      EBX,EBX
0167:00401CAC  PUSH     EBP
0167:00401CAD  LEA      ECX,[ESP+EC]
0167:00401CB4  MOV      [ESP+ESI+014C],BL
0167:00401CBB  CALL     00401EB0
0167:00401CC0  MOV      [ESP+01B4],EBX
0167:00401CC7  LEA      ESI,[ESP+84]假碼。
0167:00401CCE  LEA      EAX,[ESP+0148]真碼
至此就可以結束了,下文是進行比較。
0167:00401CD5  MOV      DL,[EAX]
0167:00401CD7  MOV      CL,DL
0167:00401CD9  CMP      DL,[ESI]
0167:00401CDB  JNZ      00401CF9
0167:00401CDD  CMP      CL,BL
0167:00401CDF  JZ       00401CF5
0167:00401CE1  MOV      DL,[EAX+01]
0167:00401CE4  MOV      CL,DL
0167:00401CE6  CMP      DL,[ESI+01]
0167:00401CE9  JNZ      00401CF9
0167:00401CEB  ADD      EAX,BYTE +02
0167:00401CEE  ADD      ESI,BYTE +02
0167:00401CF1  CMP      CL,BL
0167:00401CF3  JNZ      00401CD5
0167:00401CF5  XOR      EAX,EAX
0167:00401CF7  JMP      SHORT 00401CFE
0167:00401CF9  SBB      EAX,EAX
0167:00401CFB  SBB      EAX,BYTE -01
總結:使用者名稱有幾位,註冊碼就有幾位。舉例。
使用者名稱:abcde
密碼:8UvW2

相關文章