1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracker Handbook 1.0 part 313 pdf

10 120 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 757,03 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đoạn code này check xem FN ta nhập vào có nằm trong danh sách BlackList của nó hay không.. Và EBX ở đây chính là số lần lặp của đoạn code này.. Muốn biết thì chúng ta phải xem xem tại đị

Trang 1

-=== Calculation 2 === -

0040C7FD | 83C4 0C ADD ESP,0C

0040C800 | 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]

0040C804 | 51 PUSH ECX ; /StringToAdd

0040C805 | 53 PUSH EBX ; |ConcatString

0040C806 | FF15 C4614200 CALL DWORD PTR DS:[<&KERNEL32.lstrcatA>] ; \lstrcatA 0040C80C | 33C9 XOR ECX,ECX ;<== Sec4 = 0;

0040C80E | 33C0 XOR EAX,EAX ;<== i = 0;

0040C810 | 85F6 TEST ESI,ESI

0040C812 | 76 14 JBE SHORT FolderVi.0040C828

0040C814 | 8B15 60B54200 MOV EDX,DWORD PTR DS:[42B560] <=4th Default Value (0x0B) -=== Calculation 3 === -

0040C81A |> 0FBE2C38 /MOVSX EBP,BYTE PTR DS:[EAX+EDI] ;<== FU[i]

0040C81E | 0FAFEA |IMUL EBP,EDX ; Temp = FU[i] * 4th Default Value (0x0B)

0040C821 | 03CD |ADD ECX,EBP ; Sec4 =Sec4 + Temp

0040C823 | 40 |INC EAX ;i ++

0040C824 | 3BC6 |CMP EAX,ESI ;While (i < Length (FU))

0040C826 |.^ 72 F2 \JB SHORT FolderVi.0040C81A ; Continue Loop

0040C828 |> 51 PUSH ECX ; /<%u> ; Sec4 (Convert hex > dec)

0040C829 | 8D5424 14 LEA EDX,DWORD PTR SS:[ESP+14] ; |

0040C82D | 68 749E4200 PUSH FolderVi.00429E74 ; |Format = "%u"

0040C832 | 52 PUSH EDX ; |s

0040C833 | FF15 70624200 CALL DWORD PTR DS:[<&USER32.wsprintfA>] ; \wsprintfA -=== Calculation 3 === -

0040C839 | 83C4 0C ADD ESP,0C

0040C83C | 8D4424 10 LEA EAX,DWORD PTR SS:[ESP+10]

0040C840 | 50 PUSH EAX ; /StringToAdd

0040C841 | 53 PUSH EBX ; |ConcatString

0040C842 | FF15 C4614200 CALL DWORD PTR DS:[<&KERNEL32.lstrcatA>] ; \lstrcatA <== EAX : Right Code

0040C848 | 5F POP EDI

0040C849 | 5E POP ESI

0040C84A | 5D POP EBP

0040C84B | 5B POP EBX

0040C84C | 81C4 00010000 ADD ESP,100

0040C852 \ C3 RETN

-=== Trace Into === -

0040C680 | 8B9424 140100>MOV EDX,DWORD PTR SS:[ESP+114] ;<=== FS

0040C687 | 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C] ;<=== Right Serial

0040C68B | 51 PUSH ECX

0040C68C | 52 PUSH EDX

0040C68D | E8 2EFEFFFF CALL FolderVi.0040C4C0 ;<== Compare

0040C692 | 83C4 10 ADD ESP,10

0040C695 | F7D8 NEG EAX

0040C697 | 1BC0 SBB EAX,EAX

0040C699 | 5E POP ESI

0040C69A | F7D8 NEG EAX

Trang 2

0040C69C | 81C4 00010000 ADD ESP,100

0040C6A2 \ C3 RETN

-=== Trace Into === -

0040C178 83C4 08 ADD ESP,8

0040C17B 85C0 TEST EAX,EAX ;<=== Wrong Code Jump to Nag

0040C17D 74 43 JE SHORT FolderVi.0040C1C2

0040C17F 8D5424 04 LEA EDX,DWORD PTR SS:[ESP+4]

0040C183 8D8424 040100>LEA EAX,DWORD PTR SS:[ESP+104]

