Hôm nay chán quá nên ngồi viết 1 bài share cho các bạn "nghịch chơi" vì nhiều game hack tiền là được rồi! Hì, ta dựa vào mấy cái lệnh nhảy để suy luận đó là:
-ifeq: nhảy khi gtrị đầu của stack
=0.
-ifne: nhảy khi gtrị đầu....khác 0.
-iflt: nhảy khi...<0.
-ifle: nhảy khi...=<0.
-ifgt: nhảy khi...>0.
-ifge: nhảy khi...>=0.
-if_icmpeq: nhảy khi 2gtrị đầu
cuả stack =0 và vv....cũng hiểu
tương tự như vây.(Nếu sai thì
thông cảm nha, mình dịch
google)
BẮT ĐẦU
mình lấy vd về game đường đua việt của teamobi. Lúc nào cung
vậy...tải về giải nén, backup lại 1
file còn 1 cái để test. Vào game
thấy cái bắt nhập key (1).
Ấn vào những map bị khoá nó
hjện ra "bạn phải đua các vòng
khác trước" (2).
Khi không đủ tiền để đua nó
hiện ra "bạn không đủ tiền
tham gia" (3).
Không có tiền để nâng cấp xe
"bạn chưa có đủ tiền..." (4).
Khi nâng cấp mà vạch nâng đã
full "chỉ số này đã quá cao,
không thể nâng cấp thêm" (5).
Nhiều badboy quá nhj?. Sau 1
hồi tìm kiếm thì thấy tất cả
badboy nằm trong al.class.
Tạm thế đã, còn hack về sau mà
vẫn win thì để các bạn tự xử.
----------------------------
1. Crack: chẳng nói nữa, trên
mạng có nhiều quá rồi. Người
nghĩ ra cach đó cũng lợi dụng
lệnh nhảy (khôn thật).
2. Chơi những map bị khoá:
dùng bytecode mở al.class ->mở -> ấn * để hiện tất cả string
và tìm đến badboy (dòng 71), ấn
vào rồi copy tất cả.
-quay lại rồi chọn tìm kiếm kí tự
rôi paste vào...nó ra method i,
mở tiếp lên, ấn 8, paste tiếp.
-ok 1 cái nó ra như sau:
if_icmple Label263
ldc "bad boy"
invokestatic av/a...
return
Label263: ...
-Suy luận: Label 263 chắc là để
bắt đầu đua rồi, ấn vào mà toàn
hiện badboy mà không cho
đua??? à, phải xoá từ cái
ldc"badboy" đến hết cái return
đi để cho nó phi thẳng vào đua
mà không bi cản lại bởi lí do gj...
Xóa xong sẽ thế này:
if_icmple Label263:
Label263:
-save và test thử.
3. Không có tiền mà vẫn đua
được: cach làm vẫn như trên,
vào đến code thì nó hiện thế
này:
if_icmple Label303
new java/lang...
dup
ldc "badboy"
invoke...
getstatic...
invoke...
...
...
return
Label303:
-SUY Luận: Label303 chắc là cái
cho đua, khi không có tiền thì
vào nhảy vào badboy, có tiền
mới cho đua??? à, xoá từ
new java/lang đến hết chữ
return thì dù có tiền hay không
ta vẫn đua. Xoá xong sẽ thế này:
if_icmple Label303
Label303:
-save và test.
3. Nâng cấp tiếp khi thanh giới
hạn đã đầy:
if_icmple Label224
ldc "bad boy"
invokestatic...
return
Label224:
-tự suy luận, chỉnh sưả và test!
Lưu ý: khi xoá như vậy rất hay bị
lỗi verify nên các bạn sửa xong
là phải dùng fix verify để sửa.
Tại pm bị cá nhân hoá quá ác
nên phải tạo thư mục encode nằm cùng với file.class thì mới dùng được. Nếu không thích tạo
encode thì bug pm đó ra, vào
manifest.mf kéo xuống 1tí thấy
dòng savedir: encode, thich tên
gì thì thay bằng tên đó (mình thì
thay bằng tên META-INF vì game
nào mà chả có thư mục này, đỡ mất công tạo thêm. Thanks.
Nguồn: meu.vn