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

小明思考

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

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

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

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

  首先,把你的英雄的士兵調(diào)到前面幾格來,接著用FPE來搜索。例如你的士兵數(shù):第一格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-士兵數(shù)量
   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格是代表一種屬性,物品, 狀態(tài)等等。前面28格是士兵的種類,接下來28格是士兵的數(shù)量。例如: 英雄可帶7種士兵,你要每種都是天使,那么把
   03 00 00 00 前面的FF FF FF FF 改為0D 00 00 00。 如果你要數(shù)量100, 那么把
   03 00 00 00 改為64 00 00 00。 士兵的種類是這樣分的:00 00 00 00 是槍兵,
   01 00 00 00 是 進(jìn)化一級的槍兵,02 00 00 00 是弓箭手,03 00 00 00 是神箭手。
   如此類推。
  
   從03那一格開始數(shù),28格后就是英雄的技能等級,接著的28格是英雄的技能,
   也就是從01到28代表的是英雄的技能等級,技能等級最多只能是3。
   01 箭術(shù)等級 02 尋路術(shù)等級 03 后勤學(xué)等級
   04 偵察術(shù)等級 05 外交術(shù)等級 06 航海術(shù)等級
   07 領(lǐng)導(dǎo)術(shù)等級 08 智慧術(shù)等級 09 神秘術(shù)等級
   10 幸運術(shù)等級 11 彈道術(shù)等級 12 鷹眼術(shù)等級
   13 招魂術(shù)等級 14 理財術(shù)等級 15 火系魔法等級
   16 氣系魔法等級 17 水系魔法等級 18 土系魔法等級
   19 學(xué)術(shù)等級 20 戰(zhàn)術(shù)等級 21 炮術(shù)等級
   22 學(xué)習(xí)能力等級 23 進(jìn)攻術(shù)等級 24 防御術(shù)等級

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

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

#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;//不學(xué)招魂術(shù)

    
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;
}


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

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

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

使用方法:進(jìn)入游戲后,運行程序

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

Feedback

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

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

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

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

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

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

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

2006-12-10 22:53 by maber

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

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

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

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

變動是因為英雄變了!

QQ:527301899

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

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

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

2009-04-10 20:32 by MIG39CN
你好
哥們 我下了你的那個小程序
怎么沒發(fā)現(xiàn)有什么變化???
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久深夜福利免费观看| 久久久久久尹人网香蕉| 欧美日韩在线观看视频| 一本久道久久久| 亚洲精品网址在线观看| 欧美日韩在线观看视频| 亚洲免费婷婷| 欧美伊人久久大香线蕉综合69| 国产精品久久影院| 久久精品天堂| 免费国产一区二区| 在线午夜精品| 亚洲一区中文字幕在线观看| 国产在线不卡精品| 欧美 日韩 国产在线| 欧美国产日本韩| 午夜久久tv| 美女网站在线免费欧美精品| 在线视频你懂得一区二区三区| 亚洲欧美精品在线观看| 伊人久久av导航| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲日本视频| 亚洲精品欧美极品| 国产欧美日韩精品a在线观看| 久久综合久久综合这里只有精品| 免费欧美日韩| 久久国产精彩视频| 欧美激情91| 久久国产精品久久久久久| 久热国产精品| 欧美在线观看你懂的| 欧美成人性生活| 欧美夜福利tv在线| 欧美激情视频一区二区三区在线播放| 亚洲欧美精品伊人久久| 久色婷婷小香蕉久久| 午夜精品成人在线| 欧美激情一区二区三区 | 1024成人网色www| 亚洲毛片一区| 在线观看中文字幕亚洲| 正在播放欧美一区| 亚洲精品久久久蜜桃| 欧美影院一区| 新片速递亚洲合集欧美合集| 欧美ed2k| 欧美阿v一级看视频| 国产欧美一区二区精品性| 亚洲精品乱码久久久久久蜜桃91| 韩国欧美一区| 亚洲欧美一区二区原创| 一本色道久久综合| 欧美凹凸一区二区三区视频| 久久综合久久综合这里只有精品| 国产精品老牛| 一区二区三区色| 99综合在线| 欧美激情一区二区| 亚洲激情视频| 日韩视频中文| 欧美岛国激情| 亚洲国产精品尤物yw在线观看| 国内精品久久久久久| 午夜精品久久久久久久久| 亚洲你懂的在线视频| 欧美日韩不卡| 一区二区三区 在线观看视| aa级大片欧美三级| 欧美美女福利视频| 亚洲精品美女久久7777777| 亚洲日本一区二区| 欧美国产第二页| 最新日韩av| 国产精品99久久久久久人| 欧美三级免费| 在线午夜精品自拍| 欧美在线黄色| 国内精品免费午夜毛片| 久久久久久国产精品mv| 女人香蕉久久**毛片精品| 亚洲国产精品ⅴa在线观看| 欧美va天堂| 一区二区三区欧美成人| 亚洲男女自偷自拍| 国产性做久久久久久| 久久久久久欧美| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美激情亚洲国产| 日韩一区二区精品在线观看| 亚洲午夜精品在线| 国产情侣一区| 欧美在线播放一区二区| 欧美高清一区| 亚洲一级在线| 黄色另类av| 欧美日韩亚洲不卡| 欧美一区二视频在线免费观看| 欧美a级片一区| 一区二区三区久久| 狠狠色综合色区| 欧美精品久久一区二区| 亚洲影视在线| 亚洲国产老妈| 久久久国产成人精品| 日韩系列欧美系列| 国产欧美在线视频| 欧美精品在线一区二区| 欧美制服第一页| 日韩亚洲欧美成人| 免费不卡亚洲欧美| 亚洲欧美在线x视频| 亚洲国产美女久久久久| 国产精品日本一区二区| 欧美成人资源| 久久精品国产成人| 一区二区三区精品国产| 欧美大片一区二区三区| 欧美一区二区久久久| 一卡二卡3卡四卡高清精品视频 | 老司机一区二区| 亚洲综合色噜噜狠狠| 最新亚洲视频| 久久伊人精品天天| 欧美一区二区三区免费大片| 亚洲国产你懂的| 国产一区二区三区久久久| 欧美性天天影院| 欧美国产日韩一区二区三区| 久久精品99国产精品日本| 亚洲私人影院| 亚洲精选中文字幕| 亚洲电影在线观看| 女同一区二区| 另类天堂av| 久久夜色精品国产欧美乱极品| 午夜精品免费| 亚洲欧美成人| 亚洲一区久久| 亚洲一区二区少妇| 亚洲一区二区三区午夜| 一本色道久久综合狠狠躁的推荐| 亚洲精品美女在线观看播放| 亚洲国产精品成人va在线观看| 国产亚洲精品久久久| 国产情人节一区| 国产日本欧美一区二区三区在线| 国产精品麻豆成人av电影艾秋| 欧美三级韩国三级日本三斤| 欧美日韩视频在线一区二区观看视频| 免费国产一区二区| 欧美二区在线| 欧美日韩成人一区二区三区| 欧美日韩国产综合网| 欧美手机在线视频| 国产精品久久久久久五月尺| 国产精品系列在线| 国产亚洲精品久久久久动| 国产一区在线看| 亚洲二区视频| 亚洲作爱视频| 欧美一区二区女人| 久久午夜羞羞影院免费观看| 欧美成人免费全部| 亚洲精品资源| 午夜在线观看欧美| 乱码第一页成人| 欧美日本久久| 国产欧美日韩精品a在线观看| 一区二区视频欧美| 99精品国产99久久久久久福利| 亚洲一区二区三区免费观看 | 亚洲国产成人高清精品| 亚洲肉体裸体xxxx137| 亚洲一区二区免费视频| 欧美在线视频日韩| 亚洲成人在线网| 亚洲调教视频在线观看| 久久精品卡一| 欧美日韩精品久久| 狠狠爱www人成狠狠爱综合网| 亚洲精品免费一二三区| 香蕉精品999视频一区二区| 久久米奇亚洲| 99re在线精品| 久久精品一区二区国产| 欧美人成网站| 韩国一区二区在线观看| 这里只有精品在线播放| 另类激情亚洲| 亚洲一区日本| 欧美剧在线免费观看网站| 国产一区二区久久| 亚洲午夜在线观看| 欧美福利影院| 欧美中文字幕视频在线观看| 欧美日韩中文| 亚洲欧洲日本在线| 久久九九免费视频| 99re国产精品|