0040C18A 52 PUSH EDX

0040C18B 50 PUSH EAX

0040C18C 68 18964200 PUSH FolderVi.00429618 ; ASCII "Software\FolderView\Registration" 0040C191 68 01000080 PUSH 80000001

0040C196 E8 15050000 CALL FolderVi.0040C6B0

0040C19B 68 18964200 PUSH FolderVi.00429618 ; ASCII "Software\FolderView\Registration" 0040C1A0 68 01000080 PUSH 80000001

0040C1A5 E8 16020000 CALL FolderVi.0040C3C0

0040C1AA 83C4 18 ADD ESP,18

0040C1AD 6A 01 PUSH 1 ; /Result = 1

0040C1AF 56 PUSH ESI ; |hWnd

0040C1B0 FF15 34624200 CALL DWORD PTR DS:[<&USER32.EndDialog>] ; \EndDialog 0040C1B6 33C0 XOR EAX,EAX

0040C1B8 5E POP ESI

0040C1B9 81C4 00020000 ADD ESP,200

0040C1BF C2 1000 RETN 10

0040C1C2 > 6A 00 PUSH 0 ; /Style = MB_OK|MB_APPLMODAL

0040C1C4 68 74964200 PUSH FolderVi.00429674 ; |Title = "FolderView"

[B]0040C1C9 68 90B84200 PUSH FolderVi.0042B890 ; |Text = "Sorry, you have entered an incorrect registration code."[/b]

0040C1CE 56 PUSH ESI ; |hOwner

0040C1CF FF15 78624200 CALL DWORD PTR DS:[<&USER32.MessageBoxA>] ;

\MessageBoxA

0040C1D5 > 33C0 XOR EAX,EAX ; Default case of switch 0040C0CD

0040C1D7 5E POP ESI

0040C1D8 81C4 00020000 ADD ESP,200

0040C1DE C2 1000 RETN 10

/*/*/*/ - SERIAL tương ứng :

User : kienmanowar Serial : 1730-47200-1510-12980

User : REA-cRaCkErTeAm Serial : 2005-50200-1705-13805

III – Keygen :

Code:

char reaName[64]={0};

char reaSerial[64]={0};

int LenName=0;

int i=0,j=0;

Trang 3

int Temp=0, Temp1 = 0;

char Sec1[10] = {0}, Sec2[10] = {0}, Sec3[10] = {0}, Sec4[10] = {0};

int Sec1_temp = 0, Sec2_temp = 0, Sec3_temp = 0,Sec4_temp = 0;

LenName=GetDlgItemText(IDC_NAME,reaName,64);

if (LenName < 1)

{

MessageBox(" -===== Your name atleast 1 chart ===== - ","Hey !! Please input your name again !! ");

}

else

{

// Caculation 0 while (i < LenName) {

Temp = reaName[i] + 0x32;

Temp1 = Temp1 + Temp ; i++;

} Sec1_temp = Temp1;

wsprintf(Sec1,"%u-",Sec1_temp);

i = 0;

Temp = 0;

Temp1 = 0;

// Calculation 1 while (i < LenName) {

Temp = reaName[i] * 0x28;

Temp1 = Temp1 + Temp;

i++;

} Sec2_temp = Temp1;

wsprintf(Sec2,"%u-",Sec2_temp);

//Calculation 2

i = 0;

Temp = 0 ; Temp1 = 0;

while ( i < LenName) {

Temp = reaName[i] + 0x1E;

Temp1 = Temp1 + Temp;

i++;

} Sec3_temp = Temp1;

wsprintf(Sec3,"%u-",Sec3_temp);

Trang 4

OK

Trang 6

} Temp = reaName[i] + j + 4*Temp;

Trace tiếp tới đây Đoạn code này check xem FN ta nhập vào có nằm trong danh sách BlackList của nó

hay không Nếu có thì bắn “HACKER” :

Nếu không thì nhảy qua :

Đặt vệt sáng tại địa chỉ 180039D4 rồi nhìn xuống phía

dưới :

Oki và chúng ta sẽ thấy tại địa chỉ [1800A9B8] nó sẽ chứa các Magic String Mỗi Magic String này có

