Bùng cháy
Diễn đàn không còn hoạt động!!! Các bạn vui lòng tìm kiếm thông tin trên các trang web khác! Xin lỗi các bạn vì sự bất tiện này!!!!!



 
IndexPortalCalendarGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
December 2016
MonTueWedThuFriSatSun
   1234
567891011
12131415161718
19202122232425
262728293031 
CalendarCalendar
Latest topics
Top posters
Admin
 
tranvansang
 
thanhtu_11111
 
langtu_vodanh
 
thuonghoatiecngoc916
 
anxongchay
 
huuvinh321
 
vovanly2015
 
trongnhan
 
conmuaxua
 
Statistics
Diễn Đàn hiện có 4072 thành viên
Chúng ta cùng chào mừng thành viên mới đăng ký: Syaoran

Tổng số bài viết đã gửi vào diễn đàn là 1924 in 1651 subjects

Share | 
 

 Crack phần mềm

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Crack phần mềm   Fri Jun 24, 2011 1:18 pm

Tác giả: (Someone) Hacnho or Zombie???



Lời nói đầu:



Chào các bạn, chắc hẳn trong số các bạn ai cũng từng xài đang xài
và sẽ xài đồ chùa do người khác crack. Có khi nào các bạn nghĩ rằng mình
sẽ crack cho mình để xài hay không? Vâng! cảm giác khi crack được một
soft rất thú vị…Nhưng làm sao để crack…ha ha đó chính là câu trả lờI
chính đấy.Hiện nay có nhiều bài viết liên chỉ dẫn về cách crack phần
mềm, tuy rất hay nhưng hầu như chỉ dành cho nhũng ngườI đã biết crack,
do đó các bạn chưa biết gì về crack không thể biết được.Vì lý do đó tôi
đăng lên diễn đàn HVA một TUT hướng dẫn các bạn từ A đến Z…Vì sao tôi
chọn hướng crack mà không chọn hướng hack, rất đơn giản, crk ít bị công
an tóm, còn hack thì lạng quạng vào tù gỡ lịch he he…

Trong loạt bài này (khoảng 30 phần) tôi sẽ hướng dẫn các bạn từ
bước chân đầu tiên tớI bước chân …lên xe bít bùng ke ke ke…Trong bài
viết tôi có sử dụng bài biết của các đạI ca trong làng crack như
NVH©,SoftCracker_vn, Nguyen Manh Cuong,
luucorp,nicehacker,thitmeongonhon,Le Vu Hoang, Tran Ngoc Huan, Bui Thanh
Quang, v..v…Vì lợI ít chung mong các đạI ca tha tộI cho me…Tất cả vi
nâng cao chất lượng cho HVA…thank a lot



hacnho



PHẦN I: Chuẩn Bị



I.Công cụ cơ bản cần có



a.Debug :

-SoftICe 4.05 for 9x, NT---Công cụ debug khá mạnh tuy nhiên chuyên làm Win bị Ice

-Numega SoftICE Driver Suite 2.6 for XP ; mình thường dùng vì nó ít làm PC bị đóng băng

-Smart Check 603(601 cũng đươc): debug for VB (chạy tốt trên 9x)

-Quaid Analyser :debug for DOS

mình không dùng Win9X nên không dùng các dubug for 9X như TRW2k, nếu các bác dùng Win9X thì hãy dùng nó

b.Debug add_on:

-BreakICE for SoftICe4.05: tìm các breakpoint

-FrogsICE: tạo ngắt ảo làm các chương trình detect SoftICE không
detect được SI…Điển hình như VK2000 build 10727 –không chạy đuợc trên
Nt,Xp

-SoftICe tools: các công cụ hỗ trợ SI như: ICE-HIDE, ICE-SET,INT6TEST,TRACEME, UCF 2000

-Icedump: đổ bộ nhớ từ Si tới file

Virtual address to file offset: khi Si tìm được offset ảo thì nó sẽ giúp Si tìm được offset thật…

c. HexEditor: chỉnh sửa file hexa

- HexaWorkShop3.0 : chỉnh sửa các file hexa khá mạnh

- Hacker View 602(HIEW): công cụ chỉnh sửa file hexa rất mạnh (45% phần mềm muốn crk được đều nhờ nó)

d. DeCompliers: dùng để dịch ngược file nguồn như exe, dll ra assembly



- WinDeAssembly893: công cụ khá mạnh dùng dịch ngược file (nên kiếm
bản fix để khỏI cần dùng HIEW, vi nó sẽ thêm menu EDIT trên thanh
toolsbar, ta có thể chỉnh sửa file trực tiếp trên WDASM)



Chú Ý; để WDASM chạy ngon lành bạn cần kiếm cho được các file patch cho nó như sau:

*.SDR Enable for VB: WD893SDR.exe: giúp WDASM deassembly được VB

*.W32Dasm V8.93 Permanent Patch Maker: This patcher will add a
button to your W32Dasm CodePatcher screen which will allow you to save
your patches directly into the program.

It will also change the W32Dasm CreateFile call so that you can then edit and save files whilst you have them open in W32Dasm.

*.Modifying pro loaded in WDASM: W32D-LaZ.exe: sửa lỗI cho WDASM

*.W32pp: thêm menu edit, thay đổI hình nền cho WDASM



----------hiện nay mình đã làm một bản WDASM rất xịn, fix,patch
hết, bác nào có host mình up lên cho anh em tảI về xài, đỡ mất công tìm
file.rar khoang 0.9mb------------



-Riêng những chương trình được viết bằng Delphi thì nên dùng hai chương trình sau để decompliers: EXE TO DPR,EIRE



-Install Shied decomplier: decomplier cho Install Shied



-BorlandC,Turbo Pascal,Vb,VC,Win32Asm,MASm611,: dùng để viết keygen



e.Quan trọng không kém là các chương trình dùng để pack, và unpack các soft .

(Các bạn lưu ý, mình dùng các thuật ngữ mà không giảI thích, bởI vì
mình sẽ có một phần dùng để giảI thích các thuật ngữ, các bạn chịu khó
theo dõi-Phần3)



-Procdump32: giảI nén cho nhiều dạng file – thích hợp cho các file pack mà ta không biết được nó pack bằng gì

-DeShrink: dùng giảI nén cho Shrink

-Upx093w: giảI nén UPX

-unpetite: giảI nén petite( tui sợ nhất nó, thank LE VU HOANG đã chỉ tui về nó)

-I5Comp : giảI nén file.cab

-Install Shied decompressor: giảI nén Install Shied decompressor

-UnPEprot: giảI nén cho khoá PE

….vào còn nhiều dạng nén khác như ASP, Pklite…tuỳ theo mà các bạn tìm unpacker cho thích hợp



f. Ngoài ra còn có các chương trình dùng để sửa giao diện của file
nguồn như: Resource Hacker, Exe Scope,Symantec Resource
Studio,Restorator v2.50 build 757…cũng khá hữu dụng











II. Cài Đặt:



tất cả các soft tôi hướng dẫn ở trên đều rất dễ cài, tảI về và tiến
hành cài bình thường …bạn có thể tìm chúng ở trang tools của HVA, hay
vào [You must be registered and logged in to see this link.] để tảI chúng về…Riêng SoftICE405 và Numega SoftICE
Driver Suite2.6 là tôi xin hướng dẫn một chút xíu.tài liệu về cài đặt
SoftICe405 tôi post từ bài của anh NVH©…



*.Cách cài đặt Numega SoftICE Driver Suite2.6

tiến hành cài bình thường, nhập serial là :7804-17786F-73 or
7808-21675E-F4, sau khi cài xong trong bảng Driver Studio Config, các
bạn nên chọn là Manual, nghĩa là muốn xài lúc nào thì chỉ cần vào mục
Numega SoftICE Driver Suite trên thanh Start, chọn Start SoftICE, không
muốn xài nó nữa thì chon disable…rất đơn giản…Có điều trong Numega
SoftICE Driver Suite2.6 không hiểu sao không set được breakpoint
Hmemcpy( dùng cho các chương trình viết bằng Vb)..ai biết chỉ giùm





*.Cài SoftIce405, he he he trước khi cài nên backup data trong máy
lạI nhe, tốt nhất là ghost lạI là Ok? Vì nó dễ làm crash máy của bạn
lắm…kinh nghiêm của tui khi cài nó lần đàu tiên tưởng dễ xơi ai dè tiêu
luôn window phảI format cài lạI, mất toàn bộ mail bồ tui gửI cho…cẩn
thận đó nhe các bác…Dù xài nó mòn răng nhưng mỗI lần cài nó là tui xanh
mặt, nhất là lúc khởi động máy…TrờI ạ bồ tui có bầu tui không sợ bằng
lúc nó load lên đâu…sau đây là cách cài nó



1. Download Softice for Win 9x ở [You must be registered and logged in to see this link.]

2. Tiến hành cài đặt Softice chỉ bằng cách nhấn vào trình cài đặt Setup

3. Khi cài đặt SoftIce sẽ yêu cầu bạn đánh số Serial thì mới có thể tiếp tục

4. Bạn đánh 1900-0000DD-9B

5. OK. Tiếp tục cài Softice, nhưng trước khi yêu cầu restart lại máy bạn hãy làm:

6. Mở Notepad hay một trình soạn thảo nào đó, mở file winice.dat trong thư mục của Numega đã cài vào máy bạn

7. Cố gắng tìm dòng ghi INIT="WR;X;" (ở gần đầu file) và sửa nó thành INIT="WD;WR;WL;CODE ON;X;"

8. Cố gắng tìm dòng như sau : (ở gần cuối file)

; ***** Examples of export symbols that can be inluded for Windows 9x *****

; Change the path to the appropriate drive and directory

;EXP=c:\windows\system\kernel32.dll

;EXP=c:\windows\system\user32.dll

;EXP=c:\windows\system\gdi32.dll

;EXP=c:\windows\system\comdlg32.dll

;EXP=c:\windows\system\shell32.dll

;EXP=c:\windows\system\advapi32.dll

;EXP=c:\windows\system\shell232.dll

;EXP=c:\windows\system\comctl32.dll

;EXP=c:\windows\system\crtdll.dll

;EXP=c:\windows\system\version.dll

;EXP=c:\windows\system\netlib32.dll

;EXP=c:\windows\system\msshrui.dll

;EXP=c:\windows\system\msnet32.dll

;EXP=c:\windows\system\mspwl32.dll

;EXP=c:\windows\system\mpr.dll

Và hãy xoá tất cả những dấu chấm phẩy ( ở đầu dòng đoạn này đi. OK bây giờ save lại và restart lại máy để bắt đầu sử dụng
Nguồn: hacnho from HVA

******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:20 pm

PHẦn II:

Chào các bạn chúng ta lạI gặp nhau ở phần II này, qua bài viết ở
phần I hẳn các bạn đã chuẩn bị đầy đủ “súng ống đạn dược” để chiến đấu
vớI các soft rồI phảI không? Ok ở phần II này tôi xin hướng dẫn các bạn
sử dụng công cụ SoftIce, đây là công cụ debug mạnh cực kỳ, nó được ví
như khẩu M-16 của các chiến sỹ marine trên chiến trường. Muốn “giết
chết” được phần mềm các bạn phảI hiểu rõ các sử dụng nó, nếu không cẩn
thận thì bạn sẽ bị chính nó kill đấy…

Chú ý: trong bài này tôi có tham khảo bài viết của DTK,NVH©—thanx a lot for support



I.SoffICE là gì và tại sao phải dùng nó?

Chúng ta đều biết SoftIce là công cụ của hãng Numega viết ra dùng
cho các programmer dùng để debug chương trình…Tuy nhiên nó được các
cracker thế giớI dùng để crack các phần mềm…Do vậy nguyên gốc của nó
không phảI là dùng để phục vụ cho mục đích crack…Có nhiều bạn hỏI tui
tạI sao SoftIce là một công cụ dùng để crack mà lạI đòi số serial, sao
ta không dùng chính nó để crack nó. TrờI ạ, có bạn lạI dùng chính
SoftIce để crack chính nó, có bạn crack không được rồI la lên rằng “
TrờI ạ, SoftIce lạI detect SoftIce…”!!! he he bây giờ các bạn đã hiều về
lai lịch của SofIce rồI chứ, nó không phảI phần mềm viết riêng cho các
cracker chúng ta đâu mà chính do chúng ta tìm được nó và sử dụng nó vào
mục đích đen tốI đấy chứ. Không sao bản thân cracker là những ngườI rất
nghèo, nghèo tiền, nghèo tình, nhưng chỉ có giàu duy nhất ở một lòng đam
mê, luôn luôn tìm tòi khám phá…Thử hỏI nếu không có các cracker thì thế
giớI IT đâu phát triển…(vì có phá để rồI mớI có sửa …rồI bị phá tiếp ke
ke).

Các nhà lập trình chắc chắn rất căm thù cracker, nhưng họ không
nghĩ đến chúng ta những ngườI nghèo tiền nhưng giàu lòng đam mê. Đơn cử
như hãng SoftTex họ viết ra EV Tran Tech 2.0 nhưng lạI bán vớI giá cắt
cổ, 4000000VND, trờI ạ tui mỗI tháng má tui gửI cho 1 triệu , trừ các
khoản chi phí tui chỉ còn lạI vỏn vẹn có 50000, nếu muốn xài Ev Tran tui
phảI để dành dài cổ luôn…Do đó cách duy nhất là crack nó bằng M-16
thôi…Oh các bác thử tưởng tượng tui chỉ dùng có vỏn vẹn có một lệnh (?
Edx )và set hai break point(bpx getwindowtexta, bpx 4xxxBC) : offset xxx
các bác tìm nhé:: là tui đã được số returncode . Không phảI tui ham crack mà tạI họ ép tui đấy chứ.



II.Những kiến thức cơ bản về sử dụng SoftICE

Bật cửa sổ SoftICE



Bạn có thể bật (hiển thị) cửa sổ SoftICE bất kì lúc nào sau khi đã
cài SoftICE bằng cách nhấn Ctrl-D, mặc định là vậy, bạn cũng có thể thay
đổi bằng lệnh:



ALTKEY [Alt letter | Ctrl letter]



Thí dụ nếu bạn muốn dùng Alt-E để bật/tắt SoftICE thay cho Ctrl-D, trong Command Window (khung dưới cùng của SoftICE) nhập:

ALTKEY Alt E

Giao diện SoftICE



Cửa sổ SoftICE được chia làm nhiều khung, nếu bạn cấu hình như file
Winice.dat của tui thì chỉ thấy được 4 khung quan trọng nhất:

• Khung trên cùng là Register Window, hiển thị các giá trị hiện
hành của các thanh ghi, sau mỗi câu lệnh thi hành, thanh ghi hay cờ nào
bị thay đổi do câu lệnh đó thì màu hiển thị sẽ thay đổi, có màu xanh lá
(bình thường là trắng).



Bạn có thể bật/tắt khung này bằng lệnh WR. Trong Command Window (khung dưới cùng) nhập:

WR (enter)

lần thứ nhất sẽ tắt (hay bật) Register Window, gọi lần thứ 2 để bật (hay tắt) nó.



Để thay đổi giá trị của 1 thanh ghi bất kì bạn có thể dùng chuột
kích vào giá trị của thanh ghi cần thay đổi trong Register Window sau đó
nhập giá trị cần thay đổi hoặc trong Command Window bạn dùng lệnh:



R Tên_thanh_ghi Giá_trị_cần_thay_đổi



Thí dụ để thay đổi giá trị của thanh ghi EAX đến 400000h, nhập:

R EAX 400000



Để bật tắt cờ dùng cú pháp sau:



R FL Tên_cờ



Thí dụ cờ nhớ hiện tại đang tắt, để set nó lên, nhập:

R FL C

Tương tự để tắt nó dùng lệnh:

R FL C

• Khung thứ hai là Data Windows dùng hiển thị dữ liệu, nếu bạn đã
từng sử dụng qua 1 trình biên tập Hex sẽ thấy rất quen thuộc với khung
này. Được chia thành 3 cột, cột thứ nhất cho biết địa chỉ trong vùng nhớ
của dữ liệu đang hiển thị, cột thứ 2 là giá trị từng Byte dữ liệu (mặc
định là vậy, bạn cũng có thể thay đổi để hiển thị kiểu dữ liệu khác) và
cột cuối cùng là dữ liệu hiển thị dưới dạng các kí tự ASCII, đối với cột
này SoftICE chỉ hiển thị các kí tự in được và không phải là các kí tự
đồ họa.



Bạn có thể dùng chuột để kéo lên 1 hàng hay 1 trang dữ liệu trong
cửa sổ này nhờ vào thanh Scrollbar ở cạnh phải của khung. Bạn cũng có
thể dùng bàn phím:

Alt-Up : lên 1 hàng

Alt-Down : xuống 1 hàng

Alt-Page Up : lên 1 trang

Alt-Page Down : xuống 1 trang



Để bật/tắt Data Window dùng lệnh WD.



Để thay đổi kích thước (chiều cao) của Data Window dùng lệnh:



WD kích_thước_muốn_đặt



Thí dụ bạn muốn đặt kích thước của Data Window là 20 hàng, trong Command Window nhập:

WD 20



Bạn có thể biên tập trực tiếp các giá trị trong Data Window bằng
cách kích chuột vào khung Data Windows (hoặc nhấn Alt-D) để chuyển con
trỏ vào khung này, sau đó nhập giá trị cần sửa đổi.



Để thay đổi kiểu hiển thị dữ liệu trong Data Window thí dụ Byte,
Word, DWord, Short Real, Long Real hay 10 Byte Real bạn có thể dùng
chuột kích vào text hiển thị kiểu dữ liệu hiện dùng nằm phía trên của
khung Data Window.

• Khung thứ 3 là Code Window, hiển thị các lệnh hợp ngữ, được chia
thành 3 cột, cột bên trái hiển thị địa chỉ trong bộ nhớ của câu lệnh,
cột thứ hai là mã Byte của câu lệnh và cột thứ 3 hiển thị lệnh được
disassembly.



Bạn có thể dùng chuột để kéo lên 1 hàng hay 1 trang dữ liệu trong
cửa sổ này nhờ vào thanh Scrollbar ở cạnh phải của khung. Bạn cũng có
thể dùng bàn phím:

Ctrl-Up : lên 1 hàng

Ctrl-Down : xuống 1 hàng

Ctrl-Page Up : lên 1 trang

Ctrl-Page Down : xuống 1 trang



Để bật/tắt Code Window dùng lệnh WC.



Để thay đổi kích thước (chiều cao) của Code Window dùng lệnh:



WC kích_thước_muốn_đặt



Thí dụ bạn muốn đặt kích thước của Code Window là 10 hàng, trong Command Window nhập:

WC 10



Nếu thấy cột chứa mã Byte của các câu lệnh (cột thứ 2) không cần
thiết, bạn có thể tắt nó bằng cách nhập lệnh Code Off trong Command
Window, và bật lại bằng lệnh Code On.



Để di chuyển con trỏ vào trong Code Window bạn nhấn Alt-C



Câu lệnh nằm trên thanh ngang màu đỏ trong Code Window là câu lệnh
đang được thực thi tại thời điểm SoftICE bật lên, và được SoftICE làm
"đóng băng" tạm thời.

• Khung thứ 4 là Command Window dùng để nhập lệnh và hiển thị các thông báo của SoftICE.

Để xoá các lệnh đã nhập hoặc các thông báo tạo bởi SoftICE trước đó dùng lệnh Cls.



Để bật/tắt các khung khác trong cửa sổ SoftICE bạn có thể dùng các lệnh sau:

• WF : bật/tắt Floating Point Stack Window

• WL : bật/tắt Locals Window

• WW : bật/tắt Watch Window



Thanh nằm dưới cùng của cửa sổ SoftICE để hiển thị các trợ giúp tức
thời (bên trái) và tên của Process (tiến trình) đang được theo dõi bởi
SoftICE (bên phải).

Thoát khỏi cửa sổ SoftICE



Để thoát tạm thời khỏi cửa sổ SoftICE dùng lệnh X.

Bạn cũng có thể tạm thoát SoftICE bằng cách nhấn F5 hoặc Ctrl-D.

Thay đổi kích thước của cửa sổ SoftICE



Để thay đổi kích thước của cửa sổ SoftICE dùng lệnh:



Lines kích_thước_mới



Thí dụ để thay đổi cửa sổ SoftICE thành 60 dòng, nhập:

Lines 60

Lấy trợ giúp từ SoftICE



Để hiển thị các trợ giúp của SoftICE bạn có thể dùng lệnh H hoặc Help.

Để nhận được trợ giúp riêng biệt về 1 lệnh nào đó dùng cú pháp sau:



H [command]



hay



Help [command]



Thí dụ lệnh:

H AltKey

sẽ hiển thị các trợ giúp của SoftICE cho lệnh AltKey như sau:

Set key sequence to invoke window

ALTKEY [ALT letter | CTRL letter]

Ex : ALTKEY ALT D

Khó khăn với SoftICE



SoftICE là 1 chương trình rất khó chịu, bất kì khi nào bạn thi hành
1 ứng dụng bị lỗi hoặc xung đột với SoftICE, cửa sổ SoftICE sẽ bật lên
ngay, gặp trường hợp đó, bạn nhấn phím C để tiếp tục thi hành ứng dụng
này hay nhấn phím R để trở về SoftICE (con trỏ sẽ xuất hiện lại trong
Command Window của SoftICE để cho phép nhập lệnh), bạn nhập lệnh EXIT để
nhờ SoftICE ép Process gặp lỗi này thoát cưỡng bức. Nếu sau khi làm như
vậy, bạn gặp lỗi màn-hình-xanh( màn hình xanhchết chóc trong Won9x,và
WinME), cứ bình tĩnh nhấn Enter hoặc Esc, hệ thống sẽ trở lại bình
thường còn nếu hệ thống bị "đóng băng" thật sự, hay chấp nhận điều đó.
Nhân vô thập toàn sự vô thập mỹ mà!!!

III.Dùng Breakpoint (điểm ngắt) trong SoftICE

Breakpoint là gì và tại sao phải dùng nó?



Có thể hiểu 1 cách gần đúng Breakpoint tương tự như 1 sự gài bẫy hệ
thống. Khi bạn tạo 1 Breakpoint bằng SoftICE (hay các chương trình
Debug tương tự khác), bất kì khi nào hệ thống xuất hiện tình trạng mà nó
thoả mãn các điều kiện trong Breakpoint của bạn, SoftICE sẽ đóng băng
tiến trình xảy ra Breakpoint, và bạn có thể theo dõi tình trạng hiện
hành của hệ thống (mã, dữ liệu, các thanh ghi...) nhờ vào cửa sổ của
SoftICE.

Đặt 1 Breakpoint chính xác, đó là điều kiện đầu tiên để bạn có thể trở thành 1 Cracker.
Nguồn: hacnho from HVA

******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:24 pm

IV.Giới thiệu về Breakpoint trong SoftICE



Bạn có thể dùng SoftICE để thiết lập Breakpoint trong mã chương
trình đang thi hành, trong thao tác đọc viết vào 1 vị trí bộ nhớ, ngắt
(interrupts) và đọc viết tới các I/O ports... SoftICE sẽ gán 1 chỉ số,
từ 0 đến FFh cho mỗi Breakpoint được thiết lập. Bạn có thể dùng chỉ số
của Breakpoint để nhận diện các Breakpoint khi đặt, xóa, vô hiệu hóa,
kích hoạt hay biên tập chúng.

Tất cả các Breakpoint của SoftICE là bền vững, nghĩa là SottICE sẽ
theo dõi và duy trì 1 Breakpoint cho tới khi bạn xoá hoặc vô hiệu hóa nó
bằng lệnh BC hay BD. Sau khi xoá các Breakpoint, có thể xem lại chúng
bằng lệnh BH, điều này sẽ hiển thị 1 danh sách các Breakpoint đã dùng.

Trong SoftICE, bạn có thể đặt 1 lần tới 256 Breakpoint. Tuy nhiên,
số các Breakpoint Memory (BPM) và I/O (BPIO) không được quá 4, điều này
là do hạn chế của bộ vi xử lí x86.

Những dạng Breakpoint được hổ trợ bởi SoftICE



SoftICE cung cấp 1 loạt các khả năng Breakpoint đầy sức mạnh như sau:

• Execution Breakpoints : SoftICE thay thế chỉ thị máy (lệnh) hiện
có bởi INT 3. Bạn có thể dùng lệnh BPX để thiết lập Execution
Breakpoints.

• Memory Breakpoints : SoftICE dùng các thanh ghi debug của x86 để
ngắt khi 1 hay nhiều Byte/Word/DWord xác định nào đó của bộ nhớ được
đọc, viết hoặc thi hành. Bạn dùng lệnh BPM để đặt Memory Breakpoints.

• Interrupt Breakpoints : SoftICE chặn ngắt (interrupt) bằng cách
sửa đổi IDT (Interrupt Descriptor Table) vectors. Bạn dùng lệnh BPINT để
đặt Interrupt Breakpoints.

• I/O Breakpoints : SoftICE dùng các thanh ghi debug mở rộng trên
các CPU Pentium và Pentium-Pro để theo dõi các chỉ thị IN hay OUT đến 1
cổng (port) xác định nào đó. Bạn có thể dùng lệnh BPIO để đặt I/O
Breakpoints.

• Window Message Breakpoints : SoftICE bẫy 1 hoặc 1 dãy các thông
điệp đi đến 1 cửa sổ xác định. Bạn có thể dùng lệnh BMSG để thiết lập
Window Message Breakpoints.

Các tùy biến cho Breakpoint



Bạn có thể tùy biến thêm cho các dạng Breakpoint bằng cách dùng 2 tùy chọn sau:

• Biểu thức điều kiện [IF expression] : Muốn Breakpoint xảy ra biểu thức phải có giá trị khác 0 (True).

• Hành vi Breakpoint [DO "command1;command2;"] : 1 dãy các lệnh SoftICE sẽ được tự động thi hành khi xảy ra Breakpoint.

Execution Breakpoints



1 Execution Breakpoint sẽ chặn các chỉ thị máy thí dụ như 1 lời gọi
hàm hay 1 câu lệnh nào đó. Đây là dạng Breakpoint thường dùng nhất.
Bằng cách thay thế câu lệnh hiện có bằng 1 lệnh INT 3, SoftICE sẽ lấy
được điều khiển khi thi hành Breakpoint INT 3 này.

Có 2 cách để đặt Execution Breakpoint trong SoftICE : dùng chuột và dùng lệnh BPX.

Dùng chuột để đặt Breakpoint

Bạn có thể dùng chuột để đặt hay xóa Breakpoint dạng
point-and-shoot (Breakpoint bền vững) và Breakpoint dạng one-shot
(Breakpoint chỉ dùng 1 lần).

Để đặt 1 Breakpoint dạng point-and-shoot, trong Code Window kích
đôi vào hàng lệnh mà bạn muốn đặt điểm ngắt. SoftICE sẽ điểm sáng hàng
này. Kích đôi hàng này lần nữa để xóa Breakpoint.

Để đặt Breakpoint dạng one-shot, kích chuột vào hàng mà bạn muốn
đặt Breakpoint để di chuyển con trỏ đến hàng này sau đó dùng lệnh HERE
(hay nhấn phím F7).

khi thi hành đến hàng lệnh đã được đặt Breakpoint, SoftICE sẽ cho
"đóng băng" Process đang theo dõi và bạn có thể theo dõi tình trạng hiện
hành của tiến trình này.

Dùng lệnh BPX để đặt Breakpoint

Dùng lệnh BPX với các tham số sau để đặt 1 Execution Breakpoint:



BPX [address] [IF expression] [DO "command1;command2;"]



Tìm hiểu thí dụ sau để hiểu kĩ hơn về lệnh BPX:



Chạy Notepad, gõ 1, 2 từ sau đó chọn File.New. Notepad sẽ hiển thị
hộp thông báo nhắc nhở có Save lại không. Hộp thông báo có title
'Notepad', với chuỗi thông báo 'The text in the Untitled file has
changed.\n\nDo you want to save the changes?'.



Ghi chú: '\n' có nghĩa là xuống hàng.



Bạn nhấn Cancel.

Để hiển thị được hộp thông báo trên, Notepad phải gọi API
MessageBoxA. Chúng ta đặt 1 Breakpoint sao cho khi Notepad gọi API trên
sẽ bị SoftICE cho "đóng băng".

Vào SoftICE (Ctrl-D), nhập:

BPX MessageBoxA

Rời SoftICE (Ctrl-D lần nữa hay nhập lệnh X hoặc bạn nhấn F5), vào
Notepad, chọn File.New. Cửa sổ SoftICE sẽ bật lên, chúng ta đang ở điểm
vào của API MessageBoxA. Mã mà bạn thấy trên Code Window không phải là
mã của Notepad mà là mã của Kernel32.dll được ánh xạ qua vùng nhớ của
Notepad, đừng quan tâm đến chuyện đó, nhớ rằng Breakpoint của chúng ta
đã làm việc tốt.

Hãy tìm hiểu kĩ thêm 1 chút, xem mẫu hàm của API MessageBoxA:

int MessageBox(

HWND hWnd, // handle of owner window

LPCTSTR lpText, // address of text in message box

LPCTSTR lpCaption, // address of title of message box

UINT uType // style of message box

);

Nếu Notepad muốn gọi API này nó phải truyền đủ 4 tham số trên qua
Stack (nhờ lệnh Push). Để ý kĩ các giá trị trên đỉnh Stack trong lúc
này:



ESP (+ 0h) DWord chứa địa chỉ trở về mã Notepad, tức địa chỉ của câu lệnh kế tiếp lệnh gọi API MessageBoxA trong Notepad

ESP + 4h hWnd

ESP + 8h lpText

ESP + Ch lpCaption

ESP + 10h uType

Ghi chú: trong Win32 mỗi lần Push vào stack phải Push 1 DWord (4 Byte), khác với Dos mỗi lần Push chỉ là 1 giá trị 2 Byte.

Nếu bạn không hiểu những điều tui vừa nói ở trên thì cũng không
sao, bạn cứ tạm chấp nhận. Nhưng nếu bạn muốn tìm hiểu kĩ hơn, hẹn gặp
lại bạn ở 1 tài liệu khác dạy về lập trình Hợp Ngữ trên Windows, tui sẽ
cố gắng viết nhanh để Upload lên cho các bạn.

Khi SoftICE dừng lại ngay trên điểm vào của API MessageBoxA, nhập:

D ESP+4

Theo bảng trên, lệnh này sẽ hiển thị trên Data Window giá trị của tham số hWnd tức Handle của cửa sổ Notepad.

Trên Data Window, bạn sẽ thấy 4 byte đầu tiên có dạng 'A0 04 00 00'
(máy bạn có thể khác), vậy Handle của cửa sô Notepad là 4A0h.

Tiếp tục nhập lệnh:

D ESP + 8

sẽ thấy 4 byte '38 F8 63 00' (tức DWORD 63F838h)



Nhập:

D 63F838

Lệnh này sẽ Dump các Byte tại địa chỉ 63F838h và bạn sẽ thấy dòng
text 'The text in the Untitled file has changed.\n\nDo you want to save
the changes?'.

Để ý kĩ các Byte trong cột thứ 2 của Data Window, sẽ thấy chuỗi
trên được kết thúc bằng Byte 00h (NULL) và '\n' có giá trị là 0Ah.

Bạn cũng có thể tìm đến chuỗi trên nhanh hơn bằng cách dùng lệnh sau:

D @(ESP + Cool

hay

D ESP->8

Ở đây chúng ta phải định vị gián tiếp vì giá trị lpText truyền cho API MessageBoxA là con trỏ trỏ đến chuỗi thông báo trên.

Để nhanh hơn, đặt 1 Breakpoint như sau:

BPX MessageBoxA DO "D @(ESP+Cool"

Bạn có thể cho SoftICE thi hành từng lệnh một bằng cách dùng lệnh P (hay nhấn F10) hoặc lệnh T (hay nhấn F8).

Sự khác nhau giữa 2 lệnh này là ở chổ lệnh P xem 1 lời gọi hàm Call
xxxx như 1 lệnh đơn lẻ và cho thi hành toàn bộ thủ tục xxxx được gọi
bởi lệnh Call này, sau đó dừng lại ở lệnh kế tiếp ngay sau lệnh Call
xxxx, còn lệnh T sẽ nhảy đến dòng lệnh đầu tiên của thủ tục xxxx và dừng
lại.

Lệnh T tất nhiên sâu sắc hơn lệnh P nhưng lúc nào cũng dùng nó thay
thế cho lệnh P thì không phải là 1 ý hay, bạn rất dễ bị lệnh này dẫn
đến 1 thủ tục không đâu và "quên cả đường về". Điều quan trọng là phải
biết lúc nào cần dùng T và lúc nào cần dùng P. Thời gian sẽ dạy cho bạn
điều đó.

Trong Code Window, bạn cũng có thể dùng chuột kích vào 1 dòng mã
bên dưới dòng mã hiện đang thực thi để dời con trỏ đến đây, sau đó nhấn
F7 (lệnh HERE), khi mã thi hành đến vị trí con trỏ (nếu thực sự mã có
thể thi hành đến đúng vị trí con trỏ), SoftICE sẽ dừng lại cho bạn. Đây
chính là cách đặt Breakpoint dạng one-shot.

Nếu bạn đã chán và muốn trở về lệnh ngay sau lệnh gọi API MessageBoxA, nhập lệnh:

G @SS:ESP

hay cũng có thể nhấn F11.

Lệnh trên sẽ kiểm tra khi thanh ghi con trỏ lệnh EIP vươn tới được
địa chỉ được chỉ rõ trong SS:ESP, sẽ cho "đóng băng" Notepad ngay lập
tức. Như tui đã nói ở trên, DWord tại SS:ESP hiện tại đang chứa địa chỉ
trở về của mã Notepad, tức địa chỉ của câu lệnh kế tiếp lệnh gọi API
MessageBoxA trong Notepad.

Nhấn Cancel, chúng ta sẽ quay lại SoftICE, nhìn lên 1 chút, bạn sẽ thấy đoạn mã như sau:

:004023FC 51 push ecx

:004023FD 8D857CFEFFFF lea eax, dword ptr [ebp-0184]

:00402403 FF750C push [ebp+0C]

:00402406 50 push eax

:00402407 FF7508 push [ebp+08]

:0040240A FF15A8644000 Call [USER32!MessageBoxA]

:00402410 8BE5 mov esp, ebp

Dễ dàng thấy được 4 câu lệnh Push truyền các tham số cho API MessageBoxA.

Nhập lệnh:

BPX 40240A

hay kích đôi vào câu lệnh 'Call [USER32!MessageBoxA]'.

Chúng ta đang tạo 1 Breakpoint dạng point-and-shoot cho câu lệnh này.

Vào lại Notepad chọn File.New. Cửa sổ SoftICE bật lên và chúng ta
dừng ngay trên câu lệnh 'Call [USER32!MessageBoxA]'. Breakpoint của ta
đã làm việc!.

Để xoá hết các Breakpoint đã đặt dùng lệnh

BC *

Một số thao tác trên các Breakpoint



Vô hiệu hóa Breakpoint

Dùng lệnh:



BD list | *



Trong đó:

• list : 1 dãy các số hiệu Breakpoint ngăn cách nhau bởi dấu phẩy hoặc khoảng trắng.

• * : vô hiệu hóa tất cả các Breakpoint.

Thí dụ lệnh:

BD 1,3

sẽ vô hiệu hóa Breakpoint có số hiệu 1 và 3.

Kích hoạt lại Breakpoint

Dùng lệnh:



BE list | *



Lệnh BE sẽ kích hoạt lại 1 hoặc 1 dãy các Breakpoint đã được vô hiệu hóa trước đó.

Thí dụ lệnh:

BE 3

sẽ kích hoạt lại Breakpoint 3.

Danh sách các Breakpoint đã đặt

Để hiển thị danh sách các Breakpoint đã đặt dùng lệnh BL.

Xóa Breakpoint

Dùng lệnh:



BC list | *



Thí dụ lệnh:

BC 1

sẽ xóa Breakpoint có số hiệu 1, tương tự lệnh:

BC *

sẽ xóa tất cả các Breakpoint.

Memory Breakpoints



1 Memory Breakpoint dùng các thanh ghi debug trên các CPU từ 386
trở lên để theo dõi sự truy cập vào 1 vị trí bộ nhớ xác định. Dạng
Breakpoint này rất hữu dụng để phát hiện khi nào và ở đâu 1 biến trong
chương trình bị thay đổi và còn dùng để đặt các Execution Breakpoint
trong vùng nhớ chỉ đọc. Bạn chỉ có thể đặt tối đa 4 Memory Breakpoint
trong 1 lần bởi vì CPU chỉ có 4 thanh ghi debug.

Bạn có thể dùng lệnh BPM để đặt Memory Breakpoint:



BPM[B|W|D] address [R|W|RW|X] [ debug register] [IF expression]

[DO "command1;command2;"]



Trong đó:

• BPM và BPMB : đặt Breakpoint tại 1 Byte bộ nhớ xác định.

• BPMW : đặt Breakpoint tại 1 Word (2 Byte) bộ nhớ xác định.

• BPMD : đặt Breakpoint tại 1 DWord (4 Byte) bộ nhớ xác định.

• R, W và RW : sẽ ngắt khi xảy ra thao tác đọc, viết hoặc cả 2

Nếu bạn không chỉ rõ, mặc định sẽ là RW.

• X : ngắt nếu thi hành, mạnh hơn dạng Breakpoint BPX vì bộ nhớ không cần phải sửa đổi.

• Debug register : chỉ rõ thanh ghi debug sẽ dùng.

Một lệnh đặt Memory Breakpoint khác hay dùng hơn là lệnh BPR, dùng để đặt Breakpoint cho 1 đoạn bộ nhớ. Cú pháp:



BPR start_address end_address [R | W | RW | T | TW] [IF expression]

[DO"command1;command2;"]



Bất kì khi nào xảy ra thao tác đọc, viết hay cả hai (tùy theo bạn
đặt, nếu bạn không chỉ rõ, mặc định sẽ là viết) trong khoảng bộ nhớ từ
start_address đến end_start sẽ làm phát sinh 1 Breakpoint.

Window Message Breakpoints



Dùng Window Message Breakpoint để chặn 1 hoặc 1 dãy các thông điệp
đi đến 1 thủ tục giải quyết thông điệp Window (WinProc). Mặc dù cũng có
thể làm được điều này nếu dùng BPX với 1 biểu thức điều kiện nhưng dùng
lệnh BMSG thì vẫn dễ hơn:



BMSG window-handle [L] [ begin-message [ end-message]] [IF expression]

[DO "command1;command2;"]



Trong đó:

• window-handle : giá trị định danh cửa sổ, được trả về khi cửa sổ
được tạo thành. Bạn có thể dùng lệnh HWND để lấy danh sách các cửa sổ
kèm theo Handle của nó.

• L : cho biết thông tin về thông điệp Window bắt được chỉ cần in
ra trong Command Window mà không cần phải bật cửa sổ SoftICE lên.

• begin-message : thông điệp Window đơn lẻ hay là thông điệp có số
hiệu thấp nhất trong dãy các thông điệp Window muốn theo dõi. Nếu bạn
không chỉ rõ dãy thông điệp với 1 end-message, thì chỉ begin-message sẽ
gây ra ngắt. Cả 2 begin-message và end-mesage có thể được ghi dưới dạng
tên hoặc số hiệu của nó thí dụ WM_QUIT và 12h là tương đương.

• end-message : thông điệp có số hiệu cao nhất trong dãy các thông điệp Window cần theo dõi.

Nếu không có thông điệp hoặc dãy các thông điệp nào được chỉ rõ, bất cứ thông điệp nào cũng sẽ gây ra ngắt.

Bạn có thể dùng lệnh WMSG để lấy danh sách các thông điệp Window mà SoftICE biết.

Nếu bạn biết tên thông điệp nhưng không biết số hiệu của nó, có thể tìm được số hiệu của nó bằng cách dùng lệnh sau:



? tên_thông_điệp

Thí dụ để biết số hiệu của thông điệp WM_TIMER, nhập lệnh:

? WM_TIMER

Thử thực hành thí dụ sau:

Mở Notepad. Sau đó nhập lệnh:

HWND



SoftICE sẽ hiển thị danh sách các cửa sổ kèm theo các thông tin
khác (thí dụ tên lớp cửa sổ, địa chỉ Window Procedure...). Bạn có thể
thấy giá trị Handle của các cửa sổ nằm ở cột đầu tiên. Chúng ta chỉ quan
tâm giá trị Handle của cửa sổ Notepad. Ở máy tui giá trị này là 190h
(máy bạn có thể khác). Nhớ lấy giá trị này.



Để chỉ hiển thị các thông tin cửa sổ của riêng Notepad, bạn có thể dùng lệnh:

HWND Notepad

Chúng ta đặt 1 Breakpoint để theo dõi tất cả các thông điệp đi đến cửa sổ chính của Notepad:

BMSG 190 L

Tham số L sẽ khiến cho SoftICE chỉ in thông tin về thông điệp bắt được trong Code Window mà không cần bật cửa sổ SoftICE lên.



Rời SoftICE (Ctrl-D), trong Notepad, bạn thao tác gì đó (thí dụ gõ
1, 2 từ, thay đổi kích thước cửa sổ...), sau đó quay lại SoftICE, trong
Code Window sẽ hiển thị tất cả thông tin về các thông điệp do Windows
gởi đến cửa sổ Notepad mà SoftICE bắt được.

Để bắt 1 thông điệp riêng biệt, thí dụ WM_SIZE bạn dùng lệnh sau:

BMSG 190 WM_SIZE

Trở lại Notepad, bạn thử thay đổi kích thước cửa sổ của nó (thí dụ
phóng to hay thu nhỏ cửa sổ Notepad), khi đó Windows sẽ gởi đến cho
Notepad 1 thông điệp WM_SIZE, SoftICE sẽ bật lên và bạn sẽ thấy nó dừng
ngay trên điểm vào của thủ tục Window giải quyết thông điệp cho cửa sổ
chính Notepad.

******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:26 pm

V.Một số hàm API thường được đặt Breakpoint khi Crack

Phần lớn là các API trong các thư viện: gdi32.dl, kernel32.dll, user32.dll...

Liên quan đến File



CreateFileA

ReadFile

WriteFile

GetPrivateProfileStringA

WritePrivateProfileStringA

Liên quan đến Registry



RegCreateKeyA

RegDeleteKeyA

RegOpenKeyA

RegCloseKey

RegQueryValueA

Liên quan đến hộp thoại và cửa sổ



CreateDialogIndirectParamA

CreateDialogParamA

MessageBox

MessageBoxA

MessageBeep

CreateWindow

CreateWindowExA

ShowWindow

Liên quan đến chuỗi



GetWindowText

GetWindowTextA

GetDlgItemText

GetDlgItemTextA

CompareString

lstrcmp

lstrcmpA

lstrcmpi

lstrcmpiA

Liên quan đến ngày giờ



GetSystemTime

GetLocalTime

SystemTimeToFileTime

Liên quan đến kiểm tra đĩa



GetDriveType

GetDriveTypeA

GetLogicalDrives

GetLogicalDriveStringsA

Các hàm đặc biệt khác



HMEMCPY

Thường hay dùng nhất là HMEMCPY, GetDlgItemTextA, GetWindowTextA, MessageBoxA



- Các "function" mà bạn có thể "túm" được ở SoftIce khi Crack các
Softwear, trong softIce bạn gõ như sau EXP ( EXP = Display Export
Symbols). Ví dụ : EXP Message

1. USER : MESSAGEBOXINDIRECT, MESSAGEBOX, MESSAGEBOXEX, MESSAGEBEEP ...

2. USER32 : MESSAGEBEEP, MESSAGEBOXA(rất hay dùng), MESSAGEBOXEXA,
MESSAGEBOXEXW, MESSAGEBOXINDIRECTA, MESSAGEBOXINDIRECTW, MESSAGEBOXW ...

3. Ðọc và ghi File : READFILE, WRITEFILE, CREATFILEA, SETFILEPOITER ...

4. Kiểm tra Registry : REGCREATKEYA, REGDELETEKEYA, REGQUERYVALUEA, REGCLOSEKEYA, REGOPENKEYA ...

5. Nhập thông số (hay dùng để tìm Serial hay Key..): GETWINDOWTEXTA, GETDLGITEMTEXTA, GETDLGITEMINT...

6. Kiểm tra thời gian : GETLOCALTIME, GETSYSTEMTIME, GETFILETIME...

7. Kiểm tra ổ đĩa CD-ROM hay A (hay dùng để Crack CD-Game) :
GETDRIVETYPEA(rất hay dùng), GETLOGICALDRIVESA,
GETLOGICALDRIVESTRINGA...

Và cuối cùng là cái mạnh nhất (dùng cho tất cả các Break point
trên) : HMEMCPY(hay dùng để tìm serial với các Softwear viết bằng VB.

Sau khi biết được Soft dùng breakoint nào bạn hãy "gọi" nó ra bằng
lệnh : BPX (BPX= Breakpoint on eXecution), Ví dụ: BPX HMEMCPY.

- Các lệnh để xem số Serial : D, DB, DW, DD, DS, DL, DT.... Quan trọng nhất là DD



Bai viet cua hacnho from HVA-[You must be registered and logged in to see this link.] (xin vui long de dong nay khi ban trich dan lai--thanx a lot)



-------Hết Phần III---Trong phần III tôi sẽ hướng dẫn các bạn làm
sao để crack một chương trình bằng WDASM893 và Hacker Views602, và hướng
dẫn crack file crack me của CU TI

*************************************:

PHẦN III :



Xin chào, chúng ta lạI gặp nhau…Trong bài viết này tôi sẽ hướng dẫn
sử dụng WDASM893 và Hacker Views602. Hai công cụ không thể thiếu của
một cracker



I.GiớI thiệu WDASm



Nếu như ví SoftIce là khẩu M-16 thì WDASM là một khẩu Beretta đạn
bạc. Vì WDASM sẽ giúp bạn rất nhiều trong việc crack phần mềm mà bạn
không cần dùng SoftIce…Bây giờ tôi sẽ hướng dẫn các bạn cách sử dụng cơ
bản nhất, muốn hiểu rõ hơn bạn hãy mở phần help của nó nhé



1.Disassembly vớI WDASM:



a.Disassembly File



Muốn disassembly file nào(nhớ chọn dạng file thích hợp thường là
*.exe, *.dll), từ menu Disassembly ta chọn Open file to disassembly…chọn
file cần disassembly…

*-Lưu ý trong submenu Disassmbly Options bạn nên đánh dấu chọn cả ba dòng

-Enable Conditional Jump X Preferences

-Enable Uncondional Jump X Preferences

-Enable Call X Preferences

*-Nếu bản WDASM của bạn đã patch (cho phép DASM VB), trong sub menu
Patch Options, bạn đánh dấu chọn auto hoặc on trong dòng Enable và đánh
dấu cả hai checkbox Line Prefix, Values trong dòng Copy Selected Lines



b.Quick Edit

Nếu bản của bạn đã fixed thì bạn sẽ có một menu Edit trên thanh
công cụ, submenu Quick Edit giúp bạn có thể chỉnh sửa file trực tiếp
trên nền của WDASM mà không cần dùng tớI HIEWS-Quá tiện lợI phảI không?
Muốn chỉnh sửa file tạI location nào ta chỉ cần double click tạI dòng
đó, xong chọn QuickEdit—Trong của sổ của Quick Edit có các khung sau:



-RVA Word : nhập vào location cần tớI, xong nhấn Goto

-Original Bytes: Bytes trước khi chỉnh sửa

-Modify Bytes: Bytes sau khi chỉnh sửa

-Save: lưu lạI Bytes sau khi chỉnh sửa

-Run: Chạy file đang chỉnh sửa

-Delete: xoá



c.Goto location:



trong ô Code Offset (hex) nhập vào location rồI enter để đến
location vừa nhập. Ví dụ 00401000. Chức năng này thường dùng khi bạn
dùng SoftIce kiếm được tử huyệt của soft đang crack …



d.String Data References:



là nơi rất quan trọng để crack phần mềm , vì nơi đây là nơi hiện ra
các thông báo thông thường của các soft(nhưng đôi khi tác giả phần mềm
cố ý mã hoá nó đi…Nhưng không sao cả ta có cây M-16 SoftIce). Một mẹo
nhỏ cho các bạn. nếu muốn patch phần mềm thì nên tìm những thông báo
tương tự như "Incorrect Password...", "Wrong Serial...", "Re-enter
password..." , xong rồI các bạn di chuyển vệt sáng lên phía trên nhé,
dịch chuyển xuống dướI là ngu luôn đấy ke ke ke ở tù đấy---nhất là dưới
16 tuổi





-------bấy nhiêu đó thôi,mỏi tay quá, nếu muốn biết chi tiết các bạn nên xem phần help của WDASM nhé---------



II.GiớI thiệu Hacker Views 602



HIEWS là một chương trình Hexa Editor rất mạnh, hoạt động tương tự
như Norton Commader5.0 for DOS của Symantec, các phím tắt cũng như NC5.
Nó được ví như đạn dược vì dùng SoftIce,WDASM chỉ tìm offset còn nhiệm
vụ cuối cùng vẫn là dùng Hviews để kill soft.Trời ạ súng mà không có đạn
thì chết chắc rồi còn gì. Tuy M-16 (SoftICe) có một vũ khí đó là lưỡi
lê (hàm aeip-chỉnh sửa trực tiếp trên soft Ice), nhưng chỉ dùng cho một
số trường hợp đặc biệt thôi...



- Muốn chuyển ổ đĩa hiện hành nhấn Alt + F1,

- F4 để chọn chế độ trong bảng Select Mode: Text, Decode,Hex…bạn có thể nhấn Enter cũng được

- F7 dùng để search

- F5, gõ vào địa chỉ Offset và enter

- F3 dùng để chỉnh sửa,

- F2 dùng để chỉnh sửa vớI một ô lớn hơn, tương tự như menu Quick Edit của WDASM

- F9 để lưu,

- F10 để thoát, hoặc đơn giản là bạn nhấn ESC

----HIEWS rất dễ dùng bạn hãy tự khám phá thêm nhé---------------



***Một số lưu ý nhỏ***



Khi bạn tìm được tạI một location một offset thì bạn hãy nhìn xuống
dưới thanh taskbar những chữ số hexa sau chữ @ (trừ chữ h đi nhé) đó
chính là địa chỉ offset trong HIEWS đó

Ví dụ tạI địa chỉ 004013AF tôi sẽ có một offset là @00007Afhà thì 00007AF chính là địa chỉ offset trong HIEWS

-------------------------------------------------------------------------



để các bạn có thể hiểu sơ lược về các dùng của ba phần mềm
SOFTICE,WDASM,HIEWS tôi xin hướng dẫn các bạn crack một crack me của anh
nicehacker…ở đây tôi chỉ bày cho các bạn phương pháp patch nó thôi…Còn
phương pháp tìm được serial thì bạn tự tìm hiểu nhé



-------------------------------------------------------------------------------------------



Chào các bạn...chắc hẳn không ít các bạn đã buông tay chịu trói
trước file crk me HVA_UNPACKED.exe...he he...Nếu các bạn chưa tìm được
số serial thì tôi xin bày cho các bạn phương pháp để patch file crk me
này, chứ riêng tôi thì mỗi lần tôi gõ đại vào ô serial một con số bất kỳ
thì nó hiện lên " wrong serial .."
phát bực mình he he...Mục đích tôi là làm sao cho nó hiện lên thông báo
"Good job,and now make a keygen "...Tôi không nêu phương pháp tìm
serial tuy nhiên dựa vào bài víêt này các bạn sẽ tìm được số serial...
he he mong các đàn anh tha tội vì em đã patch nó ke ke ke



Công cụ: SoftIce Driver Suite 2.6, Wdasm893 fixed, Hiew602

Patcher : hacnho



Lưu ý: do CuTi rất ma lanh là đã mã hoá nên các dòng thông báo như
"Wrong serial" không hiện lên trong String Data References của WDASM nên
không thể dùng WDASM trực tiếp được nên tôi phải dùng SofIce để tìm các
hàm call gọi ra cái nag đó...





Đầu tiên các bác chạy file hva_unpacked.exe, nhập vào một số serial
bất kỳ, tôi nhập vào số serial là 123456, khoan nhấn Ok, gõ Ctrl+D để
vào SoftIce (nếu dùng SoftIce Driver Suite 2.6 phải start softice trên
thanh start trước), gõ vào bpx GetDlgItemTextA, enter, nhấn Ctrl+D, để
ra khỏi SoftIce sau khi đã đặt một break point, nhấn nút Ok trên fiel
crk me HVA_UNPACKED.exe. Ta lại vào SoftIce, các bác nhấn F10 cho đến
khi thấy thông báo " wrong serial.." nhẩy lên che khuất màn hình
SoftIce, Lúc này các bác phải tinh mắt nhìn thấy khi ta nhấn F10 vệt
sáng di chuyển đến dòng có chữ

Call User32! MessageBoxA

004011AB Popad > he he đây chính là thông báo đáng ghét đó,



các bác nhớ lấy nó, sau đó gõ bc *( xoá Break Point), F5 để thoát...

mở WDASM, mở crk me đó lên, vào goto location 004011AB...Các bác sẽ nhìn thấy như vầy



* Referenced by a (U)nconditionnal or ©conditional Jump at Adresses:

|:004010C6©, : 004011110©, :00401119©...



:00401197 61 popad >>Gọi thông báo đúng khi các bác nhập vào serial đúng

:00401198 6A00 push 00000000

:0040119A 68CE304000 push 004030CE



.....

* Referenced To : user32.MessageBoxA, Ord:0000h

:004011A6 E845000000 call 004011F0

:0004011AB 61 popad >>he he Gọi thông báo wrong serial đó...



các bác đọc tới đây chắc cũng hiểu một phần phải không? Nên biết
crk me này chỉ có hai thống báo khi nhập serial, một là thông báo "good
job..", hai là thông báo "wrong serial..." Do đó ta có hai cách patch là
hoặc tất cả những câu lệnh nhảy trong phần so sánh số serial ta đều đổi
ngược lại hoặc là ta đổi từ popad 0004011AB sang 00401197 trong các câu
lệnh nhảy...

để cho newbie dễ hiểu tôi chọn cách một đó là đổi câu lệnh nhảy trong phần so sánh serial đều ngược lại hết...



Nhắc lại phần trên, khi các bác goto location 0004011AB rồi, vệt sáng sẽ nằm tại dòng

:0004011AB 61 popad...

hãy di chuyển chuột lên trên chừng 20 dòng các bác sẽ thấy



*Reference To: user32.GetDlgItemTextA, Ord: 0000h



:00401109 E8D6000000 Call 004011E4

:0040110E 85C0 Test eax,eax >> kiểm tra serial

:00401110 0F8481000000 je 00401197 >>nếu đúng, nhảy tới thông báo "good job"





yeah, vần đề nằm ở đây...hãy ghi nhớ tất cả những địa chỉ offset có chữ jne...Cụ thể là 5 địa chỉ





1.00000519

2.00000535

3.0000054C

4.00000563

5.0000057C





đóng WDASm lại, dùng Hiew mở HVA_UNPACKED.exe lên,



gõ F5, gõ 00000519, nhấn F3, đổi 75 thành 74

gõ F5, gõ 00000535, nhấn F3, đổi 75 thành 74

gõ F5, gõ 0000054C, nhấn F3, đổi 75 thành 74

gõ F5, gõ 00000563, nhấn F3, đổi 75 thành 74

gõ F5, gõ 0000057C, nhấn F3, đổi 75 thành 74



nhấn F9 để lưu, F10 để thoát...

Mở lại file HVA_UNPACKED xem, gõ vào số serial gì nó cũng hiện lên
thông báo "Good job,and now make a keygen xxxxxx"...he he he



Chú ý : xxxxxx: số serial tầm bậy mà các bác nhập vào







Bài viết này tôi viết dùng để giúp các bạn học tập...Nếu bạn chưa
rành về số serial, thì hãy tập patch...hiện nay có nhiều phần mềm chỉ
patch được, chứ ít crk được...Có thể thí dụ là Winrar3x...Ngô Vĩnh Hoàng
là một crker khá quen thuộc với dân xài đồ chùa Việt Nam, cũng thường
pacth chứ đâu có crk hoàn toàn đâu...Crk hay patch cũng được (theo tôi)
miễn sao là mình đạt tới mục đích là xài được một phần mềm nào đó miễn
phí mà không phải trả tiền...






















******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:29 pm

rong phần 4 tôi sẽ đưa ra cho các bác một tut về
các kỹ năng cơ bản để trở thành một cracker, cũng xin thông báo với các
bác là từ phần 4 trở đi kèm theo mỗi bài hướng dẫn tôi sẽ kèm theo hai
bài hướng dẫn crack một soft, một game hay crackme...trong đó một bài do
tôi crack và một bài nữa tôi sưu tầm do các đại ca crack...

***************************************:

Phần IV: Làm sao để crack được một soft…



Chào các bạn, chúng ta lạI gặp lạI nhau…
Trong phần IV này chúng ta sẽ bàn đề vấn đề chính đó là làm sao để
crack được một phần mềm bằng WDASM và Hacker Views ??? (không dùng
SoftIce).

He he he câu hỏI thật dễ nhưng mà trả lờI không dễ chút nào…!!! Tôi
cũng như các bạn khi tập tễnh bước vào làng crack cũng phảI toát mồ hôi
mớI crack được một phần mềm. Sau đây là một số kinh nghiệm bản thân tôi
khi muốn crack một phần mềm bằng WDASM và Hacker Views .



Chú ý: Trong bài này tôi có tham khảo bài viết của anh HOAVELU—Thanx for support



I. Tổng Quát:



Trên thị trường phần mềm hiện nay có rất nhiều phần mềm, chủng loạI
thật đa dạng và phong phú…MỗI ngày lạI có nhiều phần mềm mớI ra đờI,
bản thân những phần mềm đã xuất hiện cũng luôn luôn nâng cấp lên version
mới…Do đó cách crack luôn luôn phảI linh động , không được lấy y chang
cái cũ mà áp dụng cho cái mới…Sẽ thất bạI ngay!!!



Ví dụ: VớI phần mềm Winzip ver 8.0 bạn có thể dùng SoftIce tìm đến
dòng 00407AA3 LEA EAX,[EBP-0140] , sau đó đánh vào D EBP-0140 là tìm
được số serial tương ứng vớI user name nhập vào…Nhưng vớI Winzip 8.1 ,
nếu bạn áp dụng y chang như cách đốI vớI Winzip 8.0 sẽ chẳng được gì…Do
đó bạn hãy dùng chính cái đầu của mình hơn là áp dụng một cách máy móc
như con vẹt nhưng cái đã học



II. Cài Đặt



Hầu hết (khoảng 70%) phần mềm đều cài đặt xong rồI ta mớI
crack…(Tuy nhiên có những phần mềm bắt nhập license khi setup như
Window, Photoshop Visual Studio…thì ta sẽ bàn sau). Sau khi cài đặt xong
bạn hãy chạy soft cần crack sau đó ghi nhớ thông báo bắt đăng ký hay
nhập license code, user code v.v.



III. Unpack



Một số soft được tác giả nén lạI, vì sợ crack…ke ke ke, đơn cử như
Vietkey 2000 . Bạn phải xem coi chương trình có được nén(pack) lại hay
không. Nén ở đây không có nghĩa là được nén bằng WinZip hay WinRAR mà
file .EXE được nén nhỏ lại mà vẫn có thể chạy được bình thường không cần
giải nén. Để biết file có bị nén hay không, bạn phải xem mở file .EXE
đó ra để xem đoạn mã của nó. Ở đây tôi dùng WinNC, chọn file cần xem và
nhấn F3. Thông thường, nếu file đã bị nén thì nó sẽ có 1 dòng đặc trưng
trong file bị nén ở đầu file. Chẳng hạn như được nén bằng ASPack thì
(thường) trong file sẽ có chuỗi "aspack". Nén bằng UPX thì sẽ có dòng
"UPX...". Còn đối với shrink thì có chữ "shrink". Tuy nhiên, cũng có một
vài công cụ giúp ta giải nén (unpack) mà không cần biết file được nén
theo dạng nào, đó là nó tự động nhận dạng. Tuy nhiên, nếu dạng được nén
không được hỗ trợ thì nó cũng đành bó tay. Tiêu biểu cho loại này là
ProcDump32, nó hỗ trợ khá nhiều dạng phổ biến như ASPack, Code Safe 3.X,
PC Guard 2.10, PE Compact, PKLITE... bạn có thể chọn "*unknown*" để
chương trình tự động nhận dạng.

Ngoài ra, có thể chương trình còn được bảo vệ bởi 1 đoạn mã bảo vệ
(Security Code). Đây là một đoạn mã dùng để bảo vệ chương trình tránh bị
debug (anti-debug) hay thay đổi kích thước. Đối với loại này, chúng ta
cũng có một số chương trình để bỏ phần Security Code đó, có thể kể ra là
: Anti Crypt, UnCode Crypt, tEunlock...



IV. Bắt tay vào crack



*.Bước 1: sau khi chạy chương trình bạn hãy ghi nhận lạI những
thông báo bắt đăng ký đạI loạI như “Enter Registration Code”, Register,
evalution copy, unregistered version…v.v và v.v



*.Bước 2: Nhấn vào và nhập vào đạI một số Serial/Unlock
Code/Registration Code bất kỳ…Sau đó nó sẽ hiện lên một nag báo rằng
chúng ta đã nhập sai, yêu cầu nhập lại…Không sao, hãy ghi lạI dòng thông
báo mà bạn nhận được khi nhập sai như : “Incorrect Password...", "Wrong
Serial...", "Re-enter password ... "



*.Bước 3:



Chạy W32Dasm, chọn "Open file to Disassembler..." hay nhấn trên thanh công cụ cũng được.

_ Chọn file cần Crack.

_ Trên menu Refs, chọn String Data References. Tại sao ta phải làm như vậy, bạn hãy xem đoạn mã sau :



Nếu "Serial bạn gõ vào" = "Serial chương trình" thì <---- Ta sẽ Patch chỗ này

Nhảy đến đăng ký bản quyền

Còn không

Nhảy đến bảng thông báo "Incorrect password..." <------- Bạn cần ở đây trong W32Dasm



Bây giờ, nếu nó kêu là sai thì mình cho nó thành đúng :

Nếu "Serial bạn gõ vào" <> "Serial chương trình" thì <----- Chỗ đã được patch

Nhảy đến đăng ký bản quyền

Còn không

Nhảy đến bảng thông báo "Incorrect password..." <-------- Bạn cần ở đây trong W32Dasm



Còn bây giờ bạn cần biết một chút về assembler (vì chương trình sẽ được W32Dasm dịch ra assembler mà

Viết lại trong assembler đoạn code trên sẽ tương tự như :

cmp eax, eax <----- So sánh số serial/unlock code...

jne [Địa chỉ 1] <----- Nhảy đến thông báo số đăng ký đúng hoặc sai

call [Địa chỉ 2] <----- Nhảy đến thông báo ngược lại



Bây giờ, giả sử [Địa chỉ 1] là nhảy đến thông báo đã được đăng ký
và [Địa chỉ 2] nhảy đến thông báo "Incorrect password..." thì ta sẽ phải
sửa lại đoạn code như sau :

cmp eax, eax

je [Địa chỉ 1] <------ Chỗ đã được Patch

call [Địa chỉ 2]



Trong assembler, câu lệnh nhảy được biết đến là :

je = Jump if equal : Nhảy nếu bằng

jne = Jump if not equal : Nhảy nếu không bằng



Vì vậy, thông thường "je" được đổi thành "jne" và ngược lại.

Trở lại với chương trình của chúng ta, đi tìm chuỗi "Incorrect
password..." là chúng ta đã đến bảng thông báo "Incorrect password...".
Kiếm bằng cách vào menu Refs/String data references của W32Dasm, tìm
chuỗi "Incorrect password..." và nhấn kép vào nó (hy vọng là có .
Lúc này, W32Dasm đưa chúng ta đến bảng thông báo chưa đăng ký rồi,
nhiệm vụ của chúng ta là phải kiếm được nơi có chứa lệnh nhảy đến bảng
thông báo này. Hãy dời con trỏ lên cho tới khi nào kiếm thấy dòng "je
..." hay "jne..." thì dừng lại ở đó. Còn nếu thấy dòng :



* Reference ....

:000... <---- để ý địa chỉ này



thì hãy dừng lại đó vì bảng thông báo đã được gọi từ 1 địa chỉ
khác, nhấn Shift-F12 (hay vào menu Goto/Goto Code Location), nhập vào
dãy số000... sau dòng "* Reference..." rồi Enter.

Lặp lại các bước dò như trên cho đến khi nào thấy được dòng "je..." hay "jne..."

Cuối cùng, khi đã kiếm được rồi thì hãy nhìn xuống thanh status
bar, bạn sẽ thấy 1 chuỗi số ngay sau "@Offset ...00...". Nhớ lấy chuỗi
số đó, và đừng quên là bỏ chữ "h" cuối cùng đi, vì đây là chữ biểu hiện
cho số HEX.



*.Bước 4:



Đóng W32Dasm lại. Mở HView ra, nhấn F4, chọn Decode, nhấn F5, đánh
vào giá trị00... bạn thu được ở "@Offset...00..." lúc nãy và Enter,
HView đưa bạn đến ngay đúng dòng bạn nhìn thấy trong W32Dasm và còn chờ
gì nữa, patch nó đi. Nhấn F3, rồi F2 (tôi chọn cách này để giúp Newbie
dễ hiểu hơn vì đôi lúc không phải lúc nào giá trị cũng là 74 và 75). Sửa
"jne..." thành "je..." và "je..." thành "jne..."

_ Cuối cùng, nhấn F9 để Save chương trình và F10 để thoát, bạn chạy
lại chương trình và nhập số đăng ký bất kỳ thử xem sao, nếu may mắn,
bạn sẽ nhận được thông báo "Thanks for ..." , hehe, và đừng quên lưu 1 bản .EXE để đề phòng sự cố trước khi Patch .



Mẹo : Nếu không tìm thấy dòng "Incorrect password..." thì bạn thử
đi ngược lại là đi từ dòng "Thanks for..." hay "Registered..." xem .

Đây là cách đơn giản nhất để Patch chương trình, ngoài ra còn có
thể dùng SoftICE, VBDe, DeDe, SmartCheck... cái đó để hỗ trợ crack soft
là tùy ở bạn . Bạn có thể nâng cao "tay nghề" bằng cách viết keygen
hoặc bằng 1 số thủ thuật khác như "spy memory" .







Chú ý : Ngoài hai câu lệnh ASM cơ bản bạn nên biết một số câu lệnh
khác như : Call, Popad, Test, Nop ( bạn có thể tham khảo trong phần phụ
lục của tôi)





V. Bài tập crack đầu tiên cho bạn



Để minh hoạ cho phần lý thuyết trên chúng ta hãy tập crack một phần
mềm khá quen thuộc với người Việt Nam, đó là bộ gõ Vietkey...Trên thị
trường hiện nay đã có bản Vietkey build 11220, nhưng bản đó được pack
lại bằng UPX, detect Si nên tôi không hướng dẫn các bạn crack nó, mà
chúng ta hãy tập crack phiên bản Vietkey409e...Các bản Vietkey409,409d
đã được các anh NVH©, Nguyễn Mạnh Cường hướng dẫn, nhưng bây giờ trong
tay tôi chỉ có bản Vietkey409e trong CD PHP software #1, và mặc dùng bác
Phạm Hồng Phước có cho bản crack, nhưng khi mở Vietkey409e lên tôi thấy
" License to Rockman", tò mò tôi thử xoá file VKNT.LIC thì lập tức hiện
lên bảng thông báo bắt đăng ký với tác giả he he, vậy là tay Rockman
này hắn chỉ tìm số serial cho riêng mình hắn, do đó bạn không thể đăng
ký license cho mình, không biết các bạn cảm giác sao chứ tôi rất bực
mình khi phải xài phần mềm do người khác crack ke ke ke...Từ đó hôm nay
tôi sẽ hướng dẫn các bạn crack Vietkey409e chấp nhận mọi serial, dù cho
bạn có xoá file VKNT.LIC



Công cụ : WDASM893, HIEWS602 (mới hơn càng tốt)

Phần mềm : Vietkey409e

File cần crack : VKNT.EXE

Cracker : hacnho





Đầu tiên các bạn chạy Vietkey409e, tức thì một loạt nag hiện ra đập
liên tiếp vào mặt bạn " Vietkey chua dang ky su dung, lien he tac gia",
sau một hồi bắn ra một loạt nag, nó hiện ra một dòng chữ " Unregistered
Version" trên thanh tiêu đề của Vietkey409e...Sau đó bạn đánh dấu kiểm
vào check box " Đăng Ký Sử Dụng" or " Registration", vào đó nhập vào
User Nam, và License Code, enter, oh la la, một nag bắn ra " Invalid
Number", Bạn ghi nhớ lấy nó...



Okie, sau khi tắt Vietkey409e bạn dùng WDASM mở file VKNT.EXE trong
thư mục cài đặt. chờ cho WDASM disassembly xong bạn bắt đầu vào menu
menu Refs, chọn String Data References, kiếm cho ra dòng có chữ "
Invalid Number", double click vào nó, đóng cửa sổ String Data References
lại, lúc này bạn sẽ thấy như sau :



*. Reference To: USER32. GetDlgItemTextA, Ord : 00EDh

|

:00403000 FFF15D4934000 Call dword ptr [004093D4]

:00403006 8D4DCC lea ecx, dword ptr [ebp-34]

:00403009 51 pussh ecx

:0040300A 56 push esi



*. Reference To: KERNEL32.lstrcmpA, Ord : 00269h

|

:0040300B FF15C8924000 Call dword ptr [004092C8] =>Gọi hàm kiểm tra License Code

:00403011 85C0 test eax, eax ==> kiểm tra License Code

:00403013 743D je 00403052 ==>Nếu nhập đúng, nhảy đến thông báo " License to.."

:00403015 833D1877400000 cmp dword ptr [00407718], 00000000



*. Possible StringData Ref from Data Obj ->"Go"



:0040301C B8187C4000 mov eax, 00407C18

:00403021 7505 jne 00403028 ==> Sai, nhảy đến thông báo "Invalid Number"



*. Possible StringData Ref from Data Obj ->"Invalid Number"





:00403023 B89C704000 mov eax,00407C9C



Oh yeah, chúng ta đã tìm ra chỗ cần crack rồi phải không các bạn,
chúng ta chỉ cần đổi 2 chỗ, --một là ( :00403013 743D je 00403052
==>Nếu nhập đúng, nhảy đến thông báo License to " ) ==> Cái mà ta
cần crack ở đây là, dù cho ta nhập vào số serial gì nó cũng chịu và hiện
ra bảng Lincense to...

--hai là, chúng ta không cho hiện ra bảng " Invalid number" đồng
nghĩa với chuyện bảng thông báo " Liên hệ tác giả" cũng không hiện ra
luôn he he (:00403021 7505 jne 00403028 ==> Sai, nhảy đến thông báo
"Invalid Number")



Ở đây chúng ta cần đổi hai bytes:



1. bytes thứ nhất chúng ta đổi câu lệnh nhảy ngược lại tức là từ je
( nhảy nếu bằng) thành jne (nhảy nếu không bằng)...các bạn di chuyển
vệt sáng đến dòng :00403013 743D je 00403052, nhìn xuống dưới thanh task
bar của WDASM bạn thấy một địa chỉ offset 0002413 (bỏ chữ h đi nhé),
nhớ lấy nó...Mở HIEWS ra, tìm đến file VNTK.EXE (thường là ở ổ C, alt+F1
để chuyển ổ đĩa), nhấn F5, gõ vào 0002413 , nhấn F3, đổi 74 thành 75.
Nhấn F9 để lưu, F10 để thoát



2. bytes thứ hai chúng ta đổi câu lệnh nhảy ngược lại tức là từ jne
( nhảy nếu không bằng) thành je (nhảy nếu bằng)...các bạn di chuyển vệt
sáng đến dòng 00403021 7505 jne 00403028, nhìn xuống dưới thanh task
bar của WDASM bạn thấy một địa chỉ offset 0002421 (bỏ chữ h đi nhé), nhớ
lấy nó...Mở HIEWS ra, tìm đến file VNTK.EXE (thường là ở ổ C, alt+F1 để
chuyển ổ đĩa), nhấn F5, gõ vào 0002421 , nhấn F3, đổi 75 thành 74. Nhấn
F9 để lưu, F10 để thoát...



bây giờ mở lại Vietkey, đăng ký, hay xoá file VKNT.LIC xem, bạn sẽ thích ngay mà ha ha ha,



----------------------

thật ra tôi còn một chiêu khác là đổi je thành EB nhưng không chỉ
cho các bạn vì chúng ta chỉ mới học...Nếu hứng thú bạn có thể tự nghĩ ra
cách để crack bản Viekey409e này, bằng SoftIce (dùng hàm
getdlgitemtexta),

---------------------



Bài viết của hacnho from HVA (vui lòng để lại dòng này khi trích dẫn, thanx alot)----------------------------





Thế là chúng ta đã đi hết phần IV rồi phải không các bạn, hy vọng
các bạn sẽ hiểu nhiều hơn về nghệ thuật crack, trong phần sau tôi sẽ
hướng dẫn các bạn về keygen, và chúng ta sẽ học crack PC security 5.0,
Chúng ta sẽ học crack xen kẽ một phần mềm Việt nam với một phần mềm nước
ngoài...Và dĩ nhiên là chúng ta cũng sẽ học crack những trò game nổi
tiếng như Empire, Cossack, Haft Life...



Hiện nay anh Hoàng đã đưa địa chỉ trang web của mình , các bạn hãy vào tham quan và học hỏi nhe





My Forum: [You must be registered and logged in to see this link.]





[You must be registered and logged in to see this link.]

******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:32 pm

Phần V



Chào các bạn, đáng lẽ hôm nay tôi sẽ hướng dẫn các bạn khái niệm về
keygen nhưng vì chắc các bạn cũng cũng chưa rành cách crack lắm nên tôi
sẽ tiếp tục hướng dẫn các bạn cách crack một số phần mềm để cho quen
dần…sau đó mớI tiếp tục nâng cao trình độ là viết
keygen…-------------------



Như thường lệ chúng ta sẽ đi qua phần lý thuyết một chút. Bài viết
này sẽ hướng dẫn các bạn một chút về các câu lệnh asm đơn giản



Chú ý : Trong bài viết này, phần lý thuyết tôi có tham khảo bài viết của một fan vicki

---------------------

I. Lý Thuyết



Tính offset của lệnh JMP, JX, JNX & CALL





I. Lý thuyết



1. Giới thiệu



Xin chào các bạn! Trong bài viết này tôi muốn giải thích với các
bạn cách tính toán offset của các câu lệnh JUMPS và CALL. Bạn sẽ thường
xuyên tính toán offset của các câu lệnh này trong reverse. Đặc biệt,
hiểu được cách tính cũng giúp bạn tiếp cận với kĩ thuật làm mù điểm vào
host trong virus (EPO - EntryPoint Obscrured) một cách dễ hơn!



2. Các loại câu lệnh JUMPS & CALL



Ở đây tôi chỉ mô tả sự khác biệt của các câu lệnh JUMPS & CALL mà bạn thường gặp!



a) Short Jumps: nhảy ngắn có hoặc không có điều kiện đều là 2 byte.
Bạn chỉ có thể nhảy tới 127 byte hoặc nhảy lùi 128 byte với các short
jumps



b) Long Jumps: nhảy dài, 6 byte cho có điều kiện hoặc 5 byte cho không điều kiện



c) Calls: 5 byte ở dạng short



* Đây là bảng mã máy mô tả sự khác biệt giữa các loại JUMPS & CALLS



Jump Description Short Op-Code Long Op-Code

call procedure call E8xxxxxxxx N/A

jmp unconditional jump EBxx E9xxxxxxxx

ja/jnbe jump if above 77xx 0F87xxxxxxxx

jae/jnb/jnc jump if above or equal 73xx 0F83xxxxxxxx

jb/jc/jnae jump if below 72xx 0F82xxxxxxxx

jbe/jna jump if below or equal 76xx 0F86xxxxxxxx

jcxz/jecxz jump if cx/ecx equals zero E3xx N/A

je/jz jump if equal/zero 74xx 0F84xxxxxxxx

jne/jnz jump if not equal/zero 75xx 0F85xxxxxxxx

jg/jnle jump if greater 7Fxx 0F8Fxxxxxxxx

jge/jnl jump if greater or equal 7Dxx 0F8Dxxxxxxxx

jl/jnge jump if less 7Cxx 0F8Cxxxxxxxx

jle/jng jump if less or equal 7Exx 0F8Exxxxxxxx

jno jump if not overflow 71xx 0F81xxxxxxxx

jnp/jpo jump if no parity/parity odd 7Bxx 0F8Bxxxxxxxx

jns jump if not signed 79xx 0F89xxxxxxxx

jo jump if overflow 70xx 0F80xxxxxxxx

jp/jpe jump if parity/parity even 7Axx 0F8Axxxxxxxx

js jump if sign 78xx 0F88xxxxxxxx



Vấn đề của chúng ta là cần tính các số xx và xxxxxxxx trong mã máy



3. Tính toán offset



* Công thức: OFFSET = địa chỉ của nơi đến - (địa chỉ nơi jumps/calls + kíck thước của câu lệnh jumps/calls)



* Ví dụ:



a) Bạn đang ở tại địa chỉ 40108E. Bạn cần đặt một lệnh nhảy đến địa chỉ 4020D0 tại địa chỉ này



:40108E JMP 4020D0



Offset = 4020D0 - [40108E + 5(E9xxxxxxxx có kích thước 5 byte)] =
103D. Mã máy sẽ là E93D100000, trong đó E9 là mã máy của JMP và 3D100000
là số xxxxxxxx mà bạn vừa tính được (0000103D viết ngược lại sẽ là
3D100000)



b) Bạn cần đặt một lệnh CALL đến địa chỉ 401184 tại địa chỉ 40218B



:40218B CALL 401184



Offset = 401184 - [40218B + 5(E8xxxxxxxx có kích thước 5 byte)] =
FFFFEFF4. Mã máy sẽ là E8F4EFFFFF, trong đó E8 là mã máy của CALL và
F4EFFFFF là số xxxxxxxx mà bạn vừa tính được (FFFFEFF4 viết ngược lại sẽ
là F4EFFFFF)



II. Thực hành



Bạn đã dùng Notepad! Mỗi lần mở file có kích thước vượt quá 64KB,
Notepad sẽ hiển thi một hộp thông báo "Lỗi: File có kích thước quá lớn.
Bạn có muốn dùng WordPad để đọc file này không?" - Yes | No . Nhiệm vụ
của chúng ta là patch file notepad.exe để mỗi khi mở file có kích thước
lớn hơn 64KB nó sẽ không hiển thị hộp thông báo trên nữa và tự động mở
file bằng WordPad cho bạn. Trước khi bắt đầu mọi việc, bạn hãy sao lưu
file notepad.exe trước đề phòng sự cố! Thật ra thì cũng không cần thiết
bởi bạn có thể dùng SFC(System File Checker) của Windows để restore lại
file notepad.exe bất cứ lúc nào. Trong ví dụ này tôi dùng bản Notepad
của Windows98SE.



1/ Chạy W32Dasm. Sau khi dism file xong, bạn vào menu Ref/String
Data References, tìm dòng String Resource ID=00056: "wordpad.exe" và
double click lên nó. Để xem chúng ta có gì nào?!



* Possible Reference to String Resource ID=00036: "&f"

|

:004033A5 6A24 push 00000024 ; rất quan trọng

:004033A7 A1B4504000 mov eax, dword ptr [004050B4]

:004033AC 56 push esi

:004033AD 50 push eax

:004033AE FF7508 push [ebp+08]



* Reference To: USER32.MessageBoxA, Ord:01ACh

|

:004033B1 FF15A8644000 Call dword ptr [004064A8] ; hiện messagebox

:004033B7 83F806 cmp eax, 00000006 ; đã chọn YES hay NO? (IDYES=6)

:004033BA 0F85A7000000 jne 00403467 ; NO -> thoát

:004033C0 6804010000 push 00000104 ; YES -> mở file bằng WordPad

:004033C5 8D858CFDFFFF lea eax, dword ptr [ebp+FFFFFD8C]

:004033CB 837D1001 cmp dword ptr [ebp+10], 00000001

:004033CF 1BFF sbb edi, edi

:004033D1 50 push eax

:004033D2 83C737 add edi, 00000037



* Possible Reference to String Resource ID=00056: "wordpad.exe"

|

:004033D5 6A38 push 00000038

:004033D7 FF3540554000 push dword ptr [00405540]

Chúng ta chỉ cần thay PUSH 00000024 tại địa chỉ 4033A5 thành lệnh
nhảy ngắn đến địa chỉ 4033C5. Mã máy của short jump là EBxx. May mắn là
kích thước của short jump này là 2 byte, đúng bằng kích thước của câu
lệnh PUSH 00000024 tại địa chỉ 4033A5 (6A24)! Áp dụng công thức tính
offset ở trên, xx = 4033C0(địa chỉ đến) - [4033C5(địa chỉ jump) + 2
(kích thước của short jump EBxx)] = 19. Okay, mã máy sẽ là EB19!



6A24 PUSH 00000024

EB19 JMP 004033C0



2/ Chạy Hiew và mở file notepad.exe. Nhấn F4, F5 và nhập vào
".4033A5". Nhấn F3 và thay đổi 6A24 thành EB19, sau đó bấm F9 và F10.
Xong, thử chạy lại Notepad và mở một file có kíck thước lớn hơn 64KB xem
sao!



-------------------------------------------------------------------------



II. Thực hành



Vì phần lý thuyết có lẽ khá phức tạp đốI vớI các bạn newbie, nên
trong phần thực hành chúng ta sẽ giảI trí vớI phần một phần mềm khá nổI
tiếng của hãng EURONET đó là phần mềm Hanami…Một phần mềm trang trí cho
desktop…Nó làm một cây anh đào ngay trên desktop, sao đó những cách hoa
đào sẽ rơi nhè nhẹ xuống thanh taskbar…Lâu lâu lạI có một cơn gió thổI
qua làm nhưng cánh hoa đào cuốn theo chiều gió bay thật đẹp…



Đẹp thì có đẹp đó…Nhưng “thằng Hanami” này bắt bạn phảI đăng ký…Nếu
bạn không đăng ký thì mỗI lần bạn chạy chương trình nó sẽ đập vào mặt
bạn một cái nag “ Not registered…hanami is shareware….” thật bực mình…Dĩ
nhiên là bạn không muốn cái nag đó hiện ra chứ gì…Đúng vậy…Nhu cầu bức
thiết là chúng ta phảI crack nó…Ok Sau khi tảI về (từ site euronet), bạn
cài đặt, copy một bản hanami.exe ra dự phòng, rủI làm bậy còn có cái mà
backup lại…Okie chúng ta bắt đấu crack nó.



Phần mềm : Hanami [You must be registered and logged in to see this link.]

Công cụ : Windasm, Hiew

Cracker : hacnho



Đầu tiên bạn chạy hanami, một cái nag “ Not registered…hanami is
shareware….” Văng ra, bạn hãy nhớ dòng “…shareware”, click ok…Sau đó bạn
vào bạn click vào nút lệnh (command button) “ Register…”, một cái nag
khác văng ra bắt bạn nhập vào “ your name”, “keyword”, “Registration
Code”



…He he bạn đừng tưởng bở là “ cái “ keyword” không có tác dụng
nhe…Tuy phần mềm rất nhỏ nhưng tác giả lạI đặt một cơ chế tạo key phức
tạp nhiêu khê…Nếu dùng SoftIce để tìm số code thì hơi lâu…Nên tôi dùng
phương pháp đơn giản là patch nó



hãy nhập vào tên, keyword và Registration Code. Ở đây tôi nhập vào



Your name : hacnho

Keyword :123456

Registration Code: abcdef



Enter, oh la la một nag văng ra “ Error…The registration code entered is incorect”…Ok hãy nhớ lấy nó, bạn hãy thoát hanami.



Bây giờ chúng ta mở WDASM lên, chọn file Hanami.exe…chờ WDASM
disassembly xong bạn vào menu Refs, chọn String Data References, kiếm
cho ra dòng “The registration code entered”, double click vào nó hai
lần…Bạn trở lạI màn hình của nhìn xem chúng ta đang ở đâu…bạn sẽ thấy
như thế này:



* Possible String Ref from Data Obj -->"The registration code entered"

-->"is incorect"



:0040886C 68E8424100 push 004142E8

:00408871 8B4D08 mov ecx, dword ptr [ebp+08]

:00408874 51 push ecx



* Refenrence To: USER32.MessageBoxA, Ord :01BEh





:00408875 FF1534124100 Call dword ptr [00411234]

:0040887B EB5A jmp 004088D7





Bây giờ bạn thấy vệt sáng đang ở tại

:0040886C 68E8424100 push 004142E8

hãy dịch chuyển vệt sáng lên trên vài dòng bạn sẽ thấy như sau



*. Possible String Data Ref from Data Obj --> " "

:0040884F 68B0384100 push 004142E0

:00408854 E827140000 call 00409C80

:00408859 83C408 add esp, 00000008

:0040885C E828FEFFFF call 0040869 --> gọi thông báo đăng ký

:00408861 85C0 test eax, eax -->kiểm tra số code

:00408863 7518 jne 0040887D--> nhảy nếu sai (chổ cần crack, nhớ lấy)

:00408865 6A00 push 0000000



đưa vệt sáng đến dòng :00408863 7518 jne 0040887D, nhìn xuống thanh task bar thấy offset là : 00008863 (1)



Trở lại bảng menu Refs, chọn String Data References, bạn tìm dòng "
Hanami is a shareware program", double click...Chúng ta lại ra ngoài,
Bạn sẽ thấy như sau





* Possible String Ref from Data Obj -->" Hanami is a shareware program"

:004014DE 68583F4100 push 00412F58 -->bạn đang ở đây

:004014E3 A1CC584100 mov eax, đwor ptr [004158CC]

:004014E8 50 push eax





* Refenrence To: USER32.MessageBoxA, Ord :01BEh



:004014E9 FF1534124100 call dword ptr [004011234]





hãy dịch chuyển lên và dòng, bạn thấy



*. Referenced by a (U)nconditional or ©onditional Jump at Address:

|:004014B4©

|

:004014CE 833DF053410000 cmp dword ptr [0040153F0], 00000000

:0040014D5 7518 jne 004014EF --> nhảy nag "Not Registered Yet", cần crack

:004014D7 6A00 push 00000000



*.* Possible String Ref from Data Obj -->"Not Registered Yet"

:004014D9 push 00413F44



bạn hãy di chuyển vệt sáng đến dòng :0040014D5 7518 jne 004014EF, nhìn xuống task bar, thấy offset là 000014D5 (2)



***từ (1) và (2) ta có hai địa chỉ offset là 00008863 , và
000014D5, do jne nghĩa là nhảy nếu không bằng, từ là bạn nhập sai thì sẽ
nhảy tới thông báo sai, do đó ta cần crack ở chổ đổi cho nó dù nhập sai
thì sẽ không nhảy...vậy thì ta chỉ cần đổi jne thành je ( 75 thành 74)



Ok bây giờ bạn hãy ghi lại hai offset trên, mở Hiew, mở file hanami.exe lên



Gõ F5, nhập 00008863, gõ F3, sửa 75 thành 74, gõ F9

Gõ F5, nhập 000014D5, gõ F3, sửa 75 thành 74, gõ F9, gõ F10



Okie bây giờ bạn ở Hanami lại xem, bạn sẽ thích ngay mà ha ha ha

-----------------

bài viết của hacnho (vui lòng để lại dòng này khi bạn trích dẫn--thanx a lot)

-------------------



trong phần 6 tôi sẽ hướng dẫn các bạn dùng các công cụ crack engine
như file patcher 2002, và đặc biết là crack engine của anh Lê Vũ Hoàng,

**************************************:

Phần VI



Chào các bạn hôm nay tôi sẽ hướng dẫn các bạn khái niệm về sử dụng
các công cụ dùng để patch. Cụ thể là ba công cụ File Patcher 4.0 của
Moose's Shareware & Emulation Valley và hai công cụ Crack engine và
Patch Generator của Lê Vũ Hoàng Những khái niệm này có lẽ rất sơ sài
nhưng các bạn hãy xem qua rồI từ đó khám phá ra nhiều loạI khác …



Chú ý: trong bài viết này tôi có tham khảo bài viết của anh Lê Vũ Hoàng trong phần hướng dẫn PG và CE—thanx for support

Đầu tiên chúng ta phảI crack một phầm mềm cái đã…Tôi chọn soft xấu
số để trảm thủ hôm nay là Winrar 3.10 (hiện giờ đã có ver 3.20 cũng
crack tương tự)…



Phần mềm :Winrar 3.10

Công cụ :WDASM 893, HIEWS 602

Cracker :hacnho



Hẳn trong các bạn ai dùng qua máy tính đều biết Winrar…một tiện ích
nén vào bung nén hỗ trợ nhiều dạng file…Nhưng nó không cho xài miễn
phí. Sau khi setup bạn mở Winrar ra, đầu tiên bạn thấy trên dòng Title
của Winrar có chữ "evaluation copy", nhớ lấy nó…Chỉnh đồng hồ hệ thống
bạn qua vài ngày, bạn sẽ thấy dòng chữ "only %d days left to buy a
license", vào menu help vào about bạn thấy dòng chữ “40 day trial
copy”…Tiếp tục chỉnh đồng hồ hệ thống sang 2 tháng tiếp theo, mở lạI
winrar, bạn sẽ bị một cái nag “yêu cầu đăng ký” đập vào mặt…

Ok hãy nhớ lấy những điều trên…Như thường lệ chúng ta vào menu Help
kiếm dòng Enter Registration Code…Oh la la không có dòng đó…Chẳng lẽ
chúng ta đành chịu chết hay sao…Không đâu cứ bình tĩnh mà run



- chạy W32Dasm, mở file WinRAR.exe

- vào menu Refs/String Data References, tìm dòng "evaluation copy"
và double click lên nó. Di chuyển con trỏ lên một đoạn bạn sẽ thấy đoạn
lệnh sau:







...

:00445B3C 757A jne 00445BB8 (dòng này rất quan trọng) <-- bạn đang ở đây

:00445B3E A17C874A00 mov eax, dword ptr [004A877C]

:00445B43 83F814 cmp eax, 00000014

:00445B46 7C05 jl 00445D4B

:00445B48 83F828 cmp eax, 00000028

:00445B4B 7C1D jl 00445B6A





Dòng ":00445B3C 757A jne 00445BB8 " sẽ kiểm tra WinRAR đã được đăng
kí hay chưa. Nếu chưa đăng kí nó sẽ thay đổi caption thành dòng
"evaluation copy"(bản dùng thử) trong phạm vi 40 ngày, ngược lại nó sẽ
đổi caption thành dòng "only 'xyz' days left to buy a license"(đã quá
hạn dùng thử 'xyz' ngày) nếu bạn đã xài quá 40 ngày. ở đây, chúng ta chỉ
cần thay dổi jne 00445BB8 thành je 00445BB8 là WinRAR sẽ jump over
'thay đổi caption'



- bạn vẫn đang đứng tại dòng ":00445B3C 757A jne 00445BB8 ", hãy để ý đến thanh trạng thái ở

phía dưới:



Line:125681 Pg 1429 of 3117 Code Data @:00445B3C @Offset 0004513Ch in File WinRAR.exe



0004513Ch chính là file offset, còn 00445B3C chỉ là địa chỉ ảo - Virtual

Address(VA=Imagebase+RVA). Hãy ghi nhớ con số này.



----Ok bây giờ chúng ta tiếp tục xử lý đến cái nag bắt đăng ký ấy



-Vào menu Refs/String Data References, tìm dòng "REMINDER" và nhắp
đôi lên nó (nhớ chỉ double một lần thôi nhe, vì nó có hai đoạn code
tương ứng. Di chuyển con trỏ lên một đoạn bạn sẽ thấy đoạn lệnh sau:



...



* Referenced by a (U)nconditional or ©onditional Jump at Address:

|:0043B57F©

|

:0043BAE2 833D487E4A0000 cmp dword ptr [004A7A48], 000000000

:0043BAE9 754D jne 0043BB38 (dòng này rất quan trọng) <- bạn đang ở đây

:0043BAEB 803D98F1480000 cmp dword ptr [0048F198],00

:0043BAF2 7544 jne 0043BB38

...



Dòng ":0043BAE9 754D jne 0043BB38 " sẽ kiểm tra WinRAR đã được đăng
kí hay chưa. Nếu chưa đăng kí nó sẽ pop một nagscreen yêu cầu bạn đăng
kí, sau đó sẽ nhảy đến lệnh tiếp theo tại địa chỉ 0043BB38. ở đây, chúng
ta chỉ cần thay dổi jne 0043BB38 thành jne 0043BB38 là xong!



- bạn vẫn đang đứng tại dòng ":0043BAE9 754D jne 0043BB38 ", hãy để ý đến thanh trạng thái ở phía dưới:



Line:170442 Pg 1221 and 1222 of 3117 Code Data @:0043BAE9 @Offset 0003B0E9h in File WinRAR.exe



0003B0E9h chính là file offset của câu lệnh jne 0043BB38. Hãy ghi nhớ con số này.



Ok, còn một vấn đề nữa đó là chúng ta khi vào Help, about trong
winrar thì thấy dòng 40 day trial copy, rất đáng ghét…Ok hãy vào

- vào menu Refs/String Data References, tìm dòng "Registered to" và
double click 1 lầm duy nhất lên nó. Di chuyển con trỏ lên một đoạn bạn
sẽ thấy đoạn lệnh sau:



*.Referenced to :User32.SetDlgItemtextA, Ord: 0000h

:0043EBF1 E818BD0400 Call 0048A90E

:0043EBF6 803DC0C71490000 cmp dword ptr [0049710C], 00

:0043EBFD 7449 je 0043EC48 (dòng này rất quan

trọng) <-- bạn đang ở đây

:0043EBFF BE086B4900 mov esi, 00496B08

---



Nhìn xuống task bar thấy dòng chữ sau chữ @offset là 0003E1FD, ok hãy nhớ nó



------------------------------------



Trước khi crack tôi có một đề nghị bạn hãy sao lưu một bản winrar để dành để chúng ta bước qua phần 2

----------------------------



Ok bây giờ chúng ta mở HIEWS602 ra, các bạn mở file Winrar.exe,

gõ F5, gõ 0004513C, nhấn F3, sửa 75 thành 74

gõ F5, gõ 0003B0E9, nhấn F3, sửa 75 thành 74

gõ F5, gõ 0003E1FD, nhấn F3, sửa 74 thành 75



sau đó gõ F9, F10…Bây giờ bạn hãy chạy Winrar xem, bạn sẽ thích
ngay mà ha ha ha…Nếu không thích dòng registered to bạn có thể dùng
Reshack sửa lạI thành crack by hacnho© 2003

--------------------------------



Ok bây giờ chúng ta qua phần 2



Hướng dẫn sử dụng File Patcher 4.0 (lên google search)





File Patcher 4.0 là một công cụ patch trực tiếp không cần dùng đến
HIEWS…các dùng rất dễ…Crack phần mềm cần crack, sau đó tìm ra offset để
đổI bytes…Để cho các bạn dễ hiểu chúng ta lấy Winrar ở trên làm thí
dụ…Chúng ta tìm được 3 offset cần đổI bytes…Như vậy chúng ta cần đổI 3
bytes



1.0004513C từ 75 thành 74

2.0003B0E9 từ 75 thành 74

3.0003E1FD từ 74 thành 75





Ok các bạn hãy mở notepad lên, sau đó gõ vào



Offset= $0003B0E9: From $75 To $74

Offset= $0004513C: From $75 To $74

Offset= $0003E1FD: From $74 To $75



Sau đó save lạI vớI nộI dung: crack.txt



Mở file patcher4.0 lên



Trong dòng



-File to be patched : tìm file cần crack

-File after patching : save vào file nào (nên đặt là crack.exe)

-patch data file: tìm đến file crack.txt vừa lưu



Xong click process/apply patches



Quá đơn giản phảI không các bạn



----------------






















******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:33 pm

Hướng dẫn sử dụng Cracker Engine ---



I. Cách dùng Cracker Engine :



Cracker Engine là một tool giúp các cracker dễ dàng hơn trong việc phân phối các bảng crack (bằng Patch) của mình.



Nếu người dùng muốn crack một chương trình bằng Cracker Engine, đầu
tiên, họ sẽ tải bản chạy của Cracker Engine (CrackerEngine.EXE) xuống.
Kế tiếp, download thêm phần data chứa các thông tin cần dùng để Cracker
Engine có thể thi hành. Ví dụ trên trang web
www27.brinkster.com/levuhoang/ có những data dành cho Cracker Engine là
"DynamicSkinForm 4.61", "Snood 3.0", "Diamond Mind 1.5y"....



Nếu một người muốn crack chương trình Snood phiên bản 3.0, anh ta phải trải qua những bước sau :



* Download file CrackerEngine.ZIP trên Website về



* Download file Snood30.zip trên Website về



* Bung CrackerEngine.ZIP và Snood30.ZIP vào cùng thư mục



* Chạy CrackerEngine để crack Snood 3.0



Còn nếu một người đã có file CrackerEngine.EXE rồi mà anh ta muốn
crack "Diamond Mind 1.5y" thì anh ta chỉ việc download file DSF461.ZIP
trên Website về và bung vào cùng thư mục với CrackerEngine là xong.



Các ưu điểm của CrackerEngine :



* Data-file nhỏ, nhẹ (vào trăm bytes)



* Một lần download CrackerEngine.EXE cho tất cả



Các khuyết điểm của CrackerEngine :



* File CrackerEngine.EXE lớn (nhưng cũng chỉ download 1 lần)



* Chỉ dùng được trong các trường hợp cần Patch chương trình.







II. Cách dùng Patch Generator :



_ Patch Generator là một công cụ giúp tạo các file data cho CrackerEngine.



_ Đầu tiên, cracker giữ 1 bản sao cho chương trình cần crack.



_ Tiếp theo, Patch chương trình đó.



_ Chạy Patch Generator, chọn file gốc và file đã Patch. Lưu ý :
Patch Generator sẽ lấy tên file cần patch theo CrackEd_File. Có nghĩa là
nếu tên file đã crack của bạn tên là gì thì Patch Generator sẽ sử dụng
tên đó khi Patch chứ không phải tên Original.



_ Gõ vào tên Thư mục mặc định mà chương trình thường Install.



_ Gõ vào tên Cracker, mail.



_ Icon cho file Data (được hiện trong CrackerEngine) sẽ mặc định là
icon trong file đã crack. Nếu bạn muốn chọn một Icon khác thì nhấn vào
Custom Icon.



_ Nhấn Generate để cho ra file data.



_ Upload lên Web để mọi người download file này về.





thế là chúng ta đã đi qua một phần nữa rồI các bạn, hẹn gặp lạI trong tut sau nhé

*********************************:

Phần VII:



Rất vui gặp lạI các bạn…Hôm nay chúng ta gặp nhau ở phần 7 này, để
tiếp tục nâng cao tay nghề crack của các bạn hôm nay tôi sẽ hướng dẫn
các bạn tập crack một số chương trình mớI nhất:



1. PC-cillin 2003 : Chương trình diệt virus khá lợI hạI, đang làm mưa làm gió cùng NAV, McAffe v..vv

2. 123 Icon Hunter v1-0-Full : Chương trình tìm các file *.ico

3. IncrediMail 934 : Chương trình duyệt mail khá bắt mắt vớI giao diện 3D…



Cũng xin nói thêm rằng bắt đầu từ hôm nay tôi sẽ không còn hướng
dẫn các bạn một cách cặn kẽ nữa mà tôi chỉ nói rẩt vắn tắt chủ yếu đưa
ra dạng, nơi cần crack, Sau 6 phần mà tôi đã hướng dẫn ở trên các bạn đã
biết cách để crack…Nếu tôi tiếp tục hướng dẫn cụ thể nữa thì các bạn sẽ
rất lệ thuộc vào tôi. Vì sao? Vì chỉ phần mềm nào tôi có hướng dẫn các
bạn mớI crack được, còn không hướng dẫn thì các bạn sẽ không biết làm…

Từ phần 7 này, trong mỗI bài viết tôi sẽ hướng dẫn các bạn crack
một hay hai phần mềm. Trong đó có một phần mềm cũ và một phần mềm mớI
nhất…Đồng thờI cuốI bài viết tôi sẽ đưa ra một phần mềm để chúng ta cùng
thảo luận cách crack, các bạn sẽ tìm ra cách crack cho mình và post
lên…GiảI thưởng là…kiến thức cho bạn he he…Nếu các bạn không tìm ra cách
crack thì tôi sẽ hướng dẫn…Nhưng xin nhớ cho rằng các bạn nên tự tập
crack, đừng chờ lờI giảI đáp của tôi…Mong rằng các bạn sẽ tham gia nhiệt
tình

----------------------------------

Ok, chúng ta bắt đầu vào crack…Tuy nhiên tôi muốn nhắn vớI các bạn
rằng, tât cả bài viết của tôi đều do tôi bỏ công sức ra viết dựa trên
kinh nghiệm thực tiễn mà tôi đúc kết được, mục đích là đem lạI kiến thức
cho mọI ngườI cho nên các bạn có thể phổ biến bài viết của tôi nhưng
xin các bạn vui lòng ghi lạI dòng “ bài viết của hacnho”…Chân thành cảm
ơn các bạn

-------------------

Now, chúng ta sẽ cẩu đầu trảm phần mềm PC-cillin 2003, do tôi mớI
tảI nó về trên mạng và đang bận thi cử nên không có thờI gian để chỉ các
bạn dùng softIce để tìm real serial vớI lạI rất khó cho các bạn newbie
vì dãy số serial là một dãy giống như CD key của Window…Nên tôi chọn các
đơn giản nhất là patch nó.



Phần mềm : PC-cillin 2003

Download: [You must be registered and logged in to see this link.]

File cần crack: PCCClient.exe

Công cụ : WinDasm 893, Hacker Views 640

Cracker: hacnho [You must be registered and logged in to see this link.]



Đầu tiên chúng ta cài đặt PC-cillin 2003, sau khi cài đặt xong
PC-cillin 2003 sẽ bắn cho bạn một cái nag yêu cầu đăng ký, sau đó bạn
vào phần main của PC-cillin 2003, chọn tag Register, nó yêu cầu bạn nhập
vào một dãy số serial, và một số license code…



Sau một hồI đánh vật vớI PC-cillin 2003, tôi tìm ra được phần quyểt
định số phận của PC-cillin 2003 (bắt bạn đăng ký và hiện ra cái nag “30
days Trial” là ở file PCCClient.exe…)he he sao mà tui phục tui quá ke
ke…Do tôi đang xài Win2000 nên để disable PCCClient.exe tôi chọn task
manager, chọn End process file PCCClient.exe, copy nó ra một bản dự
phòng, ok dùng WDASM 893 mở file PCCClient.exe lên, oh la la…tìm đến
dòng “Your lincese has expired…” Double click vào nó ta thấy:



*Possible Referenced to String Resource ID=00129 “Your lincese has expired…”



:0040830C 6881000000 push 00000081

:00408311 8D8DE4FEFFFF lea ecx, dword ptr [ebp+FFFFFEE4]

:00408317 E873AD0200 call 0043308F

:0040831C 6A10 push 00000010



di chuyển vệt sáng lên vài chục dòng tớI dòng



:0040828D 7446 je 004082D5



bạn sẽ thấy



*Possible Referenced to String Resource ID=57351 “Trend Micro Pc-Cillin”



:00408254 6807E000000 push 0000E007

:00408259 8D4DF0 lea ecx dword ptr [ebp-10]

----

:00408286 838DB8FEFFFF64 cmp dword ptr [ebp + FFFFFEB8], 00000064

:0040828D 7446 je 004082D5 --> cần crack



Okie, chỗ ta cần crack ở đây là đổI thành EB…Nhớ đừng đổI thành JNE là die luôn đó hé hé



Tương tự chúng ta cũng tìm được hai offset cần crack nữa là

00008D04 và 00008D38…Do đâu mà tôi tìm được, câu tả lờI dành cho bạn đó..Tìm được rồI làm thế nào? Đơn giản thôi,



00008D04 từ 75 đổi thành EB

00008D38 từ 74 đổi thành EB



****Tổng kết lạI chúng ta có 3 bytes cần crack như sau



0000828d từ 74 đổi thành EB

00008D04 từ 75 đổi thành EB

00008D38 từ 74 đổi thành EB



Ok, dùng HIEWS để đổI lạI như trên…Bây giờ bạn hãy Enable
PCCClient.exe lạI, Uh lạ quá sao mà nó vẫn hiện cái nag ra thể, tôi đã
sai ở chỗ nào ặc ặc…Nếu bạn không tư duy một chút cứ nghĩ là chỉ cần đổI
3 bytes ở trên là xong, không dễ xơi như thế đâu, chúng ta crack file
PCCClient.exe ở trên chỉ là để cho Pc-cillin chấp nhận ta thay đổI file
reg của nó thôi he he…Bây giờ tôi vào phần chính đây…Khi bạn cài đặt
PC-Cillin 20003 thì nó sẽ tạo trong registry của bạn những key



1. HKEY_LOCAL_MACHINE\Software\TrendMicro\Cfw

2. HKEY_LOCAL_MACHINE\Software\TrendMicro\FireWall

3.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Config

4.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Exception

5.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\FireWall

6.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Intelligent

7.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\MailScan

8.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\ManualScan

9.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Menu

10.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Misc

11.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Proxy

12.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Quarantine

13.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\RealTimeScan

14.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Support

15.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Update

16.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\WebTrap

17.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Wireless

18.HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin

Chỗ cần crack là thay đổI key 3 đến key 18…Chỗ này hơi phức tạp,
thôi để cho các bạn dể hiểu tôi dịch từ key 3 đến key 18 ra một file
hacnho.reg (chú ý file này tôi đã cracck rồI…Các bạn copy lạI, đem dán
vào notepad, save lạI thành một file hacnho.reg, chạy để đăng ký…Các bạn
có thể đem key này so sánh vớI nộI dung key chưa crack xem có sự thay
đổI gì không ?

-----

REGEDIT4



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Config]

"Mode"=dword:00000001

"Menu"=dword:00000000

"Update"=dword:00000000

"MenuSet"=dword:00000000

"TipHelp"=dword:00000001



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Exception]

"File0"="none"

"File1"="none"

"File2"="none"

"File3"="none"

"File4"="none"

"File5"="none"

"File6"="none"

"File7"="none"

"File8"="none"

"File9"="none"

"File10"="none"

"File11"="none"

"File12"="none"

"File13"="none"

"File14"="none"

"File15"="none"

"File16"="none"

"File17"="none"

"File18"="none"

"File19"="none"

"Folder0"="none"

"Folder1"="none"

"Folder2"="none"

"Folder3"="none"

"Folder4"="none"

"Folder5"="none"

"Folder6"="none"

"Folder7"="none"

"Folder8"="none"

"Folder9"="none"

"Folder10"="none"

"Folder11"="none"

"Folder12"="none"

"Folder13"="none"

"Folder14"="none"

"Folder15"="none"

"Folder16"="none"

"Folder17"="none"

"Folder18"="none"

"Folder19"="none"





[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\FireWall]

"dwSetting"=dword:00000000

"Locked"=dword:00000000

"HotSpot"=dword:00000000

"Profile"="PfwRule.dat"

"Installed"=dword:00000001

"AdaptersNum"=dword:00000000

"AdaptersList"=hex:

"Control"=dword:00000001





[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Intelligent]

"OnOff"=dword:00000001

"ConnectLimit"=dword:00000000

"Interval"=dword:00002A30

"Start"=dword:00000017

"End"=dword:00000008

"Silent"=dword:00000000



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\MailScan]

