Trang 2 trên tổng số 18 Đầu tiênĐầu tiên 123412... Cuối cùngCuối cùng
Từ 11 tới 20 trên tổng số 179 kết quả

Đề tài: Hướng dẫn viết hack game (game trainer)

  1. #11
    Ngày gia nhập
    09 2008
    Bài viết
    223

    Mặc định Hướng dẫn viết hack game (game trainer)

    Ở phần đóng băng, có 1 số cách khá đơn giản

    Ví dụ có 1 biến timer được thiết đặt sẵn (fix cứng hoặc đặt khi runtime)

    C++ Code:
    1. int timer = 60000;  // 60s

    Ví dụ đoạn loop của Timer như sau
    C++ Code:
    1. _header:
    2.   timer = timer - 1
    3.   if (timer <= 0)
    4.   {
    5.      //Do some thing
    6.   }
    7.  
    8.   sleep(1000);
    9. goto _header:

    Ta có 1 vài cách
    1. Thay số 1 thành 0 (timer = timer - 0)
    2. Tay phép trừ thành cộng (SUB [0xEC] thành ADD [0xC4])

    Hồi trước, gặp 1 thằng điên nó xét DK như sau

    if (timer == 0) ....

    thế là mình set luôn giá trị của timer (nó fix cứng là 100000) là -1. Trừ mãi mà biến timer cũng != 0 =))
    Ân oán giang hồ nuôi tôi lớn
    Cuộc đời khốn nạn dạy tôi khôn
    Không đâm không chém đời không nể
    Không tiền không bạc gái không theo

    ----------------------
    Visit my blog: http://nova-soft.net/

  2. #12
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    Trích dẫn Nguyên bản được gửi bởi gianghoplus Xem bài viết
    Ở phần đóng băng, có 1 số cách khá đơn giản

    Ví dụ có 1 biến timer được thiết đặt sẵn (fix cứng hoặc đặt khi runtime)

    C++ code:

    int timer = 60000; // 60s




    Ví dụ đoạn loop của Timer như sau
    C++ code:

    _header:
    timer = timer - 1
    if (timer <= 0)
    {
    //Do some thing
    }

    sleep(1000);
    goto _header:





    Ta có 1 vài cách
    1. Thay số 1 thành 0 (timer = timer - 0)
    2. Tay phép trừ thành cộng (SUB [0xEC] thành ADD [0xC4])

    Hồi trước, gặp 1 thằng điên nó xét DK như sau

    if (timer == 0) ....

    thế là mình set luôn giá trị của timer (nó fix cứng là 100000) là -1. Trừ mãi mà biến timer cũng != 0 =))
    cám ơn giang hồ, tớ hiểu ý giang hồ rồi, hay lắm, thêm 1 ý tưởng nữa vô...
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  3. #13
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    đã thử theo cách của giang hồ, cũng vô hạn time , hờ hờ hờ

    mà có 1 vấn đề nhỏ xíu : thanh timebar lại ko ở dạng nguyên thể (nó cứ tụt hẳn đi, trông ko đẹp) và new game thì new game thì nó lại set timer về giá trị mặc định nên phải set lại lần nữa
    hj hj hj
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  4. #14
    Ngày gia nhập
    08 2009
    Nơi ở
    Tuyên Quang > Hà nội
    Bài viết
    53

    Trích dẫn Nguyên bản được gửi bởi langman Xem bài viết
    đã thử theo cách của giang hồ, cũng vô hạn time , hờ hờ hờ

    mà có 1 vấn đề nhỏ xíu : thanh timebar lại ko ở dạng nguyên thể (nó cứ tụt hẳn đi, trông ko đẹp) và new game thì new game thì nó lại set timer về giá trị mặc định nên phải set lại lần nữa
    hj hj hj
    code demo luôn được không cậu (mình không có biết ASM > không coi được code sau khi decompiler :( nền chỉ biết chờ kậu demo thôi :"> )
    thank vì bài viết chi tiết, có ích :">

    p/s : ngoài ra với những game full screen có thể tìm processID theo tên chương trình bằng hàm dưới này :

    C Code:
    1. DWORD GetPID(WCHAR pname[])  
    2. {    
    3.     PROCESSENTRY32 pEntry;    
    4.     HANDLE hSnapshot = NULL;    
    5.     pEntry.dwSize = sizeof(PROCESSENTRY32);    
    6.     hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    7.     Process32First(hSnapshot,&pEntry);    
    8.     do {        
    9.         if(wcscmp(pEntry.szExeFile, pname) == 0)
    10.             return pEntry.th32ProcessID;    
    11.     } while(Process32Next(hSnapshot,&pEntry));
    12.     return 0;  
    13. }

    Mong sớm được đọc chap 5 của kậu :">

  5. #15
    Ngày gia nhập
    03 2008
    Bài viết
    64

    hay quá,mở manh dc nhiều cái
    cho mình hỏi ngu tí,cái cơ chế của mấy chương trình như auto võ lâm..nó có giống như trình bày trên ko nhỉ

  6. #16
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Mặc định Hướng dẫn viết hack game (game trainer)

    Trích dẫn Nguyên bản được gửi bởi Taylaptrinh Xem bài viết
    hay quá,mở manh dc nhiều cái
    cho mình hỏi ngu tí,cái cơ chế của mấy chương trình như auto võ lâm..nó có giống như trình bày trên ko nhỉ
    Auto mấy game kiểu võ lâm
    + Kiểm tra chương trình có chạy hay không, nếu có, get handle của window để send các key auto
    + Kiểm tra độ phân giải, xem Võ lâm chạy full screen hay window với kích thứoc là bao nhiêu
    + Xác định các điểm pixel và vị trí các thứ trong game. Ví dụ như skill, gold, coord
    + Chọn thao tác và kiểm tra, nếu good thì send key auto, không thì tìm cách khác để xem điều kiện auto
    ....blah blah ..
    None!

  7. #17
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    Trích dẫn Nguyên bản được gửi bởi Xcross87 Xem bài viết
    Auto mấy game kiểu võ lâm
    + Kiểm tra chương trình có chạy hay không, nếu có, get handle của window để send các key auto
    + Kiểm tra độ phân giải, xem Võ lâm chạy full screen hay window với kích thứoc là bao nhiêu
    + Xác định các điểm pixel và vị trí các thứ trong game. Ví dụ như skill, gold, coord
    + Chọn thao tác và kiểm tra, nếu good thì send key auto, không thì tìm cách khác để xem điều kiện auto
    ....blah blah ..
    Các ý cậu nói đều đúng rồi, tớ chỉ xin bổ xung thêm chút xíu
    + 1 số auto thì quyết định gửi key vào thông qua các hàm api chuẩn
    + ở trong võ lâm có xây dựng lên 1 hệ thống Command giống như là cmd, 1 số auto quyết định send lệnh vô command này ví dụ ngồi, xuống ngựa, ......
    + với các auto xịn như vl auto thì nó ko send key auto mà nó thực hiện lời gọi đến các hàm có sẵn trong võ lâm phục vụ cho các việc auto
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  8. #18
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    Trích dẫn Nguyên bản được gửi bởi Con Nít Xem bài viết
    code demo luôn được không cậu (mình không có biết ASM > không coi được code sau khi decompiler :( nền chỉ biết chờ kậu demo thôi :"> )
    thank vì bài viết chi tiết, có ích :">

    p/s : ngoài ra với những game full screen có thể tìm processID theo tên chương trình bằng hàm dưới này :

    C Code:
    1. DWORD GetPID(WCHAR pname[])  
    2. {    
    3.     PROCESSENTRY32 pEntry;    
    4.     HANDLE hSnapshot = NULL;    
    5.     pEntry.dwSize = sizeof(PROCESSENTRY32);    
    6.     hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    7.     Process32First(hSnapshot,&pEntry);    
    8.     do {        
    9.         if(wcscmp(pEntry.szExeFile, pname) == 0)
    10.             return pEntry.th32ProcessID;    
    11.     } while(Process32Next(hSnapshot,&pEntry));
    12.     return 0;  
    13. }

    Mong sớm được đọc chap 5 của kậu :">
    ok cậu tớ sẽ cố gắng sớm up demo lên sớm nhất(hum nay cuối tuần tớ vìa quê oy)
    cám ơn cậu đã share code với tìm process với pe file name hj hj hj

    về asm thì ở chap 4 tớ có phân tích sơ sơ đủ để các bạn ko thích asm cũng có thể hiểu mà.......

    thật ra cái biến time này nó là 1 biến float nhưng khi memory map tớ còn phát hiện ra như sau :
    giả sử 4 byte của biến float đó là abcd
    bỏ qua 2 byte a,b quan tâm đến c d tớ thấy
    + c chạy từ 0 đến 1 giá trị max rồi lại trở về 0 chạy tiếp, theo nhịp của trò chơi,
    + d càng nhỏ thì c chạy càng nhanh, khi d bằng 69 thì bắt đầu chạy từ từ, khi d cao đến gần 80 thì c chạy chậm hẳn
    + d=0 thì c chạy cực nhanh, cỡ mini dây, vụt 1 phát, d thành 69 luôn và c bắt đầu chạy từ từ với tộc dộ chậm dần


    và vì vậy :
    + nếu set d thành số nhỏ thì ngay lập tức trở về bình thường
    + nếu set d thành -1 thì có nghĩa d chính là 255 (vì nó là 8bit mà) sẽ overflow ngay
    + nếu set cả biến float 4byte này thành 1 số âm thì theo cách tớ vừa mô tả ở trên d sẽ rất nhanh chóng phục hồi lại thành 69 và ko có tác dụng
    + nếu set cả biến float 4byte này thành 1 số lớn hơn mức cực đại thì sẽ kết thúc trận đấu luôn

    ==> thay đổi biến time này ko có hiệu quả
    nhưng suy ra 1 cách đó là ta làm đóng băng giống như các cheat engine đóng băng : cứ 100ms thì lại set d=0 một lần, như thế thanh time bar vẫn max, time vẫn vô cùng





    2. thay đổi bản chất biểu thức tính toán :
    + tham số, biểu thức ở đây hơi loằng ngoằng nên việc thay đổi chắc hơi nan giải tí
    + đổi phép toán hôm trước tớ có demo đổi thử giá trị biểu thức, chả hiểu sao thanh time bar nó dài dãi dài dài ra, để mai tớ lên tớ xem còn đoạn đó ko up lên
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  9. #19
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    ơ mà set đóng băng thời gian tớ có demo ở bên chap4 rồi mà
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  10. #20
    Ngày gia nhập
    08 2009
    Nơi ở
    Tuyên Quang > Hà nội
    Bài viết
    53

    Trích dẫn Nguyên bản được gửi bởi langman Xem bài viết
    ơ mà set đóng băng thời gian tớ có demo ở bên chap4 rồi mà

    tớ có đọc rồi ý tớ là demo theo nhiều kiểu đó theo cả cácb giangho nói đó (làm phiền cậu rồi :P)

    P/s : ASM có phải hiểu sâu mới đọc được code để có thể hiểu được cụ thể chương trình xử lý biến đó ở đâu và xử lý như thế nào không ? vì như vậy mới có thể tự chỉnh sửa được theo ý mình :">

Các đề tài tương tự

  1. Web game:choigameonline.biz-Chơi game online, game vui, game mini, game flash
    Gửi bởi timkiemvn002 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 27-08-2014, 11:08 AM
  2. Lập trình Game | Game Line98 viết bằng C#
    Gửi bởi ngocbig trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 23
    Bài viết cuối: 04-01-2014, 02:14 AM
  3. game online | game mobile| game dien thoai| game casual} game dao vang online
    Gửi bởi ngaytanthe1 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 15-10-2013, 10:09 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn