Đang tải...
 
       

Go Back   Diễn Đàn PSP, PSVITA | Forum PSP, PSVITA | Cộng Đồng PSP, PSVITA Việt Nam > PSP (Sony Playstation Portable) > Thư Viện Tổng Hợp > Hướng Dẫn Hack, Mod

Quyên Góp & Ủng hộ Like Facebook Việt Game Shop ADS
Trả lời
 
Ðiều Chỉnh
  #21  
Old 15-01-2017, 13:59
Ảnh đại diện của ๖ۣۜSam-Sama
๖ۣۜSam-Sama ๖ۣۜSam-Sama is offline
永遠の王子
 
Tham gia ngày: Dec 2011
Đến từ: ๖ۣۜS&M Fansub
Bài gởi: 4,514
Thanks: 740
Thanked 1,996 Times in 605 Posts
Gửi tin nhắn qua Yahoo chát tới ๖ۣۜSam-Sama
Default

Trích Dẫn:
Nguyên văn bởi Asm65816 View Post
[SIZE="5"][COLOR="Red"]

Ghê, Undub luôn, quá tuyệt bác ơi


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

™ PVN Huy Hiệu ™
Pantsu Queen Of Bra Handsome 
Số Huy Hiệu : 3

Trả lời kèm trích dẫn
  #22  
Old 15-01-2017, 15:55
Ảnh đại diện của Asm65816
Asm65816 Asm65816 is offline
 
Tham gia ngày: Dec 2016
Bài gởi: 18
Thanks: 0
Thanked 12 Times in 4 Posts
Default

Lồng thêm tiếng Việt vào rất dễ. Nhưng vấn đề là không tìm được giọng phù hợp với không có thiết bị thu âm tốt.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Trả lời kèm trích dẫn
  #23  
Old 16-01-2017, 09:20
tamkyvip tamkyvip is offline
 
Tham gia ngày: Oct 2014
Bài gởi: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hay quá, có Việt Hóa rồi, để chiều về làm ngay, lâu rồi không vào forum thấy nhiều cái hay nên dùng quá. Cảm ơn bác thớt nhé.

Canhnhe.com là trang chia sẻ
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
, chia sẻ các
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
nhanh nhất, tốt nhất giúp bạn mua sắm an toàn và tiết kiệm nhất
Trả lời kèm trích dẫn
  #24  
Old 16-01-2017, 10:40
linhdz15 linhdz15 is offline
 
Tham gia ngày: Nov 2016
Bài gởi: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Default

haha. việt hóa kiểu này chơi mới sướng


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Trả lời kèm trích dẫn
  #25  
Old 16-01-2017, 18:26
Ảnh đại diện của Asm65816
Asm65816 Asm65816 is offline
 
Tham gia ngày: Dec 2016
Bài gởi: 18
Thanks: 0
Thanked 12 Times in 4 Posts
Default







To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Trả lời kèm trích dẫn
  #26  
Old 16-01-2017, 18:55
Ảnh đại diện của trứng cút
trứng cút trứng cút is offline
 
Tham gia ngày: Sep 2012
Bài gởi: 91
Thanks: 53
Thanked 47 Times in 43 Posts
Default

Làm tiếp cái bài add thêm char cho font đi bác , mà char 1 byte nhé , char 2 byte nó lòi thêm khoàng trắng nhìn khó chịu quá


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Trả lời kèm trích dẫn
  #27  
Old 16-01-2017, 20:24
Haulis Haulis is offline
 
Tham gia ngày: Jan 2017
Bài gởi: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Gửi tin nhắn qua AIM tới Haulis
Default

đây là game ạ. con gái chơi có được không ạ?

Giới thiệu cho bạn
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
chất lượng tại Hà Nội, đồng thời cung cấp cho bạn những khóa
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
từ cơ bản đến nâng cao, hướng dẫn nói
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Trả lời kèm trích dẫn
  #28  
Old 16-01-2017, 20:54
Ảnh đại diện của Asm65816
Asm65816 Asm65816 is offline
 
Tham gia ngày: Dec 2016
Bài gởi: 18
Thanks: 0
Thanked 12 Times in 4 Posts
Default

Trích Dẫn:
Nguyên văn bởi trứng cút View Post
Làm tiếp cái bài add thêm char cho font đi bác , mà char 1 byte nhé , char 2 byte nó lòi thêm khoàng trắng nhìn khó chịu quá
Bạn thấy font trong video có lòi khoảng trắng không?


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Trả lời kèm trích dẫn
  #29  
Old 16-01-2017, 20:55
Ảnh đại diện của Asm65816
Asm65816 Asm65816 is offline
 
Tham gia ngày: Dec 2016
Bài gởi: 18
Thanks: 0
Thanked 12 Times in 4 Posts
Default

Trích Dẫn:
Nguyên văn bởi Haulis View Post
đây là game ạ. con gái chơi có được không ạ?
Con gái chơi được nhé bạn.



To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Trả lời kèm trích dẫn
  #30  
Old 19-01-2017, 23:50
Ảnh đại diện của Asm65816
Asm65816 Asm65816 is offline
 
Tham gia ngày: Dec 2016
Bài gởi: 18
Thanks: 0
Thanked 12 Times in 4 Posts
Default

Hướng dẫn cụ thể hơn cho phần tìm Pointer.

Tiền đề là đã xác định được text trong Ram cũng như trong Iso.
Như trong hình, đoạn text mở đầu game nằm ở vị trí 0x9DE9183. Giờ tìm pointer của nó như sau:



Giờ ta đặt Read break point tại 0x9DE9183. CPU sẽ dừng xử lý ngay trước khi nó đọc địa chỉ này.



Và ta được:
- Tại 0x8807804 thực hiện lệnh: LB t1, 0x0 (a3) với ý nghĩa: ghi giá trị của 01 byte tại địa chỉ chứa trong a3 vào t1. Lúc này a3 = 9DE9183, tức địa chỉ của câu thoại ta đang cần tìm pointer.



Giờ ta truy ngược về trước để tìm ra giá trị 9DE9183 được ghi vào a3 từ lúc nào. Nhìn lên 5 dòng lệnh, ta thấy:

- Tại 88077F0 thực hiện lệnh: Move a3, a1. Có nghĩa là giá trị 9DE9183 của a3 được chuyển từ a1 sang.
- Giờ ta lại truy ngược, giá trị này từ đâu đưa vào a1.
- Nhìn lên 4 dòng ta thấy: tại z_un_88077E4 thực hiện lệnh: Andi a3, a1, 0x3.
- Như vậy có 2 khả năng xảy ra: dòng chảy của lệnh chảy từ 88077E0 đến 88077E4; hoặc từ một nơi khác nhảy đến 88077E4.
- Thử đặt Execute break point tại 88077E0 (bằng cách double click địa chỉ này trong cửa sổ debug), load lại game thì thấy CPU không dừng. Điều này chứng tỏ dòng lệnh không chảy từ 88077E0 đến 88077E4.
- Vậy làm sao xác định được dòng lệnh chảy từ đâu đến 88077E4? Hãy xem register RA, hoặc click vào tab RA.
- Register RA chứa địa chỉ trở về sau khi dòng lệnh nhảy đến một nơi nào đó (ở đây là 88077E4).
- Giá trị hiện tại của RA là 8A56304.



Như vậy có thể thấy:

- Tại 8A562F8 thực hiện lệnh: Move a1, s3: chuyển nội dung của s3 sang a1
- Sau đó tại 8A562FC thực hiện lệnh: Jal z_un_08877e4: nhảy đến subroutine 8877E4 (trước khi nhảy thực hiện Move a2, aw). Sau khi hoàn thành mọi công việc ở subroutine này, dòng lệnh lại trở về 8A56308.
- Điều này cho thấy giá trị 9DE9183, địa chỉ của text, bắt nguồn từ s3. Giờ ta tiếp tục truy từ đâu chuyển vào s3.




- Nhìn lên trên để truy ngược dòng lệnh, ta thấy tại 8A56274 xử lý: Move s3, s1. Để ý thì thấy lúc này giá trị của s3 là 84001E0, và sau lệnh này thì nó sẽ mang giá trị 9DE9183 nhận được từ s1.
- Tiếp theo ta truy tìm 9DE9183 được ghi vào s1 từ khi nào.
- Lại tiếp tục dò ngược về trước, ta thấy tại 8A561F8 xử lý: Move s1, a2. Cho thấy giá trị 9DE9183 xuất phát từ a2. Giờ lại truy tìm từ đâu ghi vào a2.



- Lại nhìn lên trên cách 4 dòng code, thấy: z_un_8A561E8. Làm tương tự như chỗ z_un lần trước, ta xác định được dòng chảy của code là từ 8A54834: Move a2, t0 rồi nhảy đến subroutine z_un_8A561E8. Trước khi nhảy đến đây thì CPU đã chuyển giá từ t0 sang a2. Vậy ta tiếp tục dò tìm từ đâu chuyển vào t0.
- Tại 8A54820 ta thấy: Move t0, a1. Vậy giá trị 9DE9183 xuất phát từ a1.



- Để ý mũi tên màu da cam chỉ vào 8A54820: Move t0, a1. Mũi tên này cho hay đã có sự phân nhánh từ trước đó, tại vị trí nào đó rẽ sang 8A54820.
- Giờ kéo lên trên và ta thấy đầu mũi tên xuất phát từ 8A54774: BEQ t0, zero, 0x08A54820. Nếu t0 = 0 thì sẽ nhảy tới 8A54820. Thử đặt Execute break point tại 8A54774 thì sẽ thấy giá trị t0 lúc này là 4B, khác 0. Như vậy dòng chảy không nhảy cóc đến 8A54820 mà thực hiện từng lệnh một đến địa chỉ 8A54820. Và a1 lúc này vẫn là 9DE9183.



- Nhìn lên thấy z_un_8A54758: Addiu sp, sp, -0x10. Giống như trước, xem giá trị RA, lúc này là: 8A5291C. Như vậy dòng chảy của lệnh xuất phát từ 8A52XYZ nhảy đến subroutine z_un_8A54758.
- Đặt Execute break point tại 8A52914: Jal z_un_8A54758. CPU dừng ngay trước lệnh này, và nhìn lên 3 dòng ta thấy tại 8A52908: Move a1, a2.
- Điều này cho thấy 9DE9183 được chuyển từ a2 sang a1. Ta tiếp tục tìm nó từ đâu chuyển vào a2.



- Tiếp tục nhìn lên, tại z_un_8A528D8: Addiu, sp, sp, -0x60. Giống như trước, bằng cách xem RA ta dễ dàng xác định dòng chảy xuất phát từ 8ABBXYZ nhảy đến 8A528D8.
- Tại 8ABBE9C: Move a2, s2. Lệnh này cho thấy giá trị 9DE9183 được chuyển từ s2 sang a2.



- Chú ý tại 8ABBE88: Jal z_un_880CE3C. Có thể khi nhảy tới routine 880CE3C thì s2 nhận được giá trị 9DE9183 từ đâu đó. Nhưng khi đặt thử Execute break point tại 8ABBE88 thì ta thấy s2 vẫn đang giữ giá trị 9DE9183. Nghĩa là nó đã nhận từ trước đó và không liên quan đến subroutine z_un_880CE3C.
- Từ 8ABBE88: Jal z_un_880CE3C truy ngược về trước 3 dòng, ta thấy tại 8ABBE7C: move s2, a1. Vậy giá trị của s2 đến từ a1.
- Nhìn lên z_un_8ABBE64: Addiu, sp, sp, -0x20. Tương tự như trước, xem RA để xác định dòng code chảy từ đâu đến đây.



- Giá trị Ra lúc này là 8ABBF40, cho thấy dòng code chảy từ 8ABBFXY đến z_un_8ABBE64.
- Tìm đến 8ABBF40, nhìn lên trên, tại 8ABBF34: move a1, v0. Điều này cho thấy giá trị 9DE9183 đến từ v0.



- Từ 8ABBF34: move a1, v0 nhìn lên 3 dòng: 8ABBF28: JAL z_un_8ABB4B0. Đặt Execute break point tại đây thì thấy v0 lúc này mang giá trị 9DE8E68, không phải giá trị ta cần tìm. Như vậy có thể kết luận 9DE9183 đến từ đâu đó trong subroutine z_un_8ABB4B0 này.



- Sau khi nhảy đến z_un_8ABB4B0, quan sát routine này (hoặc click vào "Step Into" để bám theo từng lệnh một) ta thấy có đoạn:

8ABB4E0: LW v0, 0x4 (t0) chứa giá trị tại địa chỉ (t0 + 4) vào v0.
8ABB4E4: Addu v0, a0, v0: v0= a0 + v0.

Như vậy đây là 2 dòng xử lý làm thay đổi giá trị của v0.



Đi vào chi tiết từng dòng lệnh:

8ABB4E0: LW v0, 0x4 (t0) chứa giá trị tại địa chỉ (t0 + 4) vào v0.

Lúc này t0= 9DE8E10. Vậy ta được v0= giá trị tại (9DE8E10 + 4 = 9DE8E14). Nhảy tới địa chỉ 0x9DE8E14 trong Ram, ta được giá trị 02BB.

(PSP kiểu Little Endian)






Ở dòng tiếp theo:

8ABB4E4: Addu v0, a0, v0: v0= a0 + v0. Lúc này a0= 9DE8EC8. Dễ dàng nhận thấy đây là địa chỉ bắt đầu của cả khối text.

Như vậy v0= 9DE8EC8 + 02BB=9DE9183. Đây chính là địa chỉ bắt đầu câu text trong đoạn mở đầu mà ta cần tìm.



Như vậy có thể kết luận: giá trị 02BB tại 9DE8E14 trong Ram chính là Pointer chỉ đến địa chỉ câu text tại 9DE9183. Từ đó dễ dàng tìm ra vị trí của Pointer này trong file R6_INTRODUCE.BIN bằng chức năng tìm kiếm của Hex editor.

Và ta được công thức: địa chỉ bắt đầu text = địa chỉ bắt đầu cả khối text + giá trị Pointer.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Trả lời kèm trích dẫn
The Following 2 Users Say Thank You to Asm65816 For This Useful Post:
๖ۣۜSam-Sama (20-01-2017), voiduoidai (20-01-2017)
Trả lời

Tags
dẫn, god, hóa, hướng, việt, war

Ðiều Chỉnh

Quuyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt



Múi giờ GMT. Hiện tại là 16:10.


Powered by: vBulletin v3.8.2 Copyright ©2000-2017, Jelsoft Enterprises Ltd.

538
Lượt xem