10 kí tự được ngăn cách nhau bởi dấu ‘.’

Trace tiếp chúng ta sẽ thấy tại địa chỉ 180039E3 chương trình so sánh EBX với giá trị chứa trong

[18009008] (so sánh EBX với 0x66) Và EBX ở đây chính là số lần lặp của đoạn code này Như vậy

đoạn code này sẽ lặp đi lặp lại tối đa là 102 lần, tùy thuộc vào lệnh nhảy tại 180039FD

có được Set

hay không Muốn biết thì chúng ta phải xem xem tại địa chỉ 180039F3 chương trình sẽ kiểm tra cái gì

và như thế nào

Trang 7

Trace into :

Đoạn code này tính giá trị EBX từ chuỗi “Bejeweled1240409” cuối cùng EBX = 0x29 Trace tiếp:

Đoạn code này sẽ check 10 kí tự đầu tiên trong chuỗi FS Quá trình kiểm

tra như sau :

- Đầu tiên chương trình sẽ check xem vị trí xuất hiện của kí tự FS[0] trong

chuỗi

Str1 = "ZXHYGKLQ9867WEPRCDSANMJBVFTU5342"

- CL = vị trí xuất hiện

- Sau đó chương trình đem kí tự đầu tiên của chuỗi MagicStr mà EDI đang

trỏ tới để tính :

Trang 8

+ DL = MagicStr[1]

+ DL = DL AND 0x7F

+ DL = DL ^ 0x29

- EAX = DL

- EDX = EAX % 0x20 = Temp1

- EAX = CL

- Compare EAX và EDX

- Nếu bằng thì lặp lại quá trình check như trên cho các kí tự tiếp theo trong FS và MagicStr cho đến

hết, cuối cùng EAX = 1 còn không thì EAX = 0, EDI sẽ trỏ tới chuỗi MagicStr tiếp theo và lại lặp lại quá

trình kiểm tra 10 kí tự đầu tiên trong FS với chuỗi MagicStr này

Vậy để 10 kí tự đầu tiên thỏa mãn đoạn code này thì các FS[i] (i = 0 9) = Str1[Temp1]

Có tất cả 0x66 chuỗi MagicStr tất cả Chúng ta hãy tìm cách copy tất cả các MagicStr này và Paste vào

Notepad để còn dùng khi code Keygen (sử dụng Follow Value in Dump)

- Sau khi quá trình kiểm tra trên được thỏa mãn thì chương trình sẽ check tiếp :

Quá trình này kiểm tra như sau : Chương trình lấy giá trị Temp tính được ở trên đem chia 0x66 lấy

phần dư, rồi đem so sánh với số lần lặp Có nghĩa là EBX = Temp % 0x66 hay là chúng ta phải lấy

chuỗi MagicStr thứ [Temp % 0x66] để tính 10 kí tự đầu tiên trong Serial chứ không thể lấy ngẫu nhiên

bất kì một MagicStr nào để tính số Serial

Nếu 10 kí tự đầu tiên mà thỏa mãn đoạn code trên thì nó sẽ nhảy qua RETN và check tiếp 5 kí tự còn

lại :

Trace tiếp :

Trang 9

Trace tiếp Đoạn code này còn chuyển giá trị Temp (<100000) sang

dạng chuỗi

Tiếp tục tới đây; nếu chỉ patch thì tại 18003B00 : Chuyển

75 à 74

Tại địa chỉ 18003AE9 ta Trace into

:

Đây chính là đoạn code check 5 kí tự còn lại trong FS Quá trình kiểm

tra như sau :

- Đầu tiên nó check xem giá trị Temp có lớn hơn 100000 hay không Nếu có thì SAR Temp,1 cho đến

khi Temp < 100000

- Convert Temp thành xâu rồi lấy từng kí tự Temp[i] để tính :

+ EDX = Temp[i] % 20 = Temp2 – vị trí xuất hiện FS[i] (i = 10 14) trong chuỗi Str1

+ FS[i] (i = 10 14) = Str1[Temp2]

OK tới đây ta có thể thấy toàn bộ quá trình check Serial của cái Game này Và bây giờ

là Keygen :

III Keygen :

//Khai bao;

Ngày đăng: 03/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN