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

Cracker Handbook 1.0 part 352 pdf

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 152,78 KB

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

Nội dung

- Trong References của Form nay chỉ có một mục... - Ta cũng thấy chương trình sẽ MOV 1 vào ô nhớ này trước khi có thông báo “đã đăng kí !”.. Và cờ này sẽ được bật suốt khi chương trình đ

Trang 1

- Dòng thứ 2, nếu chưa đăng kí, lệnh nhảy sẽ tới nhãn L222, xóa cờ này đi

- Đây có thể là mấu chốt của vấn đề.Giờ ta chọn tab RCP, Find chuỗi: ”Enter your

registration code” Dừng tại đây

- Như thế, phần nhập Registration Code là một Form, có ID 1200.Cùng một cách

đã làm ở những bước trước, ta được:

FORM ID 1200 AT (2 2 156 156)  ID của Form này

MODAL

BEGIN

TITLE "Registration"

LABEL "Enter your registration code :" ID 1201 AT (6 102) FONT 1

FIELD ID 1202 AT (14 118 128 16) EDITABLE SINGLELINE UNDERLINED LEFTALIGN MAXCHARS 12 FONT 2 BUTTON "OK" ID 1203 AT (64 140 36 12) LEFTANCHOR FONT 0

BUTTON "Cancel" ID 1204 AT (107 140 36 12) LEFTANCHOR FONT 0

FORMBITMAP AT (4 30) BITMAP 1000

LABEL "Biorhythm for Palm OS®" ID 1206 AT (22 14) FONT 2

LABEL "Registration removes\013launching progress bar." ID 1207 AT (40 35) FONT 1

LABEL "Get registration code at :\013 www.mobilisoft.com" ID 1208 AT (14 70) FONT 1

GRAFFITISTATEINDICATOR ID 147 142

BUTTON "Keyboard" ID 1210 AT (7 140 50 12) LEFTANCHOR FONT 0

END

Trang 2

- Trong References của Form nay chỉ có một mục Double-Click vào nó, tới Code sau:

00000a16 584f ADDQ.W #4,A7

00000a18 670e BEQ L52

00000a1a 3f3c0514 MOVE.W #1300!$514,-(A7) ;

Registration

sysTrapFrmInitForm

00000a22 2448 MOVEA.L A0,A2

00000a24 544f ADDQ.W #2,A7

00000a26 602c BRA L53

00000a28 3f3c04b0 L52 MOVE.W #1200!$4b0,-(A7) ;

Registration

sysTrapFrmInitForm

- Ở đây cũng có kiểm tra(màu vàng), nếu TRUE thì nhày tới nhãn L52, ngược lại thì gọi Form ID 1300 Xem Form ID 1300 là cái gì nào:

Trang 3

- Lệnh thứ 2 ta quan tâm là chỗ màu đỏ:

- Nó sẽ làm cái wái gì đấy với ô nhớ tại địa chỉ A5-75

- Ta đã biết A5-75 là một cờ, nếu nó bật lên 1, tức là chương trình đã có Valid Serial Ngược lại thì chưa có

- Ta cũng thấy chương trình sẽ MOV 1 vào ô nhớ này trước khi có thông báo “đã đăng kí !” Và cờ này sẽ được bật suốt khi chương trình đang chạy Ngoài ra cũng

có chỗ sẽ xóa cờ này đi nếu serial nhập vào là sai Quay lại đoạn Code bung NAG nào, Alert ID 1100:

00001c52 4fef000c LEA 12(A7),A7

00001c56 6712 BEQ L222

00001c58 1b7c0001ffb5 MOVE.B #1,-75(A5)

00001c5e 3f3c03e8 MOVE.W #1000!$3e8,-(A7) ; Registered

!

sysTrapFrmAlert

00001c68 600e BRA L223

FORM ID 1300 AT (2 2 156 156)

MODAL

BEGIN

TITLE "Registration"

LABEL "You can check for updates at :\013 www.mobilisoft.com" ID 1301 AT (6 102) FONT 1 BUTTON "Close" ID 1303 AT (55 135 46 12) LEFTANCHOR FONT 0

FORMBITMAP AT (4 30) BITMAP 1000

Trang 4

00001c6a 422dffb5 L222 CLR.B -75(A5)

00001c6e 3f3c044c MOVE.W #1100!$44c,-(A7) ; Not registered !

sysTrapFrmAlert

- Trước lệnh so sánh để nhảy, cũng có TST.B, khi đăng kí chương trình, nó cũng

sẽ làm gì đó với thanh ghi D0 Nếu kết quả trả về sai- tức lệnh nhảy ko xảy ra, cờ tại A5-75 sẽ được bật Như thế, ta luôn muốn cờ tại A5-75 được bật Giờ hãy tìm các nơi ô nhớ này được dùng tới

- Có 6 vị trí liên quan tới A5-75:

- Tham chiếu tới từng em, gom lại được như sau:

Trang 5

1) 00000a12 4a2dffb5 TST.B -75(A5)

2) 00000c8e 1b40ffb5 MOVE.B D0,-75(A5)

3) 00000f5e 422dffb5 CLR.B -75(A5)

4) 00001c58 1b7c0001ffb5 MOVE.B #1,-75(A5)

5) 00001c6a 422dffb5 L222 CLR.B -75(A5)

6) 00001c78 102dffb5 L223 MOVE.B -75(A5),D0

- Dòng 1) sẽ kiểm tra giá trị tại A5-75, để xem nên hiện Form đăng kí hay Form thông báo “Already Registered !”(khác Alert “Registered”)

- Dòng 3) sẽ xóa cờ tại A5-75 nếu số Serial nhập vào sai

- Dòng 4), 5) sẽ bật cờ tại A5-75

- Dòng 6) đưa giá trị tại A5-75 vào thanh ghi D0

- Và dòng 2) chính là nơi ta đang tìm Đưa giá trị của D0 vào A5-75

- D0 chứa địa chỉ một ô nhớ khác, cũng có thể coi đây là một biến Lúc là 0, lúc là 1(suy ra như thế vì nó MOV vào A5-75) Ta sẽ xem đoạn code tại dòng 2) như thế nào:

00000c80 2f0b MOVE.L A3,-(A7)

sysTrapFrmDrawForm

00000c86 486dffdc PEA -36(A5)

00000c8e 1b40ffb5 MOVE.B D0,-75(A5)

00000c92 4fef000c LEA 12(A7),A7

00000c96 6608 BNE L71

- Như đã phân tích ở trên, việc đã đăng kí hay chưa tùy thuộc vào cờ tại A5-75 hay nói chính xác là tại D0 Vậy ta cần biết chuyện gì xảy ra với D0 trước khi tới dòng lệnh XANH Xem ngay trên nó nào:

- Lệnh này nhảy tới một subroutine hay một hàm(giống lệnh CALL nhỉ?) Ta cũng thấy nó trước đoạn code bung NAG ,xem lại Alert ID 1100:

Trang 6

00001c4c 4ebafe5a JSR L211

00001c58 1b7c0001ffb5 MOVE.B #1,-75(A5)

;Registered !

sysTrapFrmAlert

00001c6a 422dffb5 L222 CLR.B -75(A5)

00001c6e 3f3c044c MOVE.W #1100!$44c,-(A7) ; Not registered !

- Như thế, ở nhãn L211(máy các lão có thể khác) đã có gì xảy ra với D0 Click phải tại lệnh nhảy này, chọn:

- Ta sẽ bay tới nhãn này:

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

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

TÀI LIỆU LIÊN QUAN