"OnOff"=dword:00000001

"Splash"=dword:00000000

"Config"=dword:00000000

"Action"=dword:00000003

"Action2nd"=dword:00000004

"ZipClean"=dword:00000001

"ExtractFileSizeLimit"=dword:FFFFFFFF

"WebMail"=dword:00000001



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\ManualScan]

"Action"=dword:00000003

"Action2nd"=dword:00000002

"AllFile"=dword:00000001

"CleanBackup"=dword:00000001

"ZipScan"=dword:00000005

"BootScan"=dword:00000001

"ZipClean"=dword:00000001

"MoveDirectory"="C:\\Program Files\\Trend Micro\\PC-cillin 2003\\QUARANTINE"

"MoveDirectory2nd"="C:\\Program Files\\Trend Micro\\PC-cillin 2003\\QUARANTINE"

"FileTypeList"=".BIN.CLA.CLASS.COM.DOC.DOT.EXE.OBD.OBT.OBZ.OCX.OVL.SYS.VBS.XLS.XLT.SHS"

"GenericMacro"=dword:00000001

"ExtractFileSizeLimit"=dword:FFFFFFFF

"EncodeBackup"=dword:00000001

"LastMScanMethod"=dword:00000000

"LastMScanStartTime"=""

"LastMScanTaskName"=""

"LastMScanFinished"=dword:00000000

"LastMScanEndTime"=""

"LastTScanMethod"=dword:00000000

"LastTScanStartTime"=""

"LastTScanTaskName"=""

"LastTScanFinished"=dword:00000000

"LastTScanEndTime"=""

"AutoClose"=dword:00000000

"ExcludeExt"=""



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Menu]

"SetMenu"=dword:00000000



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Misc]

"ExcludeExt"=""



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Proxy]

"Proxy"=dword:00000000

"SERVER"=""

"Port"=dword:00000050

"ID"=""



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Quarantine]

"FirstTime"=dword:00000000

"CancelTime"=dword:00000000

"ShowGuide"=dword:00000001



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\RealTimeScan]

"Action"=dword:00000003

"Action2nd"=dword:00000002

"AllFile"=dword:00000000

"CleanBackup"=dword:00000001

"ZipScan"=dword:00000001

"ZipClean"=dword:00000001

"MoveDirectory"="C:\\Program Files\\Trend Micro\\PC-cillin 2003\\QUARANTINE"

"MoveDirectory2nd"="C:\\Program Files\\Trend Micro\\PC-cillin 2003\\QUARANTINE"

"FileTypeList"=".BIN.CLA.CLASS.COM.DOC.DOT.EXE.OBD.OBT.OBZ.OCX.OVL.SYS.VBS.XLS.XLT.SHS"

"RenameExt"=".VIR"

"InOut"=dword:0000000F

"IOScan"=dword:00000001

"Update"=dword:00000000

"PattnExt"=dword:00000001

"GenericMacro"=dword:00000001

"ExtractFileSizeLimit"=dword:FFFFFFFF

"MonitorNetwork"=dword:00000001

"EncodeBackup"=dword:00000001

"UserName"="Administrator"



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Support]

"System"=hex:B2,97,9D,9B,90,8D,9B,9A,5E,A8,9B,8C,8D,97,91,90



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Update]

"Year"=dword:00000000

"Month"=dword:00000000

"Day"=dword:00000000



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\WebTrap]

"UrlFilt"=dword:00000000

"WebFilt"=dword:00000000

"Splash"=dword:00000001

"Alert"=dword:00000000

"Action"=dword:00000001

"PassLock"=dword:00000000

"SendWait"=dword:00000000



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin\Wireless]

"Palm"=dword:00000000

"WinCE"=dword:00000000

"EPOC"=dword:00000000



[HKEY_LOCAL_MACHINE\Software\TrendMicro\PC-cillin]

"Application Path"="C:\\Program Files\\Trend Micro\\PC-cillin 2003\"

"register no."="OSJF-9999-6388-8759-0082"

"company"="vietcracks"

"name"="hacnho"

"version"="10.00"

"ProductCode"=dword:0000003B

"SourceDir"="C:\\Program Files\\Trend Micro\\PCC2003\\Setup\"

"ProductGuid"="{CA7FDA46-DFA8-4748-8F2E-8864E545735B}"



[HKEY_LOCAL_MACHINE\Software\TrendMicro]



Okie, bây giờ bạn chạy lạI PC-Cillin 2003, xem oh la la, nó đã được crack….Xin chúc mừng bạn

Nếu các bạn lườI crack thì có thể down ở đây

Download: [You must be registered and logged in to see this link.]



Hôm qua vào thấy các bạn hỏI về crack của IncrediMail 934…Tôi thì
đang xài 884 nhưng cách crack này áp dụng cho version 934, sau khi crack
bạn sẽ có được bản full preminium. Tôi sẽ hướng dẫn các bạn cách crack
nó nhưng vắn tắt thôi vì tôi không có thờI gian (vợ đẻ con đau nhà hết
gạo mà lị)…



Phần mềm : IncrediMail 884 to 934

Download: [You must be registered and logged in to see this link.]

File cần crack: ImUtils.dll

Công cụ : WinDasm 893, Hacker Views 640

Cracker: hacnho [You must be registered and logged in to see this link.]



Ta cần crack tất cả là 5 bytes (có thể là 3 bytes)



Có ba offset cần crack



1. 16B49

2. 32418

3. 32450



*. ĐốI vớI offset 16B49 ta cần đổI từ JE sang JUMP, tức là 74 sang EB

ta làm như sau : đổI 3 bytes 0F849B thành E9A100, khi đó từ JE sẽ
đổI sang JUMP…cách trên ta phảI đổI tớI 3 bytes lận, cách đơn giản hơn
là chỉ đổI 1bytes là từ 84 sang EB



*.ĐốI vớI offset 32418 ta cần đổI từ into thành mov, do đó ta sẽ đổI từ CE thành B0



*.ĐốI vớI offset 32450 ta cần đổI filadd thành test, do đó ta sẽ đổI từ DE thành A8

Oh la la quá đơn giản phảI không các bạn, chỉ cần đổI 5 bytes là ta đã có được một bản full rồI hén…

Chú ý: Các bố nào lườI crack thì có thể download ở đây về xài:



Download: [You must be registered and logged in to see this link.]

-----------------

Phần THẢO LUẬN:



Chào các bạn, do là kỳ đầu tiên chúng ta sẽ thảo luận cách crack phần mềm 123 Icon Hunter v1-0-Full, download từ [You must be registered and logged in to see this link.]
giá của nó là $19.95. Ok chúng ta sẽ thảo luận cách crack nó…Các bạn
download về và tập crack nó nhe…Sau đó các bạn post bài hướng dẫn của
mình lên topic này…tôi sẽ chờ các bạn có lờI giảI rồI tôi mớI post tiếp
phần 8 và hướng dẫn crack nó…

---------------

thế là chúng ta đã đi hết phần 7, trong phần 8 chúng ta sẽ học
crack clicksee 3.0 và mIRC 603 (bản mớI nhất), đồng thờI tôi cũng đưa ra
đáp án của phần mềm 123 Icon Hunter v1-0-Full

----------------------
























******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:37 pm

Phần VIII

Okie nào chúng ta bắt đầu thôi. E hèm hôm nay chúng ta sẽ đi vào
phần 8, đây cũng là phần kết thúc của giai đoạn I: NHẬP MÔN CRACKER. Hôm
nay chúng ta sẽ học gì nhỉ? Cụ thể như sau:

1. Học crack mIRC 603 (phiên bản mới nhất.)---> Chương trình chat thông dụng.

2. Học crack Getright Version 4.5 ---> Chương trình download cực mạnh

3. Học crack game của hãng PopCap.Com (học một dạng có thể crack
hầu hết tất cả các game hiện nay của hãng này như Dynomite 2.00y, 2.01,
Big Money Delux 1.11, Bejeweled 1.5, Alchemy, NINGPO MAHJONG DELUXE
1.04, SEVEN SEAS 1.13 vân vân). Vì sao, giống như ES4 hay EV Tran 2.0
tất cả các phiên bản hay chương trình của PopCap Games đều mã hoá serial
theo cùng một kiểu….

4.Học viết Patch Gen cho các chương trình mình đã crack (bằng
Pascal, C++, VB). Tôi sẽ lần lượt up lên. Trước tiên là bằng
Pascal.

5. Các thuật ngữ, thuật toán cracker (Các bạn bổ sung thêm nếu thấy chưa đủ…).

6.Các thuật ngữ cơ bản ASSEMBLY dành cho các bạn muốn crack mà chưa hiểu gì lắm về ngôn ngữ này. (bổ sung sau ...)



PHẦN VIII :

I. Crack mIRC 603

Phần mềm : mIRC ver 603

Download : [You must be registered and logged in to see this link.]

File crack : mirc.exe

Cracker : hacnho (VCT)

Bảo vệ : 30 days times trial



Chúng ta bắt đầu việc đầu tiên là try to crack mIRC version 603.
Đây là một chương trình chat script khá phổ biến. Nhưng phiên bản này
chỉ cho dùng thử 30 ngày. Điều đó buộc chúng ta phải crack nó . Đơn
giản tôi là Maria mà lị he he. Do tôi còn trong Giai Đoạn I. Nên tôi chỉ
hướng dẫn các bạn phương pháp cơ bản nhất của cracker là patch nó.(Thật
ra phương pháp tạo serial của mIRC 603 rất đơn giản là thực hiện các
phép toán nhân chia để tạo key. Giới hạn min của name nhập vào là 5 ký
tự. Gồm hai vòng lặp chính. Nhưng thôi mình sẽ bàn đến phương pháp tính
toán serial trong GIAI ĐOẠN II: Cracker Anh Là Ai?)



Đầu tiên bạn sao lưu file mirc.exe ra dự phòng. Chạy mIRC. Vào menu
About--->Register. Nhập vào Full Name: hacnho, Registration Code:
151083. Enter, oh la la một nag văng ra "The registration name and
number you have entered do not match....". Okie bạn hãy nhớ lấy nó. Vào
W32DisAsm mở file mirc.exe. Chờ W32DisAsm file mirc xong bạn vào menu
String Data Reference, tìm ra dòng có ghi thông báo ở trên, double click
vào nó một lần, đóng hộp hội thoại String Ref lại, bạn đang ở đây



* Possible Reference to String Resource ID=01911: "Registration"

|

:004C698E 6877070000 push 00000777

:004C6993 E8D95DF6FF call 0042C771

:004C6998 50 push eax

:004C6999 6A00 push 00000000



* Possible Reference to String Resource ID=01912: "The registration name and number you have entered do not

mat"

|

:004C699B 6878070000 push 00000778 <--- bạn đang ở đây

:004C69A0 E8CC5DF6FF call 0042C771

:004C69A5 50 push eax

:004C69A6 FF7508 push [ebp+08]



Okie hãy di chuyển vệt sáng lên trên, tới khi bạn gặp dòng những dòng sau

------



* Reference To: USER32.SendDlgItemMessageA, Ord:0000h

|

:004C6884 E8E96A0900 Call 0055D372

:004C6889 68DFCD5700 push 0057CDDF

:004C688E 68F8C95700 push 0057C9F8

:004C6893 E821FBFFFF call 004C63B9

:004C6898 85C0 test eax, eax

:004C689A 0F84B7000000 je 004C6957 <--- Cần crack, chú ý (1)

:004C68A0 C60552CA570000 mov byte ptr [0057CA52], 00

:004C68A7 BE28305800 mov esi, 00583028

:004C68AC BFF8C95700 mov edi, 0057C9F8

:004C68B1 33C0 xor eax, eax

---------

* Possible Ref to Menu: MenuID_003C, Item: "Register..."

|

• Possible Reference to String Resource ID=00134: "* Unloaded agent '%s'"



Nếu bạn chỉ dừng ở đây thì chưa xong. Tại sao, nếu chúng ta crack ở
đây thì chỉ hiện thông báo "Your registration has been entered
successfully.". Nhưng khi khởi động lại thì không được chấp nhận serial.
Híc híc…Xem nào chúng ta thử suy nghĩ một chút…Khi chúng ta đăng ký rồi
nếu đúng thì thằng Mirc sẽ liên kết với một chỗ nào trong file để xoá
menu “ Register…” đi…Suy rộng ra chúng ta sẽ tìm tới chỗ đoạn mã của
menu “ Register…” để “hiệu chỉnh” nó lại. Tức là nhập vào giá trị nào nó
cũng sẽ xoá menu “ Register…” đi . Okie chúng ta quay trở lại
W32DisAsm, vào menu tìm dòng “ Register…” . ủa sao không thấy dòng nào
cà??? Đừng lo lắng, hãy vào menu Reference Item, hãy double click cho
tới khi nào bạn gặp dòng “ Register…” mà bên dưới có dòng * Reference
To: USER32.DeleteMenu, Ord:0000h mới được vì đây là đoạn mã dùng để xoá
menu khi nhập đúng serial. Nếu bạn tìm tìm ra dòng “ Register…” mà không
có dòng DeleteMenu thì không crack được . Nếu tìm đúng bạn sẽ thấy như
sau:



* Possible StringData Ref from Data Obj ->"License"

|

:004C6681 68BFA55600 push 0056A5BF

:004C6686 E890FBFFFF call 004C621B

:004C668B 85C0 test eax, eax

:004C668D 7458 je 004C66E7 <--- Cần crack, Chú ý. (2)

:004C668F 68DFCD5700 push 0057CDDF

:004C6694 68F8C95700 push 0057C9F8

:004C6699 E81BFDFFFF call 004C63B9

:004C669E 85C0 test eax, eax

:004C66A0 7445 je 004C66E7

:004C66A2 6A00 push 00000000



* Possible Ref to Menu: MenuID_003C, Item: "Register..."

|



* Possible Reference to String Resource ID=00134: "* Unloaded agent '%s'"

|

:004C66A4 6886000000 push 00000086

:004C66A9 FF3568AA5600 push dword ptr [0056AA68]



* Reference To: USER32.DeleteMenu, Ord:0000h

|

:004C66AF E8426A0900 Call 0055D0F6

:004C66B4 C60552CA570000 mov byte ptr [0057CA52], 00

:004C66BB BE28305800 mov esi, 00583028

:004C66C0 BFF8C95700 mov edi, 0057C9F8

:004C66C5 33C0 xor eax, eax

----------



Từ (1) và (2) ta sẽ có hai chỗ cần crack đó là:



1. Thay đổi (1) từ 84 thành 85 tức cho nó từ nhập đúng serial thì
nhảy thành nhập sai thì nhảy…Bạn dùng Hiews, mở file mirc.exe (lưu ý nên
đóng mirc khi chạy hiew). Nhấn F4 chọn decode, nhấn f5 , gõ 000C5E9A ,
nhấn F3 đổi 84 thành 85 (jz thành jnz)



2.Thay đổi (2) từ 74 thành 75 tức cho nó từ nhập đúng serial thì
xoá menu Register” thành nhập sai thì xoá menu “Register” …Bạn dùng
Hiews, mở file mirc.exe (lưu ý nên đóng mirc khi chạy hiew). Nhấn F4
chọn decode, nhấn f5 , gõ 000C5C8D , nhấn F3 đổi 74 thành 75 (jz thành
jnz).

Okie bây giờ bạn hãy chạy thử Mirc 603 và đăng ký lại xem… try it and get it !!!

Cách crack ở trên chỉ dành cho newbie thôi, vì cách crack đó chỉ
cho dùng mIRC miễn phí mà thôi ---> không phải đăng ký, nhưng mà
chúng ta thì được voi đòi tiên mà hi` hi` muốn rằng mỗi khi vào menu
HELP>About thì thì dòng Licenced to: …. mới được >>>làm như
ta đây là mua thật vậy hic hic . Mình có cách chỉ patch duy nhất một
byte thôi mà được dùng như mua thật sự vậy .
Do thời gian có hạn nên mình chỉ đưa ra địa chỉ cùng các crack thôi,
còn phương pháp crack thì phải dùng SI (mà tôi chưa có hướng dẫn dùng SI
cho các bạn) tìm ra hàm tạo serial rồi patch nó…Nên bạn nào khá hãy tìm
ra phương pháp crack cho mình.

-------

Hướng dẫn: bạn tìm đến địa chỉ RVA 004C6448, đổi 74 thành 75 (jz
thành jnz). Okie hãy đăng ký lại xem, wow quá tuyệt phải không??? còn
tại sao mà tôi tìm ra được “ vùng cấm địa” đó là công việc của các bạn
nhe .Tự tìm hiểu lấy :

-------

Download: [You must be registered and logged in to see this link.]



II.Now, chúng ta bước qua chương trình crack thứ hai, đó là Getright 4.5.



Phần mềm : Getright ver 4.5

Download : [You must be registered and logged in to see this link.]

File crack : getright.exe

Cracker : hacnho (VCT)

Bảo vệ : Trial Version



Getright ver 4.5 là một phần mềm download khá mạnh, nhưng
phiên bản trial dùng thử thì bị hạn chế các tính năng, điều
đó buộc chúng ta phải crack để sử dụng hết các chức năng của
nó .

Đầu tiên bạn nên sao lưu file getright.exe lại thành một bản
backup. Chạy GetRight Tray Icon trên thanh Start. Right click tại icon
getright. Vào menu about. Wow! Bạn thấy có ba nút lệnh (command
button) quan trọng “Buy now!”, “Buy”, và “Enter Code”. Okie bây giờ
bạn click vào nút “Enter Code”, nhập một số bất kỳ (không nhập
chữ). Ở đây tôi nhập là 151083, nhấn OK, oh la la một nag văng ra
"Invalid registration code. Please verify that it is entered". Bạn hãy
ghi nhớ lấy nó. Mở Windasm ra, disasm file getright.exe. Chờ nó
disasm xong bạn vào menu String ref, kiếm dòng thông báo "Invalid
registration code. Please verify that it is entered", double click vào
nó. Đóng Ref lại. Bây giờ bạn đang ở đây:



* Referenced by a (U)nconditional or ©onditional Jump at Address:

|:0049F6A8©

|

:0049F6FC 6A00 push 00000000

:0049F6FE 6A00 push 00000000

:0049F700 8D4DF0 lea ecx, dword ptr [ebp-10]

:0049F703 E80FA0FFFF call 00499717

:0049F708 85C0 test eax, eax

:0049F70A 7409 je 0049F715 <--- Chú ý, cần crack (1)



* Referenced by a (U)nconditional or ©onditional Jump at Address:

|:0049F6FA(U)

|

:0049F70C 8BCF mov ecx, edi

:0049F70E E832320600 call 00502945

:0049F713 EB0A jmp 0049F71F



* Referenced by a (U)nconditional or ©onditional Jump at Addresses:

|:0049F685©, :0049F70A©

|

* Possible Reference to String Resource ID=00123: "Invalid registration code. Please verify that it is entered"

|

:0049F715 6A7B push 0000007B

:0049F717 57 push edi

:0049F718 E82B330200 call 004C2A48

:0049F71D 59 pop ecx

:0049F71E 59 pop ecx



* Possible Reference to String Resource ID=00123: "Invalid registration code. Please verify that it is entered"

|

:0049F715 6A7B push 0000007B <--- Bạn đang ở đây

:0049F717 57 push edi

:0049F718 E82B330200 call 004C2A48

:0049F71D 59 pop ecx

:0049F71E 59 pop ecx



Chúng ta biết rằng khi serial nhập vào thì nhập vào ô
"RegistrationCode", sau đó nó kiểm tra và liên kết tới nút “OK”.
Chúng ta chỉ cần crack ở đoạn mã này. Vào menu String Ref, kiếm
ra dòng chữ "RegistrationCode", double click để tìm, đóng ref
lại. Chúng ta đang ở đây:



* Possible StringData Ref from Data Obj ->"%s"

|

:0049F690 68444B5700 push 00574B44

:0049F695 50 push eax

:0049F696 E868050600 call 004FFC03

:0049F69B 83C40C add esp, 0000000C

:0049F69E 8D4DF0 lea ecx, dword ptr [ebp-10]

:0049F6A1 E8699BFFFF call 0049920F

:0049F6A6 85C0 test eax, eax

:0049F6A8 7452 je 0049F6FC <--- Chú ý cần crack (2)

:0049F6AA 8B36 mov esi, dword ptr [esi]

:0049F6AC E8FC220700 call 005119AD

:0049F6B1 8B4004 mov eax, dword ptr [eax+04]

:0049F6B4 56 push esi



* Possible StringData Ref from Data Obj ->"RegistrationCode"

|

:0049F6B5 68484B5700 push 00574B48 <<-- bạn đang ở đây !



* Possible StringData Ref from Data Obj ->"Config"

|

:0049F6BA 68184B5700 push 00574B18

:0049F6BF 8BC8 mov ecx, eax

:0049F6C1 E8E5CA0600 call 0050C1AB

:0049F6C6 57 push edi

:0049F6C7 8D8DA0FEFFFF lea ecx, dword ptr [ebp+FFFFFEA0]

:0049F6CD E8DB0B0200 call 004C02AD

:0049F6D2 8D8DA0FEFFFF lea ecx, dword ptr [ebp+FFFFFEA0]

:0049F6D8 C645FC01 mov [ebp-04], 01

:0049F6DC E8732F0600 call 00502654

:0049F6E1 8065FC00 and byte ptr [ebp-04], 00

:0049F6E5 8D8DA0FEFFFF lea ecx, dword ptr [ebp+FFFFFEA0]

* Possible Reference to Menu: MenuID_0001

|

• Possible Ref to Menu: MenuID_00B4, Item: "OK"

-------------------------

Nếu bạn nó tới đây đã crack được rồi. Đúng là như vậy,
nhưng đây chỉ mới là điều kiện cần nhưng chưa đủ. Mục đích của
chúng ta là disable cái nút “ Enter Code”, xoá nút “Buy now!” và
nút “Buy”, he he chi vậy, để cho người ta không biết dòm vô
tưởng ta bỏ tiền ra mua thật...Khi bạn crack ở trên thì vẫn
chạy vi vu nhưng mấy cái nút đăng ký còn lại rất ngứa mắt,
mục đích chúng ta là xoá nó đi ( đừng dùng reshack, chán lắm).
Okie ở đây ta suy luận một chút, khi nhập đúng Reg Code thì
chương trình có một đoạn mã để kiểm tra, nếu không đúng thì
không xoá nút, còn ngược lại thì ..., Được rồi bạn hãy vào
ref, tìm dòng “Config”, hoặc bạn có thể chạy hàm call 00499717
tại (1) cũng cho kết quả tương tự . Thoát ref ta đang đứng ở
đây:



* Possible StringData Ref from Data Obj ->"Window00"

|

:004997DA 68384B5700 push 00574B38



* Possible StringData Ref from Data Obj ->"Config"

|

:004997DF 68184B5700 push 00574B18

:004997E4 8BC8 mov ecx, eax

:004997E6 E8457C0700 call 00511430

:004997EB 85C0 test eax, eax

:004997ED 7509 jne 004997F8 <---Cần crack, chú ý (3)

:004997EF E8D31A0300 call 004CB2C7

:004997F4 85C0 test eax, eax

:004997F6 740A je 00499802



* Referenced by a (U)nconditional or ©onditional Jump at Address:

|:004997ED©

|

:004997F8 E886190300 call 004CB183

:004997FD E9401D0000 jmp 0049B542



* Referenced by a (U)nconditional or ©onditional Jump at Addresses:

|:004997CF©, :004997F6©

|

Từ (1), (2), (3), ta sẽ có ba chỗ cần crack là :



1. Đổi một byte tại RVA 0049F70A (offset 0009EB0A) từ jz thành jnz (74 thành 75).

2. Đổi một byte tại RVA 0049F6A8 (offset 0009EAA8) từ jz thành jnz (74 thành 75).

3. Đổi một byte tại RVA 004997ED (offset 00098BED) từ jz thành jnz (74 thành 75).



Chú ý : (3) chỉ được patch khi bạn đã thực hiện xong (1)
và (2). Sau đó trở lại GetRight đăng ký. Đăng ký xong mới thực
hiện (3) để xoá các nút.

Get it and try it, bạn sẽ thích ngay mà he he.

Thật ra còn nhiều chuyện để xử lý nó lắm nhưng tôi chỉ
bàn đến vấn đề chính thôi, còn như bạn muốn crack tiếp thì nên
disable các nút còn lại (các nút liên quan tới đăng ký)...Hoặc
gỡ bỏ dòng Trial Version v v...



III. Crack game PopCap---bài viết của Computer_Angel

How to crack POPCAP Games : 1. TypeSHARK ver 1.00

Phần mềm: TypeSHARK ver 1.00 --- [You must be registered and logged in to see this link.]

Bảo vệ: Trial version

Công cụ : -Softice 4.xx (công cụ để debug chương trình)

-IDA hay W32DASM

-Các công cụ Hex Editor (HexWorkshop)

File cần crack: WinTS.exe

Cracker: Computer_Angel



+ Tiến hành:

1. Kiểm tra đối tượng:

a) Chạy thử WinTS.exe, bạn sẽ thấy những vấn đề sau:

+ Màn hình intro có dòng chữ “REGISTER TYPESHARK”, “FREETRIAL VERSION”

+ Khi nhấn vào “REGISTER TYPESHARK”, một hộp thoại nhập
Username+Serial hiện lên. Nhập thử bất kì username+pass thì nhận
được thông báo “The registration code you have entered is
incorrect...”

+ Sau khi chơi, không ghi tên vào bảng HALL FAME được.

+ Khi thoát ra, có hiện hộp thoại quảng cáo.

b) Dùng bất cứ một hex editor nào đó, load tập tin WinTS.exe
vào, tìm thử một vài chuỗi mà bạn đã ghi nhận được ở các
bước trên(Ở đây tôi dùng công cụ thông dụng là HexWorkshop 4.00).
Ta tìm thử chuỗi “registration code you”, ta tìm được ở vị trí
00111B24 của tập tin.



2. Nhận xét:

+ WinTS.exe có khả năng Register (vì có hộp thoại đăng ký)

+ Không bị unpack Lý do là vì bạn có thể tìm được các chuỗi mà bạn thấy trong game.



3. Bắt đầu công việc:



a) Dùng IDA để dịch ngược WinTS.exe sang mã máy. Sau khi
dịch xong, ta tìm tới Tab “Strings”, nhấn Alt-T để gõ vào chuỗi
cần tìm kiếm. Gõ vào chuỗi “The registration code you have”. IDA
sẽ nhảy tới vị trí chuỗi cần tìm trong Tab “Strings”.

b) Double click vào chuỗi vừa tìm ra đó, bạn sẽ được chuyển tới cửa sổ chứa thông tin sau:

aTheRegistratio db 'The registration code you have entered',0Ah

.rdata:00511B20 ; DATA XREF: .text:0043EE54

.rdata:00511B20 db 'is incorrect. Please try again.',0

.rdata:00511B67 db 0 ;



Như vậy, ta biết được WinTS.exe đọc chuỗi “The registration...” chỉ một lần ở vị trí mã lệnh là 0043EE54.

c) Chuyển sang Tab IDA-View (Chứa mã asm của WinTS vừa dịch
ngược), nhảy tới vị trí mã lệnh 0043EE54 bằng cách gõ phím
“G”, rồi nhập vào 0043EE54 và nhấn Enter, ta được đoạn mã sau:

text:0043EE54 push offset aTheRegistratio ; "The registration code you have entered\n"...

.text:0043EE59 mov byte ptr [ebp-4], 3

.text:0043EE5D call sub_407250



Nhìn lên phía trên 1 xíu, ta thấy có đoạn so sánh



.text:0043EE30 push eax

.text:0043EE31 call dword ptr [edx+54h] <--- Lưu ý

.text:0043EE34 test al, al

.text:0043EE36 jnz short loc_43EE8C <--- Lưu ý

.text:0043EE38 push 1

.text:0043EE3A sub esp, 1Ch

.text:0043EE3D mov ecx, esp

.text:0043EE3F mov [ebp+8], esp

.text:0043EE42 push offset aOk ; "OK"

.text:0043EE47 call sub_407250

.text:0043EE4C sub esp, 1Ch

.text:0043EE4F mov ecx, esp

.text:0043EE51 mov [ebp-14h], esp

.text:0043EE54 push offset aTheRegistratio ; "The registration code you have entered\n"..



d) Vậy chúng ta có 2 vị trí cần lưu ý. Ta phải kiểm tra
xem chức năng của 2 vị trí đó là gì bằng cách dùng Softice.

Ta kích hoạt Softice, dùng SymBol Loader để load tập tin
WinTS.exe vào, và nhấn vào “Load Symbols” trên toolbar để chạy
tập tin --> Cửa sổ softice debug sẽ hiện lên.

Ta đặt break point tại vị trí lệnh cần lưu ý ở trên bằng cách gõ vào BPX 0043EE31 và nhấn F5.

Chương trình WinTS sẽ chạy bình thường, chọn “REGISTER TYPESHARK”, nhập username+mã bất kì vào và nhấn OK.

Khi đó cửa sổ Softice debug sẽ bật lên ngay tại vị trí
0043EE31, nhấn F10 để chạy lệnh tại ví trí đó, tiếp tục nhấn
F10 tới khi vệt sáng dừng lại tại vị trí 0043EE36.

Đây là lệnh nhảy khi AL không bằng 0, mà ta thấy AL=0, vậy
ta đổi cờ Z bằng cách gõ vào R, và dùng Tab di chuyển con nháy
tới hàng ở phía trên cao dưới hàng ESI=xxxxxxxxx . Dùng mũi tên
di chuyển con nháy tới chữ Z và nhấn Insert.

Để ý, sau khi nhấn xong, ở vị trí lệnh 43EE36 có mũi tên
chỉ xuống, đó là biểu thị câu lệnh này sẽ nhảy đến vị trí
chỉ định.

Ta nhấn F5 và xem kết quả, ta thấy chương trình WinTS có hiển thị như sau:

+ Dòng chữ “FREE TRIAL version” --> “REGISTER VERSION”

+ Dòng “REGISTER TYPESHARK” o còn nữa.



Như vậy, ta có nhận xét:

+ Hàm call ở vị trí 43EE31 có nhiệm vụ kiểm tra username+password nhập vào và trả về kết quả AL=1 nếu hợp lệ.

e) Thoát khỏi WinTS, nhấn vào nút “Load Symbols” để chạy
lại 1 lần nữa, cũng nhập lại số serial+user tùy ý.Cửa sổ
Softice debug lại hiện ra, lần này bạn nhấn F8 để debug vào
trong hàm kiểm tra. Vệt sáng sẽ chuyển sang địa chỉ là 4A3D20,
nhấn F9 để đặt break point tại địa chỉ này, sau đó nhấn F5 để
chạy chương trình bình thường.

f) Thoát khỏi WinTS, nhấn vào nút “Load Symbols” để chạy
lại 1 lần nữa, lần này ta thấy màn Softice Debug hiện ra, vệt
sáng nằm tại vị trí 4A3D20.

---> Nhận xét WinTS gọi hàm này khi:

+ Bắt đầu chạy để kiểm tra, kết quả trả về AL=1 thì có nghĩa đã đăng ký rồi.

+ Khi chọn mục đăng ký và nhập số serial+username.

g) Nhấn F10 để thi hành từng câu lệnh, cho tới khi vệt sáng nằm ngay lệnh RET:



.text:004A406F pop esi

.text:004A4070 mov al, bl <--------- Lưu ý

.text:004A4072 pop ebx

.text:004A4073 call loc_4EE297

.text:004A4078 mov esp, ebp

.text:004A407A pop ebp

.text:004A407B retn 8 <-------- vệt sáng nằm ngay đây.



Khi đó, AL=0 (vì chưa đăng ký hay đăng ký sai). Nhìn lên trên 1
xíu, ta thấy tại vị trí 4A4070 chứa mã lệnh mov al,bl.

Như vậy, ta có thể thay đổi lệnh này sau cho giá trị của AL luôn là 1

--> đổi từ mov al,bl sang mov al,01.

-->byte: 8A C3 sang B0 01



4. Crack tập tin WinTS:

Trong IDA, nhảy tới vị trí lệnh 4A4070, nhìn vào thanh status bar nằm ở dưới, ta thấy có 2 số :

+ 4A4070 : là vị trí lệnh trong chương trình

+ A4070 : là vị trí của lệnh trong tập tin.

Mở HexWorkshop lên, nạp tập tin WinTS.exe vào, gõ Ctrl-G, chọn Hex, gõ vào A4070.

HexWorkshop sẽ chuyển tới vị trí này. Nhấn TAB để con nháy nằm bên phần có số Hex và gõ vào B001.

Nhấn Ctrl-S để save lại.



Như vậy bạn đã crack xong game TypeSHARK ver 1.00 của Popcap.



IV. Viết Patch Gen.

Khi bạn crack bằng phương pháp patch, xong không lẽ mỗi lần
xài lại phải crack nó...Sao ta không lưu lại bằng một chương
trình gì đó mà mỗi khi cài lại ta không cần phải ngồi crack
nữa ???. Do đó patch gen ra đời, thật ra có nhiều patch gen được
làm sẵn như File patcher 4.0, Fast Patch nhưng tại sao mình không
tự viết patch gen nhỉ. Tôi thì thươngf viết Patch Gen bằng VC
nhưng chỉ giới thiệu với mội người một patch gen cực kỳ đơn
giản bằng Pascal, đây là một ngôn ngữ khá thân thiện với giới
tin học VN, nên tôi chọn để giới thiệu cùng các bạn. Patch Gen
này do anh NVC © viết...Bạn có thể “ chế lại theo sở thích của
mình. Để hiểu được nó bạn phải biết về Kiểu File trong Pascal
vì nó thao tác trên file mà...Nó dùng các hàm đơn giản như
IOResult, Seek,Assign, Reset vv...Sau đây là một patch gen mình hoạ
cho chương trình crack mIRC 603. Các bạn đem về xem thử nhe. Sau
đó dịch ra và chạy.

uses crt;

const

offset1=$000C5A48; {Địa chỉ offset cần crack}

var

ch:char;

procedure patch(location:longint);

var

F:file of byte;

x:array[0..1]of byte; {Số byte cần crack}

begin

{$I-}

Assign(F,'mirc.exe'); {gán tên file cần crack}

Reset(F); {Mở file vừa gán để đọc }

{$I+}

If Ioresult<>0 then { Nếu tìm không thấy file}

Begin

clrscr;

textcolor(lightgreen);

Writeln;Writeln;

Writeln('Ban Phai Chay File Crack Trong Thu Muc Co Chua File Can CraCk...!');

Readln;

End Else {nguoc lai}

Seek(F,location);

x[0]:=$75; {Giá trị cần đổi của file crack}

Write(F,x[0]);{Ghi lên file}

Close(F); { Đóng file}

End;

Begin

Clrscr;

textcolor(lightgreen);

Writeln(' by hacnho from VCT ');

Textcolor(white);

Gotoxy(10,9);

Writeln('Ban hay nhan phim P de Patch, Phim bat ky de thoat:');

Ch:=Readkey;

If(ch='p')or(ch='P')then

begin

patch(offset1);

Writeln;Writeln;Writeln;

Gotoxy(17,15);Writeln('mIRC603 PaTcH successful !');

Gotoxy(17,17);Writeln('***** More CRaCk, please contact me at *****');

Gotoxy(20,18); Writeln;

Gotoxy(20,19); Writeln('*************************************');

Gotoxy(20,20); Writeln('* E-Mail : [You must be registered and logged in to see this link.] *');

Gotoxy(20,21); Writeln('* YIM : tommy9982 *');

Gotoxy(20,22); Writeln('* http:\\[You must be registered and logged in to see this link.] *');

Gotoxy(20,23); Writeln('*************************************');

Readln;

end else Exit

end.

Chương trình đã dịch rồi

[You must be registered and logged in to see this link.]



V. Thuật toán, thuật ngữ thường dùng…Bổ sung tiếp



1. Các hệ đếm:

Thông thường ta có các hệ đếm cơ bản như sau:



a. Hệ Decimal (10): dùng các ký tự số 0,1..9

Ví dụ : 2754 = 4+5.10+7.10.10+2.10.10.10

b. Hệ Hexa (16): dùng các ký tự số và chữ 0,1,…9, A,B..F

Ví dụ : 3C5F = 15+5.16+16.16.16+3.16.16.16

c. Hệ Binary(2): dùng các ký số 0,1

Ví dụ : 1001 = 1+0.2+0.2.2+1.2.2.2

(còn tiếp…)



Okie thế là chúng ta đã đi hết Giai Đoạn 1: Nhập môn cracker. Các
bạn cảm thấy thế nào? Crack cũng khá dễ dàng ấy nhỉ ??? Thôi tạm biệt
chúc các bạn may mắn. Trong một ngày gần đây tôi sẽ up lên Phần 9—GIAI
ĐOẠN, các bạn đón theo dõi bài viết của hacnho

******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:39 pm

Phần mềm: WinZip 9.0 beta2

Bảo vệ: Unregistered Version/ Name Serial.

Công cụ :

-W32DASM ver 893

-OllyDBG 1.09b

Phương pháp crack: Find real serial

Mức độ ()Dễ (x)Vừa ()Hơi khó ()Rất khó

File cần crack WINZIP32.EXE

Cracker: hacnho (hacnho@hopthu.com)

Website: [You must be registered and logged in to see this link.]

Bắt tay vào crack Winzip 9.0 beta 2



Đầu tiên, sau khi cài đặt xong, ta chạy Winzip 9.0 beta 2 thì
một nag hiện lên bắt nhập số serial. Ở đây hacnho nhập vào :
Name = hacnho, Regcode bằng 15101983. Một nag văng ra “Incomplete or
incorrect information”. Do chúng ta cầm tìm real serial tương ứng
với Name = hacnho nên dùng OllyDBG 1.09b có plugin Command Bar load
file WINZIP32.EXE lên. Righ click tại phần main của Olly, chọn
Search for --->All referenced text string. Chọn search for text. Gõ
vào một chuỗi của câu thông báo mà Winzip cho ta là
“Incomplete”. Wow, không có gì xảy ra cả. Hic hic, mất cả 5 phút
để kiếm cái string “Incomplete or incorrect information” trong Olly
mà chả thấy. Ta đành nhờ chàng WinDASM 8.93 xem sao. Okie, mở
WinZip bằng Wdasm, vào Ref menu kiếm dòng “Incomplete or incorrect
information”, xong rồi double click vào dòng string để nhảy ra main
của WinDasm. Xem địa chỉ của nó là bao nhiêu. Hà hà thì ra
hắn nằm ngay tại Code Data : 0040D202. Bây giờ ta đóng Wdasm lại.
Vào main của OllyDBG, gõ Ctrl+G, nhập vào 0040D202. Bạn sẽ thấy
những dòng tương tự như vầy :



0040D202 |> E8 C6F7FFFF CALL WINZIP32.0040C9CD



0040D207 |. 68 8E020000 PUSH 28E



0040D20C |. E8 97C10500 CALL WINZIP32.004693A8



Bây giờ bạn di chuyển thanh cuộn lên vài hàng cho đến khi gặp những dòng sau:



0040D18C |. FF15 9C954B00 CALL DWORD PTR DS:[<&USER32.GetDlgItemTextA>] ; \GetDlgItemTextA



0040D192 |. 56 PUSH ESI



0040D193 |. E8 9EC00500 CALL WINZIP32.00469236



0040D198 |. 56 PUSH ESI



0040D199 |. E8 C1C00500 CALL WINZIP32.0046925F



0040D19E |. 803D 8CA14D00 >CMP BYTE PTR DS:[4DA18C],0



0040D1A5 |. 59 POP ECX



0040D1A6 |. 59 POP ECX



0040D1A7 |. 74 59 JE SHORT WINZIP32.0040D202 -->Nhận name nhập vào



0040D1A9 |. 803D B8A14D00 >CMP BYTE PTR DS:[4DA1B8],0



0040D1B0 |. 74 50 JE SHORT WINZIP32.0040D202 -->Nhận serial name nhập vào



0040D1B2 |. E8 6DFCFFFF CALL WINZIP32.0040CE24 --> Gọi đoạn mã tạo key



0040D1B7 |. 84C0 TEST AL,AL --> so sánh serial nhập và sinh ra



0040D1B9 |. 74 47 JE SHORT WINZIP32.0040D202 --> bắn nag



0040D1BB |. 57 PUSH EDI







Vậy chúng ta đã xác định được WinZip sử dụng hàm API
GetDlgItemTextA để xét serial và name nhập vào. Yeah, chúng ta đã
biết được breakpoint cần thiết để trace. Bây giờ bạn hãy nhấn
F2 (tương tự F7 trong SoftIce) để toogle breakpoint tại dòng
0040D18C . Bạn nhấn F9 (tương tự F5 trong SoftIce) để chạy. Cái
nag bắt đăng ký bật lên. Nhập vào name là hacnho, serial là
15101983. Nhấn OK. Waa, Olly Ice tại đây 0040D18C. Bạn bắt đầu
nhấn F8 (tương tự F10 trong SoftIce) để trace downward. Khi trace
tới dòng:



0040D1B2 |. E8 6DFCFFFF CALL WINZIP32.0040CE24 --> Gọi đoạn mã tạo key



0040D1B7 |. 84C0 TEST AL,AL --> so sánh serial nhập và sinh ra



Ta nhận thấy rằng Winzip gọi hàm kiểm tra key ngay trước
dòng test al, al. He he ta cần xem cái đoạn đó nó tạo key ra sao.
Okie bạn nhấn F7 (tương tự F8 trong SoftIce) để nhảy vào trong
đoạn call này. Bạn sẽ thấy những dòng này sau đó:



0040CE24 /$ 55 PUSH EBP



0040CE25 |. 8BEC MOV EBP,ESP



0040CE27 |. 81EC 40030000 SUB ESP,340



0040CE2D |. A1 B06A4D00 MOV EAX,DWORD PTR DS:[4D6AB0]



Tiếp tục trace downward, đến đoạn:



0040CE8E |> 0FB603 /MOVZX EAX,BYTE PTR DS:[EBX]



0040CE91 |. 50 |PUSH EAX



0040CE92 |. E8 41270900 |CALL WINZIP32.0049F5D8



0040CE97 |. 85C0 |TEST EAX,EAX



0040CE99 |. 59 |POP ECX



0040CE9A |. 74 05 |JE SHORT WINZIP32.0040CEA1



0040CE9C |. 8A03 |MOV AL,BYTE PTR DS:[EBX]



0040CE9E |. 8807 |MOV BYTE PTR DS:[EDI],AL



0040CEA0 |. 47 |INC EDI



0040CEA1 |> 43 |INC EBX



0040CEA2 |. 803B 00 |CMP BYTE PTR DS:[EBX],0



0040CEA5 |.^75 E7 \JNZ SHORT WINZIP32.0040CE8E



bạn sẽ phải trace nhiều lần. Tại sao, hì...Lý do là đoạn
này sẽ xét từng ký tự, để tạo ra số serial tương ứng với mỗi
ký tự. Do chỉ cần tìm real serial tôi không đi sâu vào phần phân
tích cách tạo key. Tiếp tục chờ Olly trace vòng vòng cái đoạn
mã này 6 lần (ứng với sáu ký tự h a c n h o). Bạn tiếp tục
trace từ từ cho tới đoạn mã này:



0040CF66 |. 50 PUSH EAX



0040CF67 |. 56 PUSH ESI



0040CF68 |. E8 51F4FFFF CALL WINZIP32.0040C3BE



0040CF6D |. 8D85 C0FCFFFF LEA EAX,DWORD PTR SS:[EBP-340] --> hiện real serial : BCDC063C



0040CF73 |. 50 PUSH EAX



bạn khỏi cần d EBP-340 để thấy real serial làm chi cho cực.
Các cửa số của OllyDBG tự động hiện ra chuỗi ASCII có số
serial hà :



0012EE5C 004DA18C ASCII "hacnho"



0012EE60 0012EE70 ASCII "BCDC063C"



0012EE64 004DA18C ASCII "hacnho"



0012EE68 004DA1B8 ASCII "15101983"



Okie, Số serial thực ứng với Name= hacnho là BCDC063C. Thế là WinZip9.0 beta2 đã bị crack rồi đó.



Lưu ý: các bạn nếu dùng SoftICe để crack mà không thích Olly thì hacnho có mấy lời khuyên sau đây:



+ WinZip 9.0 beta 2 có 13 đoạn Call sử dụng hàm API
Getdlgitemtexta. Do đó nếu bạn chỉ đặt khơi khơi breakpoint
Getdlgitemtexta thì nên nhớ chỉ nhấn F5 một lần để nó Ice tại
đoạn mã nhập Name và Serial. Nếu tuỳ tiện nhấn F5 vài lần thì
SoftIce sẽ dẫn bạn tới Xômali luôn đó.



+Olly có giao diện trực quan, dễ analyze, do đó ta dễ dàng
tìm ra breakpoint cần thiết. Còn thằng SI thì không nên rất khó
đặt breakpoint. Muốn đặt chính xác bạn phải hiểu rõ cấu trúc
của các hàm API.



III. Kết luận



Qua tut này ta học được một điều, cần phải linh động dùng
các soft bổ sung cho nhau, sẽ mang lại kết quả hơn cả mong đợi.

******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:47 pm

PHỤ LỤC: hàm API Getdlgitemtext



GetDlgItemText





The GetDlgItemText function retrieves the title or text associated with a control in a dialog box.





UINT GetDlgItemText(



HWND hDlg, // handle of dialog box



int nIDDlgItem, // identifier of control



LPTSTR lpString, // address of buffer for text



int nMaxCount // maximum size of string



);





Parameters





hDlg



Identifies the dialog box that contains the control.



nIDDlgItem



Specifies the identifier of the control whose title or text is to be retrieved.



lpString



Points to the buffer to receive the title or text.



nMaxCount



Specifies the maximum length, in characters, of the string to be
copied to the buffer pointed to by lpString. If the length of the string
exceeds the limit, the string is truncated.



Return Values



If the function succeeds, the return value specifies the number of
characters copied to the buffer, not including the terminating null
character.



If the function fails, the return value is zero.



Remarks



The GetDlgItemText function sends a WM_GETTEXT message to the control.



----------------------------------------------------------------------------------------------







_Bài viết của hacnho xin vui lòng để lại dòng này khi trích dẫn hoặc đăng tải.



_download bản tut bằng HTML :

Yeah! Để hưởng ứng với HacNho part II “Cracker! Who are you” phần
lấy correct Serials, Zombie post tiếp tuts cho chương trình này…



Production: IPSearch 1.9

Copyright by: Paul Gerhart

Homepage: [You must be registered and logged in to see this link.]

Protector: Name/Serials

Packed: None

Tools: OllyDbg 1.09d

Done: Get Correct Serials

Cracked by: Zombie DeathMan

Comment: IPsearch lets you search the Internet's IP address space -
give it a starting IP address and it sequentially searches for HTTP
ports and reports summary HTML content. IPsearch can also do a complete
Whois function and can convert domain names to IP addresses. Results can
be saved and printed.



Sử dụng thử thử chương trình bạn sẽ thấy gặp một số khó chịu khi
chưa Reg: Menu Item yêu cầu Reg, hiện Nag khi Exit, limited functions…



Hm…Với ngần ấy rắc rối này mà patch thì hơi mệt đa (vì phải tìm đến
từng vị trí cần correct serials mà Patch). Thui…Đành chơi ra correct
Serials vậy (còn Keygen thì….hm..Chương trình này thuật tạo Keygen cũng
no so hard..You can try it.. )



Bắt đầu crack để tìm correct serials là việc tìm đến BadBoy. Ở đây
là string “Name/Code mis-match. Try again.” Oki! Sử dụng OllyDbg để tìm
đến String này.

Bạn sẽ đến được BadBoy này tại Addr: 004057F7



004057F3 |> \6A 00 PUSH 0 -->Dịch dấu nháy đến here bạn sẽ
thấy OllyDbg chỉ đến lệnh nhảy trước đó (Jump from) ở Addr 00405760,
0040579B

004057F5 |. 6A 00 PUSH 0

004057F7 |. 68 8C834100 PUSH IPsearch.0041838C ; ASCII "Name / Code mis-match. Try again."



Như vậy ở 2 Addr 00405760, 0040579B nếu nhảy sẽ --> BadBoy. Vì
thế chắc chắn trước đó phải có hàm tạo Keygen…Yeh! Hàm tạo Keygen ở
00405743. Vào trong hàm này bạn sẽ thấy nó được Call từ khá nhiều chỗ
--> Patch là mệt nghĩ.



Tìm đến 00405786.



0040577E |. 52 PUSH EDX ; /s2

0040577F |. 8B85 7CFFFFFF MOV EAX,DWORD PTR SS:[EBP-84] ; |

00405785 |. 50 PUSH EAX ; |s1

00405786 |. FF15 B0454100 CALL DWORD PTR DS:[<&MSVCRT._mbscmp>] ; \_mbscmp



Ở đây là hàm cmp với 2 đối số là 2 String cần so sánh. Rõ rồi. Chỉ
cần set bp here là bạn sẽ có được CorrectSerials (Nhìn giá trị ở các đối
số: 1 cái là your entered, còn cái kia là correct).

Xong! Vậy bạn chỉ việc chạy lại chương trình và nhập lại đúng thôi.



*********************************************************

Name: Zombie

Serials: B4E6FEEF3C44F074782E8C5E36FEC2E9

Name: Zombie DeathMan

Serials: 07E7EF148B80CA07ADB21D7AC9FE94E1

**********************************************************



PS: Trong quá trình trace code bạn sẽ thấy một chuỗi string..ke..ke..Lưu ý nó nha..Khá quan trong cho việc code keygen đó…

Name/Code sau khi Oki sẽ được lưu trong Reg ở HKEY_LOCAL_MACHINE\SOFTWARE\Paul Gerhart Software\IPsearch\User

Hic..Zombie tìm ra được thuật code keygen của nó (dựa trên language
ASM) nhưng code ngược lại bằng Visual Basic .NET không được..Tức cành
hông ..!





[/B]



--------------------

Welcome to THE H-E-L-L

A world no sense of mercy !!!



*********************************************



Buồn...Thương người đơn phương ...!

Chỉ mong rollback thời gian...

Chỉ mong có được người ấy như xưa...

Chỉ mong....

*********************************************

Tìm real key hả cho tui tham gia với:



[Marquee]CRACK FAMALY KEYLOGGER v2.53[/Marquee]



Download at: [You must be registered and logged in to see this link.]



Cracker : deux



Tool: softice for win, w32dasm





Đây là một soft kiểm tra key không phức tạp nhưng lại rất dài dòng
vậy nên nếu không tìm ra chô cần carck thì rất dễ nản , bây giờ hãy bắt
đầu.



Mở W32Dasm disasembler nó ra tìm cái nag invalid key trong Refs>String Data.



Dbclick vào nó sẽ đưa bạn đến chỗ cái nag



* Referenced by a (U)nconditional or ©onditional Jump at Address:



|:004034D6©



|



:004034FF 6A00 push 00000000



* Possible StringData Ref from Data Obj ->"FamilyKeyLogger"



|



:00403501 8B0D08514000 mov ecx, dword ptr [00405108]



:00403507 51 push ecx



chú ý tại 004034D6© nó cho biết có một lệnh nhảy có điều kiện đến
cái nag, nhấn shift+F12 điền vào địa chỉ này OK bạn sẻ đến đây:



:004034C9 FF1578104000 Call dword ptr [00401078]



:004034CF E895E8FFFF call 00401D69



:004034D4 85C0 test eax, eax



:004034D6 7427 je 004034FF nhảy đến nag nếu =0



:004034D8 6A00 push 00000000



* Possible StringData Ref from Data Obj ->"FamilyKeyLogger"



|



:004034DA A108514000 mov eax, dword ptr [00405108]



:004034DF 50 push eax



* Possible StringData Ref from Data Obj ->"Thank you for registration!"



|



:004034E0 8B0D4C514000 mov ecx, dword ptr [0040514C]



như vậy đều cần thiết là cái lệnh nhảy đó phải đứng im, tuy nhiên
điều cần làm là tìm key chớ không phải patch, và nếu bạn patch thì cho
dù co lên cái câu "Thank you for registration" bạn cũng vẫn bị đòi đăng
ký ở lần sau, các soft bây giờ nó đểu lắm, patch nag là xưa rồi,Okie bạn
hãy nhìn lên trước cái lệnh nhảy sẽ có lệnh call 00401D69, chính lệnh
call này sẽ gọi một hàm , và hàm này quyết định xem số key của bạn đúng
hay sai. Vậy hãy di chuyển đến đó và click vào nút Call , bạn sẽ đến một
nơi nào đó trong chương trình , hãy kéo xuống một đoạn nữa đến chỗ sau:



:00401E4B 8D95F8FDFFFF lea edx, dword ptr [ebp+FFFFFDF8] chuyển key bạn nhập vào edx



:00401E51 52 push edx



* Reference To: KERNEL32.lstrlenA, Ord:0308h hàm này cho chiều dài của chuỗi ban nhập



|



:00401E52 FF159C104000 Call dword ptr [0040109C]



:00401E58 83F81D cmp eax, 0000001D so sánh số ký tự với 1D(hex)=29(Dec)



:00401E5B 7407 je 00401E64 nhảy nếu bằng



:00401E5D 33C0 xor eax, eax set cho eax=0 ( nguyên nhân dẫn đến cái nag)



:00401E5F E942040000 jmp 004022A6



như vậy số ký tự bạn nhập vào phải bằng 29, tất nhiên nếu nhìn vào
W32dasm thì không thể thấy chính xác các phép toán thực hiện như thế nào
vì nó không thể hiện được giá trị của register hay address tại thời
điểm chạy đến đoan mã này, nhưng bạn cần suy đoán để tìm ra thôi, ví dụ
như tại sao nhìn vào lea edx, dword ptr [ebp+FFFFFDF8] lại biết là nó
chuyển reg của mình nhập vào edx, cái này thì không ai có thể bày cho
bạn được mà bạn phải crack nhiều , chịu khó quan sát và kinh nghiệm sẽ
cho bạn biết chỗ cần tìm. Đối với người mới bắt đầu có thể xài soft-ice
để kiểm chứng lại cái đoạn tôi nói ở trên,



do crack này hơi dài tôi chỉ nói sơ trong SI như sau:



set BP trong SI là getdlgitemtextA xong press F5 trở về lại màn
hình đăng ký, nhấn OK bạn sẽ trở lại màn hình của SI, nhấn F12 để trở về
vị trí vừa gọi hàm Getdlgitemtexta, trace down bằng F10 , thêm một luu ý
nữa nếu gặp các hàm API thì cứ việc nhấn F10, bạn có thể biết nó là hàm
API khi trước đó có phần Kernell32.dll.. hay User32., bởi vì bạn không
cần biết nội dung của hàm đó, nếu muốn biết thì tốtnhất là tìm các tut
về hàm API, còn nếu gặp các lệnh call đến các địa chỉ như



Call 004xxxxxx thì các bạn làm ơn trace bằng F8 để vào xem cái hàm
đó nó làm gì nếu không sẽ trace qua cái đoạn code cần tìm. Bạn trce bằng
F10 đến khi gặp hàm [Kernel32!sleep], ngay bên dưới nó sẽ có một lệnh
Call, trace bằng F8 vào lệnh call này bạn sẽ đến đoạn mã cần tìm tương
ứng bên W32dasm.



lưu ý đối với những người mới cài và sử dụng SI:để set breakpoint
cho các hàm API trong Kernek32.dll và User32.dll cần phải mở Winice.dat
bằng Notepad và bỏ dấu ";" trước các lệnh sau



EXP=c:\windows\system\kernel32.dll



EXP=c:\windows\system\user32.dll



Rồi khởi động lại.



Trở lại với W32Dasm, nói chung nhiệm vụ của bạn là phải làm sao cho nó đừng nhảy tới chỗ



xor eax,eax mà lèo lái sao cho nó đến chỗ mov eax,00000001 thì soft
sẽ đăng ký thành công, tất nhiên bạn có thể patch nhưng như vậy thì
cũng phải sử cả chục cái lệnh nhảy chớ không ít đâu,bây giờ giả sử bạn
đã nhập đủ 29 ký tự thì sẽ đến vị trí sau:



:00401E64 0FBE85FCFDFFFF movsx eax, byte ptr [ebp+FFFFFDFC]



:00401E6B 83C00A add eax, 0000000A cộng kt thứ 5 với A



:00401E6E 83F837 cmp eax, 00000037 so sánh với 37



:00401E71 7E07 jle 00401E7A nhảy nếu nhỏ hơn



:00401E73 33C0 xor eax, eax



:00401E75 E92C040000 jmp 004022A6



Bạn hãy nhớ byte ptr[ebp+FFFFFDF8] là ký tự đầu tiên, nên byte ptr [ebp+FFFFFDFC] là ký tự thứ 5



Bạn thấy đó dưới cái jle nó lăm lăm cái xor eax,eax chui vào đó là
tiêu luôn, vạy nên ký tự của bạn có mã ASCII hệ 16 sau khi cộng với 5
phải <= 37, (kí tự thứ 5<=2D)



Bạn hãy dò đến các phần tiếp theo nó sẽ kiểm tra các ký tự thứ
10([ebp+FFFFFE01], ký tự thứ 15([ebp+FFFFFE06]) ký tự thứ 20... tất cả
nó đều có điểm chung là phải nhỏ hơn hoặc bằng 2D hãy tìm đến vị trí
tiếp theo:



:00401ED2 0FBE95FCFDFFFF movsx edx, byte ptr [ebp+FFFFFDFC] ký tụ thứ 5 vào edx



:00401ED9 0FBE8501FEFFFF movsx eax, byte ptr [ebp+FFFFFE01] ký tự thứ 10 vào eax



:00401EE0 3BD0 cmp edx, eax ktthứ 5 phải bằng kt thứ 10



:00401EE2 7572 jne 00401F56



:00401EE4 0FBE8DFCFDFFFF movsx ecx, byte ptr [ebp+FFFFFDFC] ký tự thứ 5 vào ecx



:00401EEB 0FBE9506FEFFFF movsx edx, byte ptr [ebp+FFFFFE06] ký tự thứ 20 edx



:00401EF2 3BCA cmp ecx, edx KTthứ 5 phải = KTthứ 20



:00401EF4 7560 jne 00401F56



:00401EF6 0FBE85FCFDFFFF movsx eax, byte ptr [ebp+FFFFFDFC] ký tự thứ 5



:00401EFD 0FBE8D10FEFFFF movsx ecx, byte ptr [ebp+FFFFFE10] ký tự thứ 25



:00401F04 3BC1 cmp eax, ecx



:00401F06 754E jne 00401F56



:00401F08 0FBE95FCFDFFFF movsx edx, byte ptr [ebp+FFFFFDFC]



:00401F0F 83FA2D cmp edx, 0000002D ký tự thứ 5 phải bằng 2D



:00401F12 7442 je 00401F56



như vậy bạn có thể hình dung sơ là số đăng ký sẽ như sau:XXXX-XXXX-XXXX-XXXX-XXXX



tiếp theo hãy tìm hiểu chỗ này:



:00401F56 0FBE85F8FDFFFF movsx eax, byte ptr [ebp+FFFFFDF8] ký tự thứ 1



:00401F5D 83F846 cmp eax, 00000046 so sánh với 46



:00401F60 7566 jne 00401FC8



:00401F62 0FBE8DF9FDFFFF movsx ecx, byte ptr [ebp+FFFFFDF9]



:00401F69 83F945 cmp ecx, 00000045



:00401F6C 755A jne 00401FC8



:00401F6E 0FBE95FAFDFFFF movsx edx, byte ptr [ebp+FFFFFDFA]



:00401F75 83FA46 cmp edx, 00000046



:00401F78 754E jne 00401FC8



:00401F7A 0FBE85FBFDFFFF movsx eax, byte ptr [ebp+FFFFFDFB]



:00401F81 83F845 cmp eax, 00000045



:00401F84 7542 jne 00401FC8



cái thằng soft này quả là lắm chuyện tôi chỉ có thể nói vắn tắt thế
này các ký tự từ 1 đến 4 , kt 1 phải khác 46 hoặc kt2 phải khác 45 hặc
kt3 khác 46.. Có nghĩa là phải làm cho 1 trong bốn lệnh nhảy trên nhảy
nếu không sẽ đến cái chỗ xor eax,eax.



Tiếp theo sau khi nhảy sẽ đến đây:



:00401FC8 0FBE8DF8FDFFFF movsx ecx, byte ptr [ebp+FFFFFDF8]



:00401FCF 0FBE95FAFDFFFF movsx edx, byte ptr [ebp+FFFFFDFA]



:00401FD6 3BCA cmp ecx, edx



:00401FD8 0F858A000000 jne 00402068



:00401FDE 0FBE85F9FDFFFF movsx eax, byte ptr [ebp+FFFFFDF9]



:00401FE5 0FBE8DFBFDFFFF movsx ecx, byte ptr [ebp+FFFFFDFB]



:00401FEC 3BC1 cmp eax, ecx



:00401FEE 7578 jne 00402068



:00401FF0 0FBE9511FEFFFF movsx edx, byte ptr [ebp+FFFFFE11]



:00401FF7 0FBE8513FEFFFF movsx eax, byte ptr [ebp+FFFFFE13]



:00401FFE 3BD0 cmp edx, eax



:00402000 7566 jne 00402068



:00402002 0FBE8D12FEFFFF movsx ecx, byte ptr [ebp+FFFFFE12]



:00402009 0FBE9514FEFFFF movsx edx, byte ptr [ebp+FFFFFE14]



:00402010 3BCA cmp ecx, edx



:00402012 7554 jne 00402068



:00402014 0FBE85FEFDFFFF movsx eax, byte ptr [ebp+FFFFFDFE]



:0040201B 0FBE8DFFFDFFFF movsx ecx, byte ptr [ebp+FFFFFDFF]



:00402022 3BC1 cmp eax, ecx



:00402024 7542 jne 00402068



cũng như trên bạn phải làm cho nó nhảy một trong các lệnh nhảy này,
không là ra cái nag, còn mấy cái kt trên là ký tự thứ mấy thì chắc là
bạn cũng nắm được cách tính rồi phải không?



Đơn giản tôi lấy cái đầu tiên nó chuyển kt thứ nhất vào ecx và kt
thứ 3 vào edx, và nó so edx với ecx vậy nếubạn muốn nó nhảy thì ký tự
thứ nhất phải khác ký tự thứ 3.



Bây giờ đến chô tiếp



:00402068 0FBE9502FEFFFF movsx edx, byte ptr [ebp+FFFFFE02]



:0040206F 83FA74 cmp edx, 00000074



:00402072 755A jne 004020CE



:00402074 0FBE8503FEFFFF movsx eax, byte ptr [ebp+FFFFFE03]



:0040207B 83F853 cmp eax, 00000053



:0040207E 754E jne 004020CE



:00402080 0FBE8D04FEFFFF movsx ecx, byte ptr [ebp+FFFFFE04] kt thứ 12



:00402087 83F952 cmp ecx, 00000052



Đây nữa:



:00402126 0FBE85FDFDFFFF movsx eax, byte ptr [ebp+FFFFFDFD] kt thứ 5



:0040212D 83F854 cmp eax, 00000054



:00402130 7424 je 00402156



:00402132 0FBE8D02FEFFFF movsx ecx, byte ptr [ebp+FFFFFE02] kt thứ 10



:00402139 83F954 cmp ecx, 00000054



:0040213C 7418 je 00402156



:0040213E 0FBE9507FEFFFF movsx edx, byte ptr [ebp+FFFFFE07] kt thứ 15



:00402145 83FA54 cmp edx, 00000054



:00402148 740C je 00402156



:0040214A 0FBE850CFEFFFF movsx eax, byte ptr [ebp+FFFFFE0C]



:00402151 83F854 cmp eax, 00000054



:00402154 7542 jne 00402198



tuy nhiên chỗ này thì khác , mấy cái je mà nhảy là đến xor eax, eax
vậy nên các ký tự phải thỏa điều kiện để không bằng cho đến chỗ jne
00402198



Hy vọng là bạn đã hiểu được cách thức , hãy làm sao cho nó nhảy qua chô xor eax,eax đến được chỗ này là bạn thành công:



:00402299 3BD0 cmp edx, eax



:0040229B EB04 jmp 004022A1



:0040229D 33C0 xor eax, eax



:0040229F EB05 jmp 004022A6



* Referenced by a (U)nconditional or ©onditional Jump at Address:



|:0040229B(U)



|



:004022A1 B801000000 mov eax, 00000001



để dễ cho các bạn tính toán tôi cho saün bảng như sau:



byte ptr [ebp+FFFFFDF8] kt thứ 1



byte ptr [ebp+FFFFFDF9] 2



byte ptr [ebp+FFFFFDFA] 3



byte ptr [ebp+FFFFFDFB] 4



byte ptr [ebp+FFFFFDFC] 5



byte ptr [ebp+FFFFFDFD] 6



byte ptr [ebp+FFFFFDFE] 7



byte ptr [ebp+FFFFFDFF] 8



byte ptr [ebp+FFFFFE00] 9



byte ptr [ebp+FFFFFE01] 10



byte ptr [ebp+FFFFFE02] 11



byte ptr [ebp+FFFFFE03] 12



byte ptr [ebp+FFFFFE04] 13



byte ptr [ebp+FFFFFE05] 14



byte ptr [ebp+FFFFFE06] 15



byte ptr [ebp+FFFFFE07] 16



byte ptr [ebp+FFFFFE08] 17



byte ptr [ebp+FFFFFE09] 18



byte ptr [ebp+FFFFFE0A] 19



byte ptr [ebp+FFFFFE0B] 20



byte ptr [ebp+FFFFFE0C] 21



byte ptr [ebp+FFFFFE0D] 22



byte ptr [ebp+FFFFFE0E] 23



byte ptr [ebp+FFFFFE0F] 24



byte ptr [ebp+FFFFFE10] 25



byte ptr [ebp+FFFFFE11] 26



byte ptr [ebp+FFFFFE12] 27



byte ptr [ebp+FFFFFE13] 28



byte ptr [ebp+FFFFFE14] 29



Ý tưởng của thuật toán này như sau:



kt1+kt2=kt3+kt4 và kt1!=kt3 ví dụ như: EFFE, FEEF, 2112..vv



Kt5=kt10=kt15=kt20=kt25="-"(2D hex) hay <=2D khi kt5!=kt20.



Kt6, kt7 có mã ASCII>=7



Kt7>=kt8



Kt16=kt18!=kt17



Mã ascii (Kt23)!=mã ascii (kt24)+1



Kt26+kt29=kt27+kt28.



Tôi cho bạn 1 key làm ví dụ: @||@-deUx-LOVE-EYES-MINH-@!@!



Copyright © 10-27-2003 by Deux.



Đem sao chép nhớ đê lại bản quyền.



--------------------

Production: EditPlus 2.11 service release 2

Copyright by: ES-Computing

Homepage: [You must be registered and logged in to see this link.]

Download: [You must be registered and logged in to see this link.]

Protector: Name/Serials

Packed: None

Tools: OllyDbg 1.09d + Notepad (to write your serials )

Done: Get correct serials

Cracked by: Zombie DeathMan

Comment: EditPlus is an Internet-ready 32-bit Text editor, HTML
editor, and Programmer's editor for Windows. While it can serve as a
good replacement for Notepad, it also offers many powerful features for
Web page authors and programmers. Syntax highlighting for HTML, CSS,
PHP, ASP, Perl, C/C++, Java, JavaScript, and VBScript. Seamless Web
browser for previewing HTML pages, and FTP commands for uploading local
files to FTP server.



Zombie's notes..: Chương trình này khá hay đó...Mạnh hơn Notepad của Win nhiều mà cũng gọn nhẹ nữa..



Sử dụng OllyDbg để load lên. Hãy khoang set bp gì cả, chạy chương
trước đã (vì hàm cần set bp có tới 6 cái, bạn sẽ không thể biết được cái
nào là cần set).

Sau đó gõ Name/Serials (Zombie-12345). Rùi..Bây giờ thì set bpx
GetWindowTextA. Sẽ có 6 hàm được set. Và hàm được dùng cho việc lấy
entered Name/Serials ở Addr: 4BCBC6.



Tiếp tục trace code đến Addr: 00479E7D..Tại đây sẽ gọi hàm xử lý
serials. Sau đó hàm này sẽ trả về EAX <> 0 nếu Oki else = 0 (nhớ
điều này na)



Oki..Vào trong hàm xem thế nào.

Nhấn F8 một chút để đến 00479FEA..



00479FEA |. 8A4424 18 MOV AL,BYTE PTR SS:[ESP+18]

00479FEE |. 83C4 0C ADD ESP,0C

00479FF1 |. 8A4E 02 MOV CL,BYTE PTR DS:[ESI+2]

00479FF4 |. 8D7E 02 LEA EDI,DWORD PTR DS:[ESI+2]

00479FF7 |. 3AC8 CMP CL,AL

00479FF9 74 09 JE SHORT editplus.0047A004

00479FFB |. |5F POP EDI

00479FFC |. |5E POP ESI

00479FFD |. |33C0 XOR EAX,EAX

00479FFF |. |5B POP EBX

0047A000 |. |83C4 0C ADD ESP,0C

0047A003 |. |C3 RETN



Lưu ý ở 00479FEA . Ở đây bạn hãy tìm ngược đến Addr: ESP+18 sẽ thấy
4 chars (Zombie nhận được là: FA8B). Và MOV vào AL kí tự thứ 1 của
Chars này (kí tự F)

Tiếp tục ở 00479FF1 là MOV vào CL kí tự thứ 2 của entered serials
(lưu ý. Zombie tính kí tự đầu tiên ngoài cùng bên trái là kí tự thứ 0)
--> Ở đây CL = “3”



Sau đó so sánh 2 Char này. If equal thì jump tiếp đến các lệnh sau
RETN. Ngược lại sẽ tiếp tục dòng lệnh..Các dòng lệnh tiếp theo có lệnh
XOR EAX,EAX --> EAX = 0 . hahah…Như thế nghĩa là hàm trả về là
Serials nhập vào sai…Vậy ta chạy lại và nhập lại như sau:

Name: Zombie

Serials: 12F45



Tiếp tục đến Addr 0047A004 là các lệnh tương tự. AL = Char “A”
trong MagicString trên, còn D= Char thứ 3 trong entered Serials. -->
Lại phải nhập lại lần nữa với Serials là: 12FA5….Phù..Còn một lần nữa
cơ…

Addr: 0047A03F là CL = Char thứ 0 trong entered serials, tiếp theo
là AL = Char thứ 0 trong MagicString thứ 2 (tương tự dò đến địa chỉ
ESP+18 sẽ được “9211”).

Rùi..Enter Serials lại lần nữa:

92FA5…

Rùi…Vậy là vượt qua các cửa ải rùi…Các dòng lệnh sẽ được chạy đến

0047A062 |. 0F94C0 SETE AL

--> Trả về EAX = 1 --> Oki..

Vậy lần này bạn có được thông số reg như sau

Name: Zombie

Serials: 92FA5



--------------------

Welcome to THE H-E-L-L

A world no sense of mercy !!!



*********************************************

híc híc, các cậu lẹ quá, hacnho theo hổng kịp. good good!

******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Admin
Admin
Admin


Tổng số bài gửi : 1156
Join date : 07/12/2010
Age : 25
Đến từ : Mỹ Tho, Tiền Giang

Bài gửiTiêu đề: Re: Crack phần mềm   Fri Jun 24, 2011 1:48 pm

How to crack Teleport Pro V1.29.1990



Phần mềm: Teleport Pro V1.29.1990

Bảo vệ: Unregistered Version/ Name Serial.

Công cụ : -W32DASM ver 893

-OllyDBG 1.09b, Win Calculator

Phương pháp crack: Find real serial

Mức độ ()Dễ (x)Vừa ()Hơi khó ()Rất khó

File cần crack pro.exe

Cracker: hacnho (hacnho@hopthu.com)

Website: [You must be registered and logged in to see this link.]



I. Giới thiệu



Chào các bạn, Teleport Pro V1.29.1990 là một phần mềm download
nguyên website với tốc độ download mạnh khủng khiếp. Nhưng phiên bản
trial (dùng thử) chỉ cho sử dụng có 40 lần và chỉ download mỗi lần có
500 files. Hic hic, hacnho đang định download cái site Echip về nhà cho
thằng em chơi mà Teleport Pro V1.29.1590 bắt chẹt quá đáng. Ta đành phải
đành ngậm ngùi crack nó thôi. Cách crack này hơi khác với mọi cách
thường dùng để crack là sẽ thấy số sê ri liền.



II. Bắt tay vào crack Teleport Pro V1.29.1990



Đầu tiên, sau khi cài đặt xong, ta chạy Teleport Pro V1.29.1590
thì một nag hiện lên, đại loại bắt chúng ta đăng ký. Okie, bây giờ
chúng ta vào menu help--->Register để đăng ký. Ở đây hacnho nhập vào
Text box Your Name là: hacnho và Your Unlock Code là: 15101983. Waa, một
nag văng ra " We're sorry! The registration number you entered appears
to...". Chắc đọc tới đây các bạn nghĩ là tìm dòng string này để bắt đầu
crack phải không. He he, ban đầu hacnho cũng nghĩ vậy và set breakpoint
Getwindowtexta trong SI lẫn Olly đều dẫn hacnho đến Maroc không hà. do
đó ở phần mềm Teleport này nếu dùng SI ta phải set breakpoint hmemcpy.
Mà hacnho đang xài XP vói SI 4.2.7 sao mà set được, do đó chúng ta cần
cầu cứu đến hai anh chàng WinDASM và OllyDBG. Đầu tiên ta xét đến các
dòng string của Teleport. hacnho tìm ra một dòng string rất lạ "This
program has been altered possibly by a virus program execution will stop
now." Hổng phải cái string này bình thường đâu, đó chính là dòng nag
bắn ra khi bạn cố tình patch chương trình. Hic hic. SI hổng được, Patch
hổng xong luôn. Để có trong mớ bòng bong string của Windasm khi disasm
teleport có gì đáng giá hông ;.
Oh, hacnho tìm được một string hơi thú vị : "Thank you! Your copy of
Teleport Pro is now registered. Al...". Double click vào nó để ra main
của Wdasm, chúng ta thấy một đoạn string đáng giá ngàn vàng he he.



-----

:0042D325 8975E4 mov dword ptr [ebp-1C], esi

:0042D328 E802D30100 call 0044A62F

:0042D32D 8B86D9000000 mov eax, dword ptr [esi+000000D9]

:0042D333 33DB xor ebx, ebx

:0042D335 6A0A push 0000000A

:0042D337 53 push ebx

:0042D338 50 push eax

:0042D339 E8F76C0000 call 00434035 <--- Đặt breakPoint tại đây

:0042D33E 8B0D54EF4800 mov ecx, dword ptr [0048EF54]

:0042D344 83C40C add esp, 0000000C

:0042D347 8945E8 mov dword ptr [ebp-18], eax

:0042D34A 3899CD040000 cmp byte ptr [ecx+000004CD], bl

:0042D350 0F840E020000 je 0042D564

:0042D356 3BC3 cmp eax, ebx <--- So sánh EBX với Số serial nhập vào...

:0042D358 0F8402010000 je 0042D460

:0042D35E FFB6D5000000 push dword ptr [esi+000000D5] <-- Đưa vào địa chỉ Name nhập vào

:0042D364 E8700A0000 call 0042DDD9 <--- Gọi hàm kiểm tra ( trace into nếu muốn làm keygen).

:0042D369 3945E8 cmp dword ptr [ebp-18], eax <-- So sánh số serial nhập vào với số do chương trình tạo ra

:0042D36C 59 pop ecx

:0042D36D 7536 jne 0042D3A5 <-- Đập vô mặt bạn cái nag "We're sorry..."

:0042D36F A170AE4800 mov eax, dword ptr [0048AE70]

:0042D374 8945F0 mov dword ptr [ebp-10], eax



* Possible Reference to String Resource ID=07001: "Thank you! Your copy of Teleport Pro is now registered. Al"







He he, analyze tới đây là đủ để crack rồi, còn muốn code keygen thì
đọc phần sau. Okie, now dùng Olly để load thằng Teleport lên. Nhấn
Ctrl+G, nhập vào 0042D339, nhấn F2 để đặt breakpoint tại đây. Nhấn F9 để
chạy chương trình. Vào menu help--->Register để đăng ký. Ở đây
hacnho nhập vào Text box Your Name là: hacnho và Your Unlock Code là:
15101983. Olly Ice tại đây. Nhấn F8 trace downward tới địa chỉ 0042D369.
Bạn nhận thấy rằng trên , menu Register (FPU) phía bên phải của Main
Olly có những dòng



EAX 5BF3E6AD



ECX 009849D8 (hacnho)

Wow, 5BF3E6AD chính là số serial của bạn đã được mã hoá sang hệ
hex. Bây giờ dùng Calculator của Window để đỗi 5BF3E6AD sang hệ decimal.
Vào hào quang sáng lạng các bạn ạ, số serial là 1542710957.



Thế là Teleport Pro V1.29.1990 đã bị crack rồi đó các bạn ạ. Và
chúng ta sẽ có bản Teleport Pro V1.29.1990 để xài mãi mãi mà khỏi tốn
gần 40$ .



-------



III. Kết luận



Nếu muốn code keygen bạn hãy trace into vào hàm call 0042DDD9 để
tìm hiểu cơ chế code keygen. Tôi chỉ đưa đoạn mã làm serial cho các bạn
tham khảo thôi.





CODE





0042DDD9 /$ 57 PUSH EDI

0042DDDA |. 8B7C24 08 MOV EDI,DWORD PTR SS:[ESP+8]

0042DDDE |. 85FF TEST EDI,EDI

0042DDE0 |. 74 09 JE SHORT pro.0042DDEB

0042DDE2 |. 57 PUSH EDI

0042DDE3 |. E8 A85E0000 CALL pro.00433C90

0042DDE8 |. 59 POP ECX

0042DDE9 |. EB 02 JMP SHORT pro.0042DDED

0042DDEB |> 33C0 XOR EAX,EAX

0042DDED |> 83F8 05 CMP EAX,5

0042DDF0 |. 73 04 JNB SHORT pro.0042DDF6

0042DDF2 |. 33C0 XOR EAX,EAX

0042DDF4 |. 5F POP EDI

0042DDF5 |. C3 RETN

0042DDF6 |> 53 PUSH EBX

0042DDF7 |. 56 PUSH ESI

0042DDF8 |. BE A4E4FE5D MOV ESI,5DFEE4A4

0042DDFD |. 33DB XOR EBX,EBX

0042DDFF |> 85FF /TEST EDI,EDI

0042DE01 |. 74 09 |JE SHORT pro.0042DE0C

0042DE03 |. 57 |PUSH EDI

0042DE04 |. E8 875E0000 |CALL pro.00433C90

0042DE09 |. 59 |POP ECX

0042DE0A |. EB 02 |JMP SHORT pro.0042DE0E

0042DE0C |> 33C0 |XOR EAX,EAX

0042DE0E |> 83C0 FC |ADD EAX,-4

0042DE11 |. 3BD8 |CMP EBX,EAX

0042DE13 |. 73 0C |JNB SHORT pro.0042DE21

0042DE15 |. 33343B |XOR ESI,DWORD PTR DS:[EBX+EDI]

0042DE18 |. F6C3 40 |TEST BL,40

0042DE1B |. 74 01 |JE SHORT pro.0042DE1E

0042DE1D |. 43 |INC EBX

0042DE1E |> 43 |INC EBX

0042DE1F |.^EB DE \JMP SHORT pro.0042DDFF

0042DE21 |> 8BC6 MOV EAX,ESI

0042DE23 |. 5E POP ESI

0042DE24 |. 5B POP EBX

0042DE25 |. 5F POP EDI

0042DE26 \. C3 RETN









Các bạn tự tìm hiểu thêm nha. hacnho chỉ nói qua loa cơ chế tạo sê
ri thôi. Đầu tiên chương trình sẽ xét name nhập vào, nếu name< 5 thì
thoát khỏi bảng đăng ký (may quá, hồi nãy hacnho nhập tới 6 ký tự lận
.) . Sau đó nếu lớn hơn 5 ký tự thì sẽ lấy chiều dài của ký tự (ví dụ 6)
trừ cho 4, bằng bao nhiêu, đem xor với EBX (mặc định ban đầu, EBX là
00). Gọi một hàm kiểm tra tại đây, nếu serial nhập vào bằng số serial
sinh ra, thì chương trình cũng thoát, khỏi tính lại. Nếu sai thì Xor
tiếp 4 bytes đầu của chiều dài lenght mới với một số magic bằng
5DFEE4A4... Tiếp tục TEST BL,40 , nếu quá 40 thì nhảy, còn không thì đưa
vào eax. Rồi lại tiếp tục vòng lặp cho tới khi hết thì thôi. He he, sau
đó bắn Real Serial vào memory, để so sánh với serial nhập vào. Quá đơn
giản phải không bạn .



Tut đến đây là END. Hẹn gặp trong tut sau.

: [You must be registered and logged in to see this link.]

----------------------------------------------------------------------------------------------

How to crack File Renamer 1.0 build 9



Phần mềm: File Renamer 1.0 build 9

Bảo vệ: Unregistered Version/ Name Serial.

Công cụ : -W32DASM ver 8.93 only!

Phương pháp crack: Find real serial

Mức độ (x)Dễ ()Vừa ()Hơi khó ()Rất khó

File cần crack Renamer.exe

Cracker: hacnho (hacnho@hopthu.com)

Website: [You must be registered and logged in to see this link.]



I. Giới thiệu



Chào các bạn, File Renamer 1.0 build 9 là một chương trình tiện
ích dùng để đổi tên hàng loạt, hay hơn nhiều so với chức năng của
Window. Ngặt một nỗi là nó bắt đăng ký mỗi khi chương trình chạy.
Download phiên bản dùng thử tại địa chỉ [You must be registered and logged in to see this link.]
. Có lẽ hãng Princeton Software Company quá tự tin vào cơ chế mã hoá
serial của mình nên không pack lại. Okie chúng ta crack nó nào anh em!



II. Bắt tay vào crack File Renamer 1.0 build 9



Đầu tiên, sau khi cài đặt xong, ta chạy File Renamer 1.0 build 9
thì nó hiện lên một nag bắt đăng ký. Ở đây hacnho nhập vào 15101983 thì
Waaa... một nag bắn ra "Invalid Registration Key.". He he, bình tĩnh.
Chúng ta vào Wdasm để tìm reverse code nó xem. Ngay trên đầu main của
Wdasm, hacnho thấy dòng Import Module 001: MSVBVM60.DLL, hí hí, vậy là
nó code bằng VB6. Crack mệt đa . Vào Menu String Data Ref. Double click
vào dòng Invalid Registration Key. Dịch chuyển lên trên bạn sẽ thấy như
sau:



* Possible StringData Ref from Code Obj ->"TTF87D3F-J8V47C9K" <--- Số Registration Key ở đây. |



:00448945 68446E4000 push 00406E44

:0044894A FFD7 call edi

:0044894C F7D8 neg eax

:0044894E 1BC0 sbb eax, eax

:00448950 F7D8 neg eax

:00448952 85D8 test eax, ebx <--- kiểm tra code nhập vào có giống string không!

:00448954 7469 je 004489BF <--- Nhảy nhảy nhảy ... :-D.

:00448956 B804000280 mov eax, 80020004

:0044895B 894594 mov dword ptr [ebp-6C], eax

:0044895E BB0A000000 mov ebx, 0000000A

:00448963 895D8C mov dword ptr [ebp-74], ebx

:00448966 8945A4 mov dword ptr [ebp-5C], eax

:00448969 895D9C mov dword ptr [ebp-64], ebx

:0044896C 8945B4 mov dword ptr [ebp-4C], eax

:0044896F 895DAC mov dword ptr [ebp-54], ebx



* Possible StringData Ref from Code Obj ->"Invalid Registration Key."

|

:00448972 C74584CC974000 mov [ebp-7C], 004097CC

:00448979 C7857CFFFFFF08000000 mov dword ptr [ebp+FFFFFF7C], 00000008

:00448983 8D957CFFFFFF lea edx, dword ptr [ebp+FFFFFF7C]

:00448989 8D4DBC lea ecx, dword ptr [ebp-44]







Oh la la. Ở đây nó không gọi hàm kiểm tra gì hết mà chỉ kiểm tra
xem số nhập vào có đúng với dòng các string sinh ra không. Tại dòng *
Possible StringData Ref from Code Obj ->"TTF87D3F-J8V47C9K". hacnho
thấy số Reg Code nằm chình ình ngay trước mặt các bạn ạ. Còn chần chờ gì
nữa mà không chép ra rồi đăng ký hả .



Không hẳn chỉ có một regcode duy nhất mà trong các đoạn string của
File Renamer 1.0 build 9 cũng có một số string là RegCode. Có thể kể ra
bốn đoạn mà hacnho tìm được:



-------------------------------



* Reference To: MSVBVM60.__vbaStrCmp, Ord:0000h

|

:00423F14 8B35D4104000 mov esi, dword ptr [004010D4]

:00423F1A 51 push ecx



* Possible StringData Ref from Code Obj ->"2F78AZX2-89ME4A23"

|

:00423F1B 68F46D4000 push 00406DF4

:00423F20 FFD6 call esi

:00423F22 8B156CA04400 mov edx, dword ptr [0044A06C]

:00423F28 8BF8 mov edi, eax

:00423F2A F7DF neg edi

:00423F2C 1BFF sbb edi, edi

:00423F2E 52 push edx



* Possible StringData Ref from Code Obj ->"8J4Z2X11-8R865YHG"

|

:00423F2F 68CC6D4000 push 00406DCC

:00423F34 F7DF neg edi

:00423F36 FFD6 call esi

:00423F38 F7D8 neg eax

:00423F3A 1BC0 sbb eax, eax

:00423F3C F7D8 neg eax

:00423F3E 23F8 and edi, eax

:00423F40 A16CA04400 mov eax, dword ptr [0044A06C]

:00423F45 F7DF neg edi

:00423F47 1BFF sbb edi, edi

:00423F49 50 push eax



* Possible StringData Ref from Code Obj ->"7134X853-IJ78FR6A"

|:00423F4A 681C6E4000 push 00406E1C

:00423F4F F7DF neg edi

:00423F51 FFD6 call esi

:00423F53 F7D8 neg eax

:00423F55 8B0D6CA04400 mov ecx, dword ptr [0044A06C]

:00423F5B 1BC0 sbb eax, eax

:00423F5D 51 push ecx

:00423F5E F7D8 neg eax

:00423F60 23F8 and edi, eax



*Possible StringData Ref from Code Obj ->"TTF87D3F-J8V47C9K"

|

:00423F62 68446E4000 push 00406E44

:00423F67 F7DF neg edi

:00423F69 1BFF sbb edi, edi

:00423F6B F7DF neg edi

:00423F6D FFD6 call esi

:00423F6F F7D8 neg eax

:00423F71 1BC0 sbb eax, eax

:00423F73 F7D8 neg eax

:00423F75 85F8 test eax, edi

:00423F77 0F8436010000 je 004240B3

-----------------------------------------------







Tóm lại ta có các số RegCode tham khảo :



TTF87D3F-J8V47C9K



7134X853-IJ78FR6A



8J4Z2X11-8R865YHG



2F78AZX2-89ME4A23



III. Kết luận



Đây là một chương trình tương đối dễ crack nhưng cần sự quan sát nhất là không máy móc áp dụng một phương pháp duy nhất.



thân.



Tut đến đây là END. Hẹn gặp trong tut sau.

[You must be registered and logged in to see this link.]

******------******
Vì ai ta say trong men tình
Vì ai một mình ta thương nhớ
Cố trông chờ tình ai đáp lại
Vẫn u hoài sầu nhớ mình ta.
Về Đầu Trang Go down
Xem lý lịch thành viên http://123bungchay.forumvi.com
Sponsored content




Bài gửiTiêu đề: Re: Crack phần mềm   Today at 11:10 am

Về Đầu Trang Go down
 
Crack phần mềm
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» BẢN CRACK MỚI CHO KIS 2011 Cập nhật ngày 01/10/2010
» ProrShow Gold 5 +key+crack (bãng mới nhất 3/2012
» Crack win xp va win 7 , tự động chèn key và bẻ khóa
» Hướng dẫn Crack Windows 7 mọi phiên bản !
» Crack Windows 100% có bản quyền !

Permissions in this forum:Bạn không có quyền trả lời bài viết
Bùng cháy :: Máy tính :: Phần mềm :: Crack- Key Phần mềm-
Chuyển đến