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

小明思考

高性能服務(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>
            亚洲人久久久| 亚洲免费观看视频| 欧美日韩国产三区| 久久精品中文字幕一区二区三区| 欧美人与性动交α欧美精品济南到 | 国产精品久久7| 91久久精品国产91性色tv| 国产综合久久久久久鬼色| 亚洲一区二区成人| 一区二区三区四区五区精品| 老司机精品导航| 蜜臀a∨国产成人精品| 国产欧美日韩激情| 在线中文字幕一区| 亚洲免费av电影| 免费欧美电影| 欧美国产日本韩| 亚洲高清资源综合久久精品| 久久精品久久99精品久久| 久久se精品一区二区| 国产精品久久久久久久久免费樱桃 | 宅男噜噜噜66一区二区66| 免费在线看成人av| 欧美高清视频在线观看| 在线国产亚洲欧美| 久久一日本道色综合久久| 久久在线免费观看视频| 精品不卡一区二区三区| 久久人体大胆视频| 欧美高清视频一区二区三区在线观看| 在线成人国产| 欧美a级片网站| 亚洲七七久久综合桃花剧情介绍| 亚洲精品久久久久久下一站| 欧美精品一区二区三区很污很色的 | 欧美成人dvd在线视频| 亚洲国产成人精品久久久国产成人一区| 在线欧美三区| 欧美精品观看| 久久精品电影| 狠狠色综合网| 女女同性精品视频| 亚洲美女在线观看| 午夜精品久久久久久久蜜桃app| 国产女主播一区| 久久精品一区二区三区不卡| 欧美二区在线播放| 在线视频一区二区| 国产日韩欧美在线一区| 久久免费黄色| 亚洲精品国产品国语在线app| 亚洲视频自拍偷拍| 免费成人高清视频| 一本久久综合亚洲鲁鲁| 亚洲精品国产精品国自产在线| 欧美一区二区三区在线| 激情久久五月天| 在线观看视频日韩| 久久亚洲春色中文字幕久久久| 亚洲高清视频一区| 亚洲欧美资源在线| 在线观看亚洲| 国产精品v亚洲精品v日韩精品| 欧美一区二区网站| 亚洲欧洲在线视频| 久久免费观看视频| 一本色道久久综合狠狠躁的推荐| 国产欧美一区二区精品忘忧草 | 欧美人交a欧美精品| 亚洲自拍16p| 亚洲国产精品传媒在线观看| 西西人体一区二区| 亚洲精品欧美专区| 国产视频久久网| 欧美性色aⅴ视频一区日韩精品| 久久人人爽人人爽| 亚洲免费人成在线视频观看| 亚洲国产精品精华液2区45| 欧美在线影院| 亚洲一二三区在线观看| 亚洲国产成人精品久久久国产成人一区 | 欧美黄色网络| 欧美在线看片a免费观看| 99re6这里只有精品视频在线观看| 裸体一区二区三区| 午夜综合激情| 亚洲天堂av电影| 亚洲精品欧洲精品| 在线观看欧美日韩| 国产一区二区主播在线| 国产精品久久久久久久久借妻| 欧美二区在线播放| 久久免费国产| 久久久av毛片精品| 性视频1819p久久| 亚洲一区二区精品视频| 日韩亚洲在线| 亚洲精品视频在线看| 欧美激情一区二区三区全黄| 麻豆成人综合网| 久久伊人一区二区| 欧美一级欧美一级在线播放| 亚洲校园激情| 亚洲一区二区三区免费在线观看| a4yy欧美一区二区三区| 亚洲欧洲日韩综合二区| 亚洲国产综合91精品麻豆| 影音先锋亚洲电影| 亚洲高清av在线| 亚洲韩日在线| 亚洲精品自在在线观看| 亚洲精品乱码久久久久久| 亚洲欧洲日韩综合二区| 亚洲人成77777在线观看网| 91久久亚洲| 艳女tv在线观看国产一区| 日韩视频专区| 国产伦精品一区二区三区视频孕妇 | 在线欧美日韩精品| 欲色影视综合吧| 亚洲高清不卡一区| 日韩视频精品在线| 国产精品99久久久久久久久| 亚洲一区二区影院| 欧美在线视频日韩| 麻豆av一区二区三区| 亚洲国产精品成人一区二区| 亚洲蜜桃精久久久久久久| 亚洲手机在线| 性做久久久久久免费观看欧美| 久久国产精品久久国产精品| 久久久亚洲一区| 欧美精品激情在线| 欧美午夜视频网站| 国产欧美一二三区| 亚洲黄色成人网| 亚洲综合日本| 蜜桃久久精品乱码一区二区| 亚洲三级电影在线观看| 亚洲淫性视频| 欧美不卡在线视频| 国产精品一区二区欧美| 亚洲高清电影| 午夜精品成人在线视频| 欧美国产三区| 一本一本久久a久久精品牛牛影视| 午夜影视日本亚洲欧洲精品| 另类激情亚洲| 国产美女精品| 99国产精品国产精品久久| 久久精品在线视频| 亚洲精品乱码久久久久久久久| 亚洲欧美在线视频观看| 欧美极品aⅴ影院| 国产一区二区三区丝袜| 一本色道久久综合亚洲精品不卡 | 亚洲天天影视| 久久riav二区三区| 亚洲精品乱码久久久久久| 亚洲一区影音先锋| 久久久亚洲高清| 久久精品2019中文字幕| 欧美视频日韩| 狠狠综合久久av一区二区小说| 亚洲精品国产欧美| 久久久精品欧美丰满| 欧美福利电影在线观看| 亚洲色在线视频| 久久亚洲私人国产精品va| 欧美日韩在线播放一区| 韩国成人福利片在线播放| 亚洲精品中文字幕女同| 久久精品1区| 午夜国产精品影院在线观看| 免费观看在线综合色| 国产精品一区免费观看| 亚洲另类黄色| 亚洲高清视频一区二区| 欧美在线关看| 欧美日韩一区二区三区在线看 | 亚洲小说春色综合另类电影| 玖玖玖免费嫩草在线影院一区| 国产日韩欧美三区| 亚洲少妇在线| 亚洲国产精品一区二区第一页| 欧美一级夜夜爽| 国产精品一二| 99日韩精品| 亚洲国产精品日韩| 午夜性色一区二区三区免费视频| 国产精品极品美女粉嫩高清在线| 亚洲精品一区二区三区av| 久久久久久久网站| 亚洲免费激情| 欧美jizz19hd性欧美| 国产亚洲观看| 蜜桃伊人久久| 久久久久免费观看| 国产亚洲视频在线| 久久亚洲综合色|