PDA

View Full Version : OFFSET cơ bản MU !



sontung306
30-06-10, 10:01 AM
Mình đang trong giai đoạn tập tành code thử GS nhưng mà ko biết làm thế nào để lấy offset để dev .

Ví dụ bây giờ mình cần offset price của Blue Feather thì phải làm thế nào ???

Có đọc 1 topic của Eddy thấy ông nói : muốn làm gì đó thì phải tự mò , nhưng mà mò mãi chẳng ra nên đành phải hỏi thôi ^^ .

xom1b
30-06-10, 11:46 AM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
down cái tut đó về. Tuy là 1.00.18 nhưng nếu bạn muốn làm trên GS khác thì nó chỉ khác offset thôi. Đây là tut căn bản về add options, mình có ý định trans ra tiếng việt nhưng phải khi nào có t/g rảnh đã :)). Chúc bạn thành công

Hoặc qua box Release lấy source của mình về xem :D.
Mong sao clb có nhiều câu hỏi như thế này :D

MrAaa
30-06-10, 12:26 PM
Mình đang trong giai đoạn tập tành code thử GS nhưng mà ko biết làm thế nào để lấy offset để dev .

Ví dụ bây giờ mình cần offset price của Blue Feather thì phải làm thế nào ???

Có đọc 1 topic của Eddy thấy ông nói : muốn làm gì đó thì phải tự mò , nhưng mà mò mãi chẳng ra nên đành phải hỏi thôi ^^ .

Hỏi thằng Eddy thì vạch đầu gối ra mà hỏi, đến bỏ tiền ra mua Server của nó rồi hỏi nó, nó còn không thèm trả lời.

caothuphutho
01-07-10, 11:12 AM
theo kinh nghiệm của mình trace Offset thì làm như sau ví dụ muốn tìm Offset của UDPPort ta bắt đầu công việc: load cái GS vào Olly kick chuột phải ở của sổ CPU chọn search all/text string -->kéo chuỗi cửa sổ Search lên trên cùng, kick chuột phải chọn "Search for text" tích vào mục "Case sensitive" Gõ câu lệnh muốn tìm là "UDP" vào và kick "OK". Olly sẽ đưa ta đến đoạn text "UDP Socket create error" bạn kick vào dòng text đó!.
nó sẽ jum đến của sổ CPU chứa đoạn code có lệnh gọi đoạn text đó :


0057D17B . 68 B4717D00 PUSH GameServ.007D71B4 ; ASCII "UDP Socket create error"
0057D180 . E8 477CE8FF CALL GameServ.00404DCC
0057D185 . 83C4 04 ADD ESP,4
0057D188 . E9 C6100000 JMP GameServ.0057E253
0057D18D > B9 507B0F04 MOV ECX,GameServ.040F7B50
0057D192 . E8 F881E8FF CALL GameServ.0040538F
0057D197 . 85C0 TEST EAX,EAX
0057D199 . 75 12 JNZ SHORT GameServ.0057D1AD
0057D19B . 68 B4717D00 PUSH GameServ.007D71B4 ; ASCII "UDP Socket create error"
0057D1A0 . E8 277CE8FF CALL GameServ.00404DCC
0057D1A5 . 83C4 04 ADD ESP,4
0057D1A8 . E9 A6100000 JMP GameServ.0057E253
0057D1AD > 68 66EA0000 PUSH 0EA66 <----- Code UDPPort


nhìn xuống phía dưới vài dòng lệnh ta thấy câu lệnh "PUSH 0EA66" và ta nhận thấy Offset chứa câu lệnh này là "0057D1AD" đây chính là offset UDDPort của GS. Vậy là bạn chỉ việc Option thôi.
Chú ý vì ngôn ngữ ASM phân biệt chữ hoa và chữ thường nên lúc Search Text các bạn nhớ làm đúng.
--> Trên đây là hướng dẫn cơ bản nhất để tìm ra một offset và tôt làm trên GS_CS 1.00.88 các GS khác cũng làm tương tự mà thôi, tất cả còn dựa vào "trình" ASM của bạn + Kinh nghiệm làm MU thì bạn sẽ trace được Offset một cách dễ dàng.
Chúc bạn thành công !

sontung306
02-07-10, 09:45 AM
mấy ngày nay không vào được clb , hjx , ngóng mãi , cuối cùng cũng có mấy bạn reply ^^! Cám ơn mọi người nhiều lắm ...