°º¤ø,¸¸,ø¤º°`°º¤ø,.::HAPPY A1::.°º¤ø,¸¸,ø¤º°`°º¤ø,¸
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

°º¤ø,¸¸,ø¤º°`°º¤ø,.::HAPPY A1::.°º¤ø,¸¸,ø¤º°`°º¤ø,¸

o0o.::Chào mừng bạn đã đến với diễn đàn A1 – Diễn đàn trao đổi học tập và giải trí – Lớp 12A1 trường THPT Thủ Thừa – Năm học: 2010-2011::.o0o
 
Trang ChínhLatest imagesTìm kiếmĐăng kýĐăng Nhập
Thời gian - GMT+7
Latest topics
» [ẢNH] Trai tài gái sắc OFFICIAL - 10.1.2011
Học bẻ khoá phần mềm I_icon_minitimeby thanhqui 28.05.12 18:56

» nguoi thua ke microsoft
Học bẻ khoá phần mềm I_icon_minitimeby thuongducphat 01.03.12 16:10

» [ẢNH] Cắm trại 2012
Học bẻ khoá phần mềm I_icon_minitimeby Nguyễn Nhân 20.01.12 11:49

» [GUNNY] Clip vượt ải gà anh hùng ngày 4/1/2012
Học bẻ khoá phần mềm I_icon_minitimeby Nguyễn Nhân 04.01.12 16:51

» [GUNNY] Clip vượt Bộ lạc khó Stage 4 - 3/1/2012
Học bẻ khoá phần mềm I_icon_minitimeby Nguyễn Nhân 03.01.12 19:59

» [GUNNY] Vượt ải Pháo đài hắc ám khó - 2/1/2012
Học bẻ khoá phần mềm I_icon_minitimeby Nguyễn Nhân 02.01.12 15:41

» [GUNNY] Vượt ải Bộ lạc tà thần khó - 2/1/2012
Học bẻ khoá phần mềm I_icon_minitimeby Nguyễn Nhân 02.01.12 15:39

» Cách làm hợp đồng hoàn hảo
Học bẻ khoá phần mềm I_icon_minitimeby Nguyễn Nhân 23.12.11 21:35

» dân tah1i bih giau nhat61t việt nam
Học bẻ khoá phần mềm I_icon_minitimeby thuongducphat 23.12.11 17:56

» [GUNNY] Vượt ải gà anh hùng - 18/12/2011
Học bẻ khoá phần mềm I_icon_minitimeby Nguyễn Nhân 18.12.11 22:58

» PoKeMon: 1 tuyệt tác
Học bẻ khoá phần mềm I_icon_minitimeby hieu_kiddy 15.11.11 9:07

» [ẢNH] Tri ân thầy cô OFFICIAL - 23.5.2011
Học bẻ khoá phần mềm I_icon_minitimeby hieu_kiddy 15.11.11 9:05

» chuc a1 DK ntl
Học bẻ khoá phần mềm I_icon_minitimeby hieu_kiddy 15.11.11 9:02

» 1 lời động viên
Học bẻ khoá phần mềm I_icon_minitimeby hieu_kiddy 15.11.11 8:48

» [GUNNY] Một lời cảm ơn
Học bẻ khoá phần mềm I_icon_minitimeby hieu_kiddy 15.11.11 8:46

» [ẢNH] Chia tay ngày 27.5.2011 - nhà K.Thanh
Học bẻ khoá phần mềm I_icon_minitimeby Nguyễn Nhân 09.11.11 22:12

» [ẢNH] 30.4.2011 - nhà Hiếu
Học bẻ khoá phần mềm I_icon_minitimeby Nguyễn Nhân 03.11.11 22:35

» ĐỂ HỌC TỐT MÔN NHỮNG NGUYÊN LÝ CƠ BẢN CỦA CHỦ NGHĨA MÁC-LÊNIN
Học bẻ khoá phần mềm I_icon_minitimeby arielnguyen 15.10.11 9:11

» Chào tất cả thành viên a1
Học bẻ khoá phần mềm I_icon_minitimeby kngan119411 09.10.11 11:21

» HTC chính thức giới thiệu Raider 4G
Học bẻ khoá phần mềm I_icon_minitimeby thuongducphat 22.09.11 14:20

Liên kết

Xem thống kê diễn đàn

Webgame Nông trại vui vẻ

Webgame Gunny Online

Trang blog 12A1

Trang blog 12A2

Forum 12A2

Forum 12A3

Forum 12D1

Forum 10A1

Forum 10A5 - 10A8

Forum 10A6 TKT

Forum THPT Thủ Thừa

Forum THPT Tân Trụ

Forum THPT Rạch Kiến

Forum Cần Giuộc

Forum THPT Nguyễn Hữu Thọ

Forum THPT Môc Hoá

Website THPT Thủ Thừa

Danh sách thành viên

Tìm kiếm

Top posters
Nguyễn Nhân (379)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
thuongducphat (177)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
pesock2405 (66)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
ღKFCღ (51)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
arielnguyen (47)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
thanhqui (44)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
™»•SW•«™ (33)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
ngocbeonhuheo (31)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
tjna_teeny (31)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
hieu_kiddy (27)
Học bẻ khoá phần mềm _Học bẻ khoá phần mềm I_voting_barHọc bẻ khoá phần mềm Empty 
April 2024
MonTueWedThuFriSatSun
1234567
891011121314
15161718192021
22232425262728
2930     
CalendarCalendar
Poll
Bạn thấy diễn đàn này thế nào?
Rất tốt
Học bẻ khoá phần mềm _60%Học bẻ khoá phần mềm Empty
 60% [ 35 ]
Tốt, tương đối
Học bẻ khoá phần mềm _10%Học bẻ khoá phần mềm Empty
 10% [ 6 ]
Trung bình
Học bẻ khoá phần mềm _7%Học bẻ khoá phần mềm Empty
 7% [ 4 ]
Chưa tốt, cần cải thiện thêm
Học bẻ khoá phần mềm _22%Học bẻ khoá phần mềm Empty
 22% [ 13 ]
Tổng số bầu chọn : 58
Thống Kê
Hiện có 1 người đang truy cập Diễn Đàn, gồm: 0 Thành viên, 0 Thành viên ẩn danh và 1 Khách viếng thăm

Không

Số người truy cập cùng lúc nhiều nhất là 19 người, vào ngày 03.06.11 16:04
Statistics
Diễn Đàn hiện có 956 thành viên
Chúng ta cùng chào mừng thành viên mới đăng ký: vipvip1511

Tổng số bài viết đã gửi vào diễn đàn là 1086 in 834 subjects
Tra từ trực tuyến
Từ điển:

Từ cần tra:

Hỗ trợ trưc tuyến
Thống kê truy cập

free web page counters

Chi tiết truy cập
Đếm Web

 

 Học bẻ khoá phần mềm

Go down 
2 posters
Tác giảThông điệp
Liu Yi Fei
HAPPY A1 Friend
HAPPY A1 Friend
Liu Yi Fei


Tổng số bài gửi : 11
Công trạng : 33
Sinh nhật : 19/10/1993
Ngày tham gia : 15/05/2010
Tuổi : 30
Đến từ : Internet
Hiện đang là : ....
Giới tính : Nam

Học bẻ khoá phần mềm Empty
Bài gửiTiêu đề: Học bẻ khoá phần mềm   Học bẻ khoá phần mềm I_icon_minitime16.05.10 7:27

Đây là loạt bài của Hacnho.Đã có từ lâu nhưng mình vẫn
giới thiệu vì đây gần như là TUT gối đầu giường cho ai muốn theo đuổi
cái công việc đầy gian nan và “nguy hiểm này”

Sau đây là phần 1:
“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… đó 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, crack ít bị công an
tóm, còn hack thì lạng quạng vào tù gỡ lịch…
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úyt… 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 ích chung mong các đại ca
tha tội cho me… Tất cả vì nâng cao chất lượng cho HVA… thanks 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 crack đượ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
khoảng 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
- Borland C, 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ần 3)
- 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à 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 www.ctools.net
để 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 hoặc
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 nhé, 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 ở www.numega.com
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 (OK ở đầ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
Bài viết của hacnho from HVA (xin vui lòng để dòng này khi bạn trích
dẫn lại – thanks a lot)
- Het Phan I –
Trong phần 2 tui sẽ hướng dẫn các bác sử dụng SoftICe, từng câu lệnh,
từng hàm… rất cặn kẽ, rất dễ hiểu “

—————————————————————-
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 xanh chết chóc trong Win9x 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ự, hãy 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.
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 + Học bẻ khoá phần mềm Icon_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+Ngầu
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.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
Bài viết của hacnho from HVA-www.hackervn.org/forum (xin vui lòng để
dòng này khi bạn trích dẫn lại – thanx a lot)
- Hết Phần II –
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.
Về Đầu Trang Go down
Nguyễn Nhân
Tổng biên tập
Tổng biên tập
Nguyễn Nhân


Tổng số bài gửi : 379
Công trạng : 1101
Sinh nhật : 11/07/1993
Ngày tham gia : 24/10/2009
Tuổi : 30
Đến từ : HAPPY A1
Hiện đang là : Học sinh
Giới tính : Nam

Học bẻ khoá phần mềm Empty
Bài gửiTiêu đề: Re: Học bẻ khoá phần mềm   Học bẻ khoá phần mềm I_icon_minitime16.05.10 16:05

Học hỏi cho biết là tốt. Nhưng đừng lợi dụng nó vào việc ko đáng làm...phí sức...:d
Về Đầu Trang Go down
http://www.happya1.co.cc
 
Học bẻ khoá phần mềm
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» 10 bí ẩn khoa học vừa được khám phá (Phần 2)
» 10 bí ẩn khoa học vừa được khám phá (Phần 3)
» 10 bí ẩn khoa học vừa được khám phá (Phần 1)
» 10 bí ẩn khoa học vừa được khám phá (Phần cuối)
» Thời khoá biểu (từ 25.4.2011)

Permissions in this forum:Bạn không có quyền trả lời bài viết
°º¤ø,¸¸,ø¤º°`°º¤ø,.::HAPPY A1::.°º¤ø,¸¸,ø¤º°`°º¤ø,¸ :: ×º°”˜`”°º× BỆNH VIỆN TIN HỌC ׺°”˜`”°º× :: THỦ THUẬT MÁY TÍNH-
Chuyển đến 
Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất