Bài gửiThời gian: [C++] di chuyển vị trí của 1 texture  EmptyToday at 12:32 am #1
Trường Phong
Trường Phong

Trường Phong

•— Design
•— Design
...:!:.Tôi yêu Keep Dreams ♥♥.:!:...
default [C++] di chuyển vị trí của 1 texture Thu Jul 04, 2013 4:35 pm
Hôm nay Trường Phong tôi viết bài này là lần đầu tiên trên KeepDreams.com để anh em cùng trải nghiệm và trao đổi về 1 số cách code thông qua xem decomp tại IDA.

Phong thì hồi ấy có từng viết 1 số bản hack và public, nhưng bây giờ thì tôi chú tâm 1 chút về BU Patch, nên những code mà Hnnp tôi viết ra đây chủ yếu để phục vụ cho việc làm ra 1 bản BU Patch có 1 giao diện logic và chuyên nghiệp.

Việc tôi muốn thay đổi texture ở đây là kí hiệu C ( Chance ) nằm bên góc trái màn hình BU, tôi muốn di chuyển nó đi xuống 1 chút ngang với music info.

Trước khi tôi muốn thay đổi tex này thì cần phải biết cái name của nó đã. Tôi tìm và thấy 2 cái tên quen thuộc là : Âù½º¹öÆ°_1 và Âù½º¹öÆ°_3
cái _1 thì qui định chữ C màu tối và _3 quy định màu chữ C sáng trong bản thiết kế dds. Tôi nghĩ ngay đến việc nó sẽ quy định đến 4 tọa độ cho 2 dds này, vậy việc tiếp theo là tôi tìm kiếm tên này trong IDA và 4 tọa độ của nó.

Open IDA Pro 5.5 để tìm 2 string kia thì ta có như sau :
[C++] di chuyển vị trí của 1 texture  1-12


tôi tìm ra được 2 cái tên đúng như tôi tìm trong acv nó đều được gọi bởi hàm sub_78BF70, vậy là chuẩn rồi.
Kế tiếp tôi vào hàm này để xem tọa độ nằm chỗ nào thì tôi tìm được 4 tọa độ chính xác như sau :
[C++] di chuyển vị trí của 1 texture  2-9

Rõ ràng ta nhìn trong hình có 4 tọa độ mà giá trị nào cũng như nhau, 2 tọa độ bên dưới là
Code:
push    26Eh
push    0FEh
call    sub_43D6B0
hàm này qui định tọa độ cho tất cả tex trong Audition, rất ngạc nhiên vì tôi tìm các tex khác đều xài hàm này tôi bắt tay vào công việc thay đổi nó. Có 2 cách để các bạn có thể thay dễ dàng int này đó là WriteMem hoặc call function.

WriteMem : Các bạn rất dễ dàng bị xtrap phát hiện và đào thải.
Call function : Xtrap không thể phát hiện nhưng cách làm tương đối khó hơn.

Tôi thì call dunction để không bị xtrap tóm, thà như thế còn hơn bypass rất vất vả.

tôi code như sau :

Code:
typedef int ( _cdecl *Function )(int *x, int *y);
Static Function CallPointer;
CallPointer = (Function)(0x43D6B0);
CallPointer ( 600, 700 );
Việc còn lại là các bạn write giá trị int đã call này vào ngay địa chỉ đang sử dụng hàm 43D6B0 ( nhớ write cả tọa độ bên trên các bạn nhá ). Thế là xong !

Khi xong việc, kết quả Phong thu được là tex đã dc di chuyển xuống bên dưới ngang với music info.

Chúc các bạn thành công !







Message reputation : 100% (1 vote)


Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang Thông điệp [Trang 1 trong tổng số 1 trang]

Reply Facebook
Quyền hạn của bạn:
Bạn không có quyền trả lời bài viết