青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小明思考

高性能服務器端計算
posts - 70, comments - 428, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

為英雄無敵3寫個游戲修改器

Posted on 2005-12-19 11:37 小明 閱讀(17131) 評論(7)  編輯 收藏 引用 所屬分類: Win32Game Development
我是比較鐵桿的英雄無敵3的fans,在網上看到這樣的文章:http://game.china.com/zh_cn/play/10002765/20021113/11362720.html

就是讓我方英雄學會所有技能,真的蠻爽的
學會28項技能修改法
heroes3.jpg

  首先,把你的英雄的士兵調到前面幾格來,接著用FPE來搜索。例如你的士兵數:第一格3,第二格14,第三格4,那么就用 3,0,14,0,4,0 來搜索,就可以找到地址。顯示為:
  士兵種類- FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
   FF FF FF FF FF FF FF FF FF FF FF FF 03 00 00 00-士兵數量
   0E 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08
   09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
   25 26 27 28 01 02 03 04 05 06 07 08 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   04 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF
   FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
   FF或00作為一格,每4格是代表一種屬性,物品, 狀態等等。前面28格是士兵的種類,接下來28格是士兵的數量。例如: 英雄可帶7種士兵,你要每種都是天使,那么把
   03 00 00 00 前面的FF FF FF FF 改為0D 00 00 00。 如果你要數量100, 那么把
   03 00 00 00 改為64 00 00 00。 士兵的種類是這樣分的:00 00 00 00 是槍兵,
   01 00 00 00 是 進化一級的槍兵,02 00 00 00 是弓箭手,03 00 00 00 是神箭手。
   如此類推。
  
   從03那一格開始數,28格后就是英雄的技能等級,接著的28格是英雄的技能,
   也就是從01到28代表的是英雄的技能等級,技能等級最多只能是3。
   01 箭術等級 02 尋路術等級 03 后勤學等級
   04 偵察術等級 05 外交術等級 06 航海術等級
   07 領導術等級 08 智慧術等級 09 神秘術等級
   10 幸運術等級 11 彈道術等級 12 鷹眼術等級
   13 招魂術等級 14 理財術等級 15 火系魔法等級
   16 氣系魔法等級 17 水系魔法等級 18 土系魔法等級
   19 學術等級 20 戰術等級 21 炮術等級
   22 學習能力等級 23 進攻術等級 24 防御術等級

但是每次使用FPE真的很麻煩,我又是很懶的人。FPE可以做到的事情,我也可以做到。
其實游戲修改不過是使用ReadProcessMemoryWriteProcessMemory

花了半天不斷的試驗,終于寫出一個可以用于英雄無敵3.1版的修改器,沒有寫界面(I'm lazy-:)),運行之后就是讓我方英雄學會所有技能。

#include <windows.h>
#include 
<tlhelp32.h>
#include 
<cstdio>

const char MODULE_NAME[] = "Heroes3.exe";

void printError( TCHAR* msg )
{
    DWORD eNum;
    TCHAR sysMsg[
256];
    TCHAR
* p;
    
    eNum 
= GetLastError( );
    FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM 
| FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL, eNum,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), 
// Default language
        sysMsg, 256, NULL );
    
    
// Trim the end of the line and terminate it with a null
    p = sysMsg;
    
while( ( *> 31 ) || ( *== 9 ) )
        
++p;
    
do { *p-- = 0; } while( ( p >= sysMsg ) &&
        ( ( 
*== '.' ) || ( *< 33 ) ) );
    
    
// Display the message
    printf( "WARNING: %s failed with error %d (%s)\n", msg, eNum, sysMsg );
}


DWORD findProcessId(
const char *module)
{
    DWORD result 
= -1;
    HANDLE hProcessSnap;
    
    
// Take a snapshot of all processes in the system.
    hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
    
if( hProcessSnap == INVALID_HANDLE_VALUE )
    {
        printError( 
"CreateToolhelp32Snapshot (of processes)" );
        
return result;
    }
    
    PROCESSENTRY32 pe32;
    
// Set the size of the structure before using it.
    pe32.dwSize = sizeof( PROCESSENTRY32 );
    
    
// Retrieve information about the first process,
    
// and exit if unsuccessful
    if!Process32First( hProcessSnap, &pe32 ) )
    {
        printError( 
"Process32First" );  // Show cause of failure
        CloseHandle( hProcessSnap );     // Must clean up the snapshot object!
        return result;
    }
    
    
// Now walk the snapshot of processes, and
    
// display information about each process in turn
    do
    {
        
if(stricmp(pe32.szExeFile,module)==0)
        {
            printf( 
"find process:  %s\n", module );
            result 
= pe32.th32ProcessID;
            
break;
        }
        
    } 
while( Process32Next( hProcessSnap, &pe32 ) );
    
    CloseHandle( hProcessSnap );
    
return result;
}

int main(int argc,char *argv[])
{
    DWORD h3pid 
= -1;
    
    h3pid 
=  findProcessId(MODULE_NAME);
    
if(h3pid == -1)
    {
        printf(
"can't find %s in memory,please make sure the program started!\n",MODULE_NAME);
        
return 1;
    }

    HANDLE h3 
= OpenProcess( PROCESS_ALL_ACCESS, FALSE, h3pid );
    
if( h3 == NULL )
    {
      printError( 
"OpenProcess" );
      
return 1;
    }

    unsigned 
long sideOffset=0x824994;
    unsigned 
char side = 0xff;
    
if(!ReadProcessMemory(h3,(LPCVOID)sideOffset,&side,1,0)) //查找我方的顏色
    {
        printError( 
"ReadProcessMemory" );
        
return 1;
    }

    
if(side!=0xff)
    {
        printf(
"find current side:%d\n",(int)side);
    }
    
else
    {
        printf(
"can't find current side\n");
        side 
= 0;
    }

    unsigned 
long heroBaseAddress = 0x15216ab;  //hero name start
    unsigned char name[20]={0};
    unsigned 
long temp = heroBaseAddress-1;

    
char b[28]; //28種技能
    
int size = sizeof(b);
    memset(b,
3,size);
    b[
12]=0;//不學招魂術

    
for(int i=0;i<=155;++i) //一共156個Hero
    {
        
if(!ReadProcessMemory(h3,(LPCVOID)temp,name,sizeof(name),0))
        {
            printError( 
"ReadProcessMemory" );
            
return 1;
        }
        
if(name[0]==side)
        {
            printf(
"find:%s\t",name+1);
            
if(!WriteProcessMemory(h3,(LPVOID)(temp+0xA7),b,size,0))
            {
                printError( 
"WriteProcessMemory" );
                
return 1;
            }
            
else
            {
                printf(
"update skill sucess!\n");
            }
        }
        temp 
+= 0x492;
    }

    CloseHandle(h3);
    
return 0;
}


附加:
讓我方英雄所有英雄學會除了招魂術的以外的27種技能的小程序

以前英雄世界也有一個這樣的程序,但是版本太老,不能用了。

使用版本:中文版3.1,其他版本沒有測試

使用方法:進入游戲后,運行程序

Download: http://www.shnenglu.com/Files/sandy/h3c.zip

Feedback

# re: 為英雄無敵3寫個游戲修改器  回復  更多評論   

2005-12-19 15:10 by 小軟
玩游戲你也作弊,我就從沒看你寫的工具有界面的:(

# re: 為英雄無敵3寫個游戲修改器  回復  更多評論   

2005-12-28 14:41 by Flyingis
有意思

# re: 為英雄無敵3寫個游戲修改器  回復  更多評論   

2006-11-01 13:12 by zlot
難道說......

# re: 為英雄無敵3寫個游戲修改器  回復  更多評論   

2006-12-10 22:53 by maber

# re: 為英雄無敵3寫個游戲修改器  回復  更多評論   

2007-03-04 20:57 by pdd
我也編寫了一個,但是時靈時不靈,似乎地址是變動的。QQ:21384483

# re: 為英雄無敵3寫個游戲修改器  回復  更多評論   

2007-08-30 10:42 by 浪子高達
re: 為英雄無敵3寫個游戲修改器 回復 更多評論
2007-03-04 20:57 by pdd
我也編寫了一個,但是時靈時不靈,似乎地址是變動的。QQ:21384483

變動是因為英雄變了!

QQ:527301899

# re: 為英雄無敵3寫個游戲修改器  回復  更多評論   

2007-08-30 10:43 by 浪子高達
那個,如果有界面的話就好了~大哥...

# re: 為英雄無敵3寫個游戲修改器  回復  更多評論   

2009-04-10 20:32 by MIG39CN
你好
哥們 我下了你的那個小程序
怎么沒發現有什么變化啊?
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线日韩视频| 影音先锋久久资源网| 亚洲新中文字幕| 一区二区日韩| 国产女人精品视频| 乱中年女人伦av一区二区| 免费欧美在线视频| 亚洲午夜视频在线| 性亚洲最疯狂xxxx高清| 亚洲国产欧美不卡在线观看| 亚洲免费观看视频| 国产一区二区三区在线观看免费| 欧美激情一区| 国产精品久久久久久久电影| 久久色中文字幕| 欧美日韩大片一区二区三区| 久久国产一区| 欧美高清视频一二三区| 欧美专区日韩视频| 欧美α欧美αv大片| 亚洲欧美一级二级三级| 裸体歌舞表演一区二区| 亚洲一区二区三区免费观看| 久久精品视频免费播放| 亚洲视频免费在线| 久久频这里精品99香蕉| 亚洲欧美电影院| 久热精品视频在线免费观看 | 久久久久国色av免费观看性色| 亚洲精品色婷婷福利天堂| 欧美亚洲日本网站| 一区二区欧美精品| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲一区亚洲| 欧美成人免费在线| 美女尤物久久精品| 国产精品美女www爽爽爽| 亚洲高清久久| 国内精品久久久久久| 一区二区三区视频在线播放| 亚洲欧洲一区二区三区久久| 久久国产精品久久久久久电车| 亚洲视频欧美视频| 欧美精品一卡二卡| 欧美丰满高潮xxxx喷水动漫| 国产午夜精品全部视频在线播放| 夜夜嗨av色综合久久久综合网| 亚洲国产精品www| 久久久久网址| 久久国产精品亚洲va麻豆| 国产精品成人观看视频免费| 最新国产の精品合集bt伙计| 最新国产成人av网站网址麻豆| 久久久爽爽爽美女图片| 欧美在线一二三四区| 国产精品免费区二区三区观看| 亚洲国产一区二区三区高清| 91久久精品日日躁夜夜躁欧美| 久久九九电影| 欧美sm重口味系列视频在线观看| 国产在线日韩| 久久噜噜噜精品国产亚洲综合| 久久综合999| 激情六月婷婷综合| 久久久亚洲午夜电影| 免费在线国产精品| 在线免费日韩片| 蜜臀av一级做a爰片久久| 欧美黄色精品| 一区二区三区高清不卡| 欧美日韩在线播| 亚洲制服av| 久热爱精品视频线路一| 亚洲第一在线综合网站| 欧美韩日一区| 一区二区三区欧美成人| 欧美一区二区视频97| 国模私拍视频一区| 免费在线亚洲| 一区二区三区日韩精品| 欧美中文在线视频| 在线免费观看日本欧美| 欧美精品在线一区二区| 亚洲一级一区| 美女精品国产| 亚洲视频在线一区观看| 国产亚洲成av人片在线观看桃| 久久亚洲影院| 夜夜爽av福利精品导航| 欧美在线视屏| 亚洲精品中文字幕在线| 国产精品久久久久久久久| 久久国产婷婷国产香蕉| 亚洲精品久久久久| 欧美中文字幕不卡| 日韩视频专区| 国产一区二区0| 欧美激情在线免费观看| 性欧美video另类hd性玩具| 欧美国产专区| 久久av一区二区三区亚洲| 亚洲美女免费视频| 国产丝袜美腿一区二区三区| 欧美极品一区二区三区| 欧美在线视频一区| av不卡在线看| 欧美v国产在线一区二区三区| 亚洲一区二区精品| 91久久精品久久国产性色也91| 国产精品视频不卡| 欧美精品综合| 久久婷婷亚洲| 午夜欧美不卡精品aaaaa| 亚洲人成网站影音先锋播放| 久久免费高清视频| 欧美亚洲在线视频| 亚洲夜晚福利在线观看| 91久久夜色精品国产网站| 国产午夜久久| 国产精品亚洲一区| 欧美日韩一区在线观看视频| 欧美/亚洲一区| 久久久亚洲一区| 欧美在线你懂的| 亚洲欧美日韩天堂| 国产精品99久久久久久人| 亚洲精品一二| 亚洲精品系列| 亚洲日本在线视频观看| 欧美激情一区二区| 亚洲大片一区二区三区| 免费看亚洲片| 美女亚洲精品| 欧美成人嫩草网站| 免费在线亚洲| 欧美成人一区在线| 欧美电影免费观看网站| 美女脱光内衣内裤视频久久影院 | 亚洲国产欧美一区二区三区久久| 国产精品有限公司| 国产模特精品视频久久久久 | 久久日韩精品| 蜜臀av性久久久久蜜臀aⅴ| 美女精品在线观看| 男女激情久久| 欧美精品一区二区三区一线天视频 | 亚洲午夜视频| 亚洲欧美日韩视频一区| 午夜欧美大尺度福利影院在线看| 亚洲欧美在线x视频| 欧美一区二区三区免费大片| 欧美在线日韩| 免费观看亚洲视频大全| 欧美日韩免费一区二区三区| 欧美三级在线| 国产精品夜色7777狼人| 国产一区二区三区精品久久久| 好吊日精品视频| 亚洲精品国产精品乱码不99| 一本色道久久88综合亚洲精品ⅰ| 亚洲午夜视频| 久久影视三级福利片| 亚洲成人在线网| 亚洲社区在线观看| 久久国产精品久久w女人spa| 欧美aⅴ一区二区三区视频| 欧美视频一区二区| 国产伊人精品| 亚洲免费久久| 小黄鸭精品密入口导航| 你懂的国产精品| 亚洲毛片在线免费观看| 午夜精品影院| 欧美精彩视频一区二区三区| 国产精品亚洲成人| 最近看过的日韩成人| 新狼窝色av性久久久久久| 你懂的国产精品| 在线亚洲一区观看| 久热精品视频在线免费观看| 国产精品高潮呻吟| 亚洲大胆av| 欧美亚洲在线视频| 欧美激情亚洲激情| 欧美一区二区三区四区夜夜大片 | 一区二区免费在线播放| 久久久噜噜噜久久狠狠50岁| 欧美午夜在线视频| 亚洲国产一区在线| 久久久国产一区二区三区| 亚洲精品孕妇| 久色成人在线| 韩日视频一区| 性欧美1819sex性高清| 亚洲日韩视频| 美女在线一区二区| 国内精品免费在线观看| 香蕉免费一区二区三区在线观看| 亚洲激情亚洲| 久久天天躁狠狠躁夜夜爽蜜月|