Nhớ lại lệnh RTS sẽ kết thúc một hàm... Sau đó trả giá trị này về cho nơi gọi nhãn L211tức kết thúc hàm này.. - Càng kéo lên, càng thấy có nhiều lệnh nhảy tới nhãn này, vậy đây chính là
Trang 100001aa2 245f MOVEA.L (A7)+,A2
00001aa8 4e56ffe2 L211 LINK A6,#-30
sysTrapStrLen
- Đoạn Code ở đây khá dài, ta cần tìm nơi kết thúc của nó Nhớ lại lệnh RTS sẽ kết thúc một hàm Ngay trên đầu nhãn này là một lệnh RTS, vậy để tìm cho nhanh, ta click phải tại lệnh này, chọn:
- Lệnh RTS phía dưới, chắc chắn là nơi kết thúc của hàm này.(lúc gọi nhãn, lúc gọi hàm, mỗ hơi phiền nhỉ? )
- Từ đó, ta tóm gọn đầu đuôi của nhãn L211 như sau:
00001aa8 4e56ffe2 L211 LINK A6,#-30 Start
sysTrapStrLen
Trang 2……… Đoạn Code ở giữa………
………
00001c0a 7a01 MOVEQ #1,D5
00001c0c 1005 L218 MOVE.B D5,D0
- Nhìn kĩ sẽ thấy nguyên đoạn Code này là từ nhãn L211 tới L218 (máy các lão có thể khác) Chúng ta vẫn chưa quen phân tích Code, nhưng nhìn kĩ trước lệnh RTS
là :
- Nhảy tới:
00001c0c 1005 L218 MOVE.B D5,D0
- Nếu điều kiện ko thỏa, sẽ nhảy tới nhãn L218 và giá trị tại D5 sẽ MOV vào D0 Sau đó trả giá trị này về cho nơi gọi nhãn L211(tức kết thúc hàm này)
- Càng kéo lên, càng thấy có nhiều lệnh nhảy tới nhãn này, vậy đây chính là nơi quyết định giá trị của D0 từ D5 Mà theo phân tích trên, ta muốn D0 luôn là 1 để
cờ tại A5-75 được bật lên Và dòng lệnh đó lồ lộ trước mặt:
00001c0a 7a01 MOVEQ #1,D5
- Chỉ khi các lệnh nhảy trên đều ko thực hiện thì D5 mới chứa giá trị 1, và hàm mới trả về D0=1 Như thế, thay vì ép cho lệnh MOV 1 vào D5 xảy ra, tại sao ta ko MOV thẳng 1 vào D0 luôn cho rồi Do đó cần sửa lệnh
- Thành MOVE.Q #1,D0 Điều này quá dễ vì ta đã có Opcode của lệnh này:
Trang 3- Bay tới địa chỉ nhãn L218 đi nào:
- Opcode đang là 1005, sửa thành 7001:
- Save file lại nào:
- Cái này phải Test nha, tại tụi mình Patch “chay” , ko qua Debug
- Rồi, mở Emulator lại nào:
Trang 4- Chọn file Patch sau cùng:
- Biorhythm Option Register
- Okie, vậy là bản Patch cao cấp đã xong xuôi Còn đây là giao diện trong Palm OS Garnet Simulator 5.4:(nó ko chạy X-Master được)
Trang 5IV- End Tut:
- Vâng thưa các lão, có thể Biorhythm không phải là chương trình hay nhưng nó quả là một ví dụ thực hành khá tốt đúng ko? Nhờ nó ta đã từng bước làm quen được với các Tool Cracking trên Palm Mong là các lão hãy cố gắng nghiên cứu và viết thật nhiều bí kíp hay cho các huynh đệ đồng môn học tập
Trang 6- Vậy thôi hén, Tàn mỗ gói ghém dao kiếm lại đây, chui vào Cửu Không Vô Giới tiếp…
Chân thành cảm ơn sư phụ Gammexane rất nhiều vì đã sáng chế ra bộ võ công lợi hại như thế, và cả Napalm đã công phu dịch lại Tut này