Tải bản đầy đủ (.pdf) (7 trang)

Cracker Handbook 1.0 part 13 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (139.29 KB, 7 trang )

Với đọan mã trên ta suy luận như sau: password của chúng ta đang ở tại địa chỉ
[edx+eax] được đem so sánh với 0. Vậy ở đây chưa tìm được số serial đúng. Ta
bấm F5 tiếp.

SI ngắt chương trình lần thứ 2 ở đây:
Code:
* Referenced by a (U)nconditional or ©onditional Jump at Address:
|:00401263©
|
:0040124E 8A1C01 mov bl, byte ptr [ecx+eax]
:00401251 3A1C02 cmp bl, byte ptr [edx+eax] Ngắt chương trình
tại đây
:00401254 7408 je 0040125E
:00401256 B801000000 mov eax, 00000001
:0040125B 5B pop ebx
:0040125C 5D pop ebp
:0040125D C3 ret
Hê hê, vậy là nó so sánh byte đầu tiên trong chuổi pass dzỡm chúng ta nhập vào tại
addr [edx+eax] với byte đầu tiên tại addr [ecx+eax]. Và tui đóan rằng serial đúng
đang nằm trong memory tại addr [ecx+eax] .
Làm sao biết serail đúng là gì, chúng ta dùng lệnh dump trong SI là ‘d’ để xem
nhé.
Vì hiện tại eax=0 nên [ecx+eax]=[ecx]
Vậy ta đánh lệnh sau:
‘d ecx’
OK , bạn hảy nhìn lên cửa sổ Data Window của SI bạn sẽ thấy chuổi:
‘ZD6-KP8-B634’
Máy của bạn sẽ khác , ko giống thế đâu. Ghi ra giấy chuổi đó.
Hìhì, bây giờ thóat khỏi chương trình và nhập lại pass như sau: ‘ZD6-KP8-B634’

Hahaha, chúng ta đã tìm ra nó rồi. Hy vọng là bạn cũng tìm ra .



Có 1 điều tui muốn nói với các bạn là mỗi khi cài lại (bạn xóa hết thư mục C:\
SWLIPI32\ vì pass sẽ lưu trong 1 file chứa ở thư mục này) thì chương trình sẽ cho
bạn 1 chuổi serial đúng khác, ko giống nhau đâu. Bạn hảy thử xem sao. Tại sao nó
như thế , chúng ta tìm hiểu sao nhé.
Bye, chào các bạn. Chúc vui vẽ.
Nếu các bạn làm ko được báo cho benina biết nhé. Xin cám ơn.
Benina 2/9/2004
Chuyển đổi giửa các hệ cơ số

Translated & rewrote: haule_nth (REA)

Có thể dùng tool cho nhanh, nhưng nếu không có chúng trong tay thì sao :D
Bài viết sẽ có các phần:
Quote:
1. DECIMAL -> BINARY (thập phân sang nhị phân)
2. DECIMAL -> HEX (thập phân sang hex)
3. HEX -> BINARY (hex sang nhị phân)
4. BINARY -> HEX (nhị phân sang hex)
5. BINARY -> DECIMAL(nhị phân sang thập phân)
6. HEX -> DECIMAL (hex sang thập phân)

Điều đầu tiên là các pác học thuộc cái bảng này cho em:
Quote:

0000 | 0 | 0
0001 | 1 | 1
0010 | 2 | 2
0011 | 3 | 3
0100 | 4 | 4

0101 | 5 | 5
0110 | 6 | 6
0111 | 7 | 7
1000 | 8 | 8
1001 | 9 | 9
1010 | A | 10
1011 | B | 11
1100 | C | 12
1101 | D | 13
1110 | E | 14
1111 | F | 15


1. DECIMAL -> BINARY (Chuyển từ thập phân sang nhị phân)
Lấy số 3295 (trong hệ thập phân) làm ví dụ:
Quote:

3295 chia 2 = 1647.5 -> Dư 1
1647 chia 2 = 823.5 -> Dư 1
823 chia 2 = 411.5 -> Dư 1
411 chia 2 = 205.5 -> Dư 1
205 chia 2 = 102.5 -> Dư 1
102 chia 2 = 51 -> Dư 0
51 chia 2 = 25.5 -> Dư 1
25 chia 2 = 12.5 -> Dư 1
12 chia 2 = 6 -> Dư 0
6 chia 2 = 3 -> Dư 0
3 chia 2 = 1.5 -> Dư 1
1 chia 2 = 0.5 -> Dư 1



Sắp xếp các số dư từ dưới lên trên các pác sẽ được:
Quote:
3295 (demical) = 110011011111 (binary)


=> Đầu tiên chia số cần chuyển đổi cho 2 và lấy số dư, sau đó cứ tiếp tục lấy kết
quả của phép chia trên chia tiếp cho 2 (không kèm số dư) cho đến khi kết quả bằng
zero.

2. DECIMAL -> HEX (Chuyển từ thập phân sang hex)
Tiếp tục dùng số 3295 làm zí dụ, như trên ta có 3295 (demical) = 110011011111
(binary). Chia 110011011111 làm từng chuỗi gồm 4 số, kết hợp với bảng ở trên ta
sẽ được:
Quote:

110011011111b -> 1100 1101 1111 -> C D F


Quote:
3295 (decimal) = 110011011111 (binary) = 0CDF (hex)


3. HEX -> BINARY (Chuyển từ hex sang nhị phân)
Lấy chuỗi DEAD làm zí dụ. Sử dụng bảng trên ta sẽ có:
D = 1101
E = 1110
A = 1010
D = 1101
Quote:

DEAD (hex) = 1101 1110 1010 1101 (binary)


4. BINARY -> HEX (Chuyển từ nhị phân sang hex)
Lấy số 1010110111101111 làm ví dụ, chia thành các chuỗi gồm 4 số:
1010110111101111 -> 1010 1101 1110 1111
Sử dụng bảng trên ta sẽ có được:[/b]
1010 = A
1101 = D
1110 = E
1111 = F[/b]
[quote] 1010110111101111 (binary) = 0ADEF (hex)/quote]

5. BINARY -> DECIMAL(Chuyển từ nhị phân sang thập phân)
Lấy số 1101 làm zí dụ:
1*(2^3) + 1*(2^2) + 0*(2^1) + 1*(2^0) = 13
Số 1 thứ nhất
1 * (2^3)
Số 1 thứ hai
1 * (2^2)
Số 0 thứ ba
0 * (2^1)
Số 1 thứ tư
1*(2^0)
Quote:
1101 (binary) = 13 (decimal)


=> Số thứ nhất nhân với số 2 với số mũ cao nhất cộng cho số thứ hai nhân với số 2
với số mũ giảm dần cứ thế….


6. HEX -> DECIMAL (hex sang thập phân)
Để chuyển đổi từ hex sang decimal đầu tiên ta chuyển hex sang binary, sau đó lại
từ binary ta chuyển về decimal. Hix hơi mệt :p
Lấy số FEED làm ví dụ:
Quote:
Từ hex sang binary:
FEED (hex) = 1111 1110 1110 1101 (binary)

Quote:
Từ binary sang decimal:

1*(2^15) + 1*(2^14) + 1*(2^13) + 1*(2^12) + 1*(2^11) + 1*(2^10) +1*(2^9) +
0*(2^8) + 1*(2^7) +1*(2^6) +1*(2^5) + 0*(2^4) +1*(2^3) +1*(2^2) + 0*(2^1) +
1*(2^0) = 65261

Quote:
FEED (hex) = 1111111011101101 (binary) = 65261 (decimal)


{gREeTz t0}
Bor0, hacnho, benina, computer_angel, zombie, kienmanowar, hoadongnoi,
why_not_bar, trickyboy, iamidiot, atox, akira, [kid]
All REA memberz and all people who read this tut


Haule_nth(reaonline.net)
Crack FreeWare for newbie [Patch]

Introduce :


- Đây là ph/m FREE giúp nén nhac từ đĩa CD thành Wav, Ogg Vorbis or MP3.
- Chuyển đổi giữa các định dạng WAV/MP3/OGG.
- Freedb and ID3 Tagging and volume control.

==================================================
1. Software : FreeRip v2.8 (download:
2. Target : FreeRip2.exe (size: 416kb).
3. Pack : UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
Crypto : BASE64 table, CRC32b.
4. Protect : Name/Serial.
5. Method : Patch
==================================================

I. Crack Info:
Soft này thực sự FREE đến 99% vì nó không giới hạn ngày s/d hay bất kỳ chức
năng nào, but điều làm bạn khó chịu nhứt là cái SplashScreen xuất hiện rất lâu mỗi
khi run soft, nó chỉ mất đi khi bạn điền RN/RS. Vì vậy mục đích của ta là Remove
SplashScreen(một biến thể của NAG), còn bác nào thấy chưa đã thì hãy Find
RS(RS ko x/h trong STACK).

Load soft = PEiD biết được nó bị pack -> s/d plugin "Unpacker for UPX" của
PEiD để unpack cho nhanh -> biết được language "Microsoft Visual C++ 6.0" .
Quote:

Run soft 1st time -> s/h SplashScreen có chữ "FREERIP" to tướng, tiếp đó sẽ thấy
của sổ "Option" ở đây các bác chú ý có 1 dòng chữ bị mờ đi "Show splash
screen(register user only)" => ý nghĩa của nó là nếu đăng ký bản quyền bạn có thể
Remove được SplashScreen khó chịu = cách tích vào hộp kiểm đang bị disable.
Ta sẽ tìm chuỗi có chữ " splash screen " từ đó lần ra chỗ cần patch

II. Kill Soft :
Vì ta sẽ Patch soft nên em thấy ko công cụ nào hiệu quả hơn W32kDasm v10.
S/d chức năng "String Data Reference" ta tìm được chuỗi "Show splash screen
(registered " đây là dòng chữ bị mờ -> Double Click vào nó ta sẽ đến đây:
Code:
* Possible Reference to Dialog: DialogID_0096, CONTROL_ID:0405, ""
|
:00425BAC 6805040000 push 00000405
:00425BB1 52 push edx
:00425BB2 FFD3 call ebx
:00425BB4 8BCE mov ecx, esi
:00425BB6 E865000000 call 00425C20
:00425BBB E859EC0400 call 00474819
:00425BC0 8B4804 mov ecx, dword ptr [eax+04]
:00425BC3 E8283FFEFF call 00409AF0 < gọi hàm Check
Register
:00425BC8 85C0 test eax, eax < so sánh eax
:00425BCA 8DBE04010000 lea edi, dword ptr [esi+00000104]
:00425BD0 7519 jne 00425BEB < nhảy nếu eax # eax patch 75
> 74
:00425BD2 6A00 push 00000000
:00425BD4 8BCF mov ecx, edi
:00425BD6 E8EFC60300 call 004622CA

* Possible StringData Ref from Data Obj ->"Show splash screen (registered "
->"users only)" < vệt sáng tại đây
|
:00425BDB 68E0DE4900 push 0049DEE0
:00425BE0 8BCF mov ecx, edi
:00425BE2 E877C50300 call 0046215E

:00425BE7 6A05 push 00000005
:00425BE9 EB17 jmp 00425C02
Theo cách truyền thống ta lần lên vài dòng và thấy đoạn khả nghi sau :
Code:
:00425BC3 E8283FFEFF call 00409AF0 < gọi hàm Check
Register
:00425BC8 85C0 test eax, eax < so sánh eax
:00425BCA 8DBE04010000 lea edi, dword ptr [esi+00000104]
:00425BD0 7519 jne 00425BEB < nhảy nếu eax # eax patch 75
> 74
Hì hì newbie thấy đoạn nào như vầy là patch luôn : 75 to 74, run soft cái coi -> vẫn
thấy SplashScreen nhưng đã có một điều thay đổi, lúc này dòng chữ bị mờ đã hiện
ra -> ta có thể bỏ chọn trong CheckBox để SplashScreen không hiện lên trong lần
khởi động tiếp theo.


×