日韩高清在线免费不卡性生活毛片,亚洲av综合第一页,亚洲美女被操,一级无遮挡理论片

CE自動(dòng)匯編直譯器下載 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

您的位置: 首頁編程開發(fā)編程工具 → CE自動(dòng)匯編:AA引擎通用DLL v1.20 b13 綠色版

CE自動(dòng)匯編:AA引擎通用DLL

v1.20 b13 綠色版 CE自動(dòng)匯編:AA引擎通用DLL 網(wǎng)友評(píng)分:8

同類相關(guān)軟件

軟件介紹

軟件標(biāo)簽: dll 引擎

CE自動(dòng)匯編直譯器: AA引擎 各語言通用DLL - aa_engine.dll

三個(gè)函數(shù), 原型如下:

1). 運(yùn)行CE AA腳本

bool AutoAssemble(HANDLE hProcess, char * aa_script, int command);

1). hProcess: 游戲句柄

2). aa_script: CE AA(自動(dòng)匯編)腳本

3). command: 1為運(yùn)行[ENABLE], 0為運(yùn)行[DISABLE]

4). 返回: 運(yùn)行成功返回真, 失敗返回假

2). 取地址

DWORD GetAddress(HANDLE hProcess, char * address_line);

1). hProcess: 游戲句柄

2). address_line: 地址表達(dá)式, 支持指針+偏移+模塊基址+AA腳本做的人造指針+游戲空間中存在的API

3). 返回: 成功返回地址, 失敗返回0

3). 取AA引擎版本號(hào)

char * Ver();

返回版本號(hào)(文本)

易語言數(shù)據(jù)類型對(duì)照:

int, DWORD, HANDLE = 整數(shù)型

char * = 文本型 或 字節(jié)集型(傳址打勾)

bool = 邏輯型 或 整數(shù)型

VC2008動(dòng)態(tài)調(diào)用DLL方法:

HMODULE hDLL = LoadLibrary(TEXT("aa_engine.dll"));  // 載入DLL

// 調(diào)用AutoAssemble

typedef BOOL (FAR WINAPI *PROC1)(HANDLE,char*,int);

PROC1 pAutoAssemble=(PROC1)GetProcAddress(hDLL,"AutoAssemble");

(pAutoAssemble)(hProcess,aa_script,1);

// 調(diào)用GetAddress

typedef DWORD (FAR WINAPI *PROC2)(HANDLE,char*);

PROC2 pGetAddress=(PROC2)GetProcAddress(hDLL,"GetAddress");

DWORD addr = (pGetAddress)(hProcess,addr_line);

// 調(diào)用Ver

typedef char *(FAR WINAPI *PROC3)();

PROC3 pVer=(PROC3)GetProcAddress(hDLL,"Ver");

char *ver = (pVer)();

FreeLibrary(hDLL);  // 釋放DLL

--------------------------------------------------------------------------------------------------

更新beta 12:

1. (flaot)和(double)轉(zhuǎn)換

2. DQ命令

更新beta 13:

1. 匯編代碼自動(dòng)修正功能增加一個(gè)錯(cuò)誤處理

--------------------------------------------------------------------------------------------------

<< 關(guān)于AA引擎 >>

1). 使用標(biāo)準(zhǔn)WINAPI(__stdcall)格式導(dǎo)出函數(shù), 各語言以一般宣告API的方式皆可調(diào)用

2). 需要 VS2008SP1運(yùn)行庫 (僅4MB)

3). 部分功能需要Vista或XP SP1以上運(yùn)行環(huán)境

4). 可任意改名, 例如改成 XXX修改器.dll

5). 已使用UPX 3.08壓縮加殼, 無毒

如有任何誤報(bào), 可自行脫殼, 方法為 upx.exe -d aa_engine.dll

脫殼后, 原大小約為 160k

6). AA引擎由CE 5.61的Delphi源碼中, 摘除并移植AA腳本直譯器

外加OD的匯編編譯器(disasm)源碼作為心臟

本人axdx只負(fù)責(zé)進(jìn)行移植整合手術(shù), 所有技術(shù)源自CE與OD

7). AA引擎原開發(fā)目的為一個(gè)CheatMaker插件PC_AA.dll

8). 特別感謝: 銀河漫步, 十六夜?流歌

--------------------------------------------------------------------------------------------------

<< AutoAssemble 函數(shù)說明 >>

一、目前已支持的CE AA功能如下

alloc

label

registersymbol

unregistersymbol

globalalloc

fullaccess      (有某種限制, 不是所有內(nèi)存區(qū)都有效)

aobscan         (支持使用??或*表示未知字節(jié))

createthread    (此命令不管寫在哪里, 永遠(yuǎn)是腳本中最后運(yùn)行)

define

dealloc

assert          (支持使用??或*表示未知字節(jié))

readmem

地址:行可用地址表達(dá)式   (請(qǐng)參看 GetAddress 函數(shù)說明)

DB, DW, DD, DQ 命令, 分別為單, 雙, 四, 八字節(jié)數(shù)組寫入

#123            表示十進(jìn)制

(int)123        同樣表示十進(jìn)制

(float)         單精度浮點(diǎn)數(shù)(4字節(jié))

(double)        雙精度浮點(diǎn)數(shù)(8字節(jié))

例:

mov [eax],(float)3.5

dd (float)123.5 (float)100

dq (double)200.75

注釋方式有三種:  //單行   /*多行*/   {多行}

支持調(diào)用游戲空間中存在的 Win API 符號(hào)

例:

在游戲中調(diào)用兩個(gè)API

先調(diào)用MessageBoxA顯示一個(gè)"BYE BYE"信息

接著調(diào)用ExitProcess結(jié)束游戲進(jìn)程

[enable]

alloc(newmem,4096)

label(text)

newmem:

push 0

push 0

push text

push 0

call messageboxA

push 0

call exitprocess

ret

text:

db 42 59 45 20 42 59 45 0  // "BYE BYE"

createthread(newmem)

[disable]

dealloc(newmem)

二、自定義符號(hào)表與人造指針

在AA腳本中可用如下方式加入自定義符號(hào)

registersymbol(pointer)

alloc(pointer,4)

或者也可只用一行

globalalloc(pointer,4)

以上兩種方式將pointer這個(gè)符號(hào)加入自定義符號(hào)表

并且動(dòng)態(tài)分配了4字節(jié)的內(nèi)存空間給pointer

我們不必知道這個(gè)4字節(jié)空間的正確地址

我們只要用pointer這個(gè)名稱就可以代表該地址了

接下來可以把pointer當(dāng)做人造指針, 在其內(nèi)放入游戲數(shù)據(jù)的有效地址

由于自定義符號(hào)表為所有使用AA引擎的腳本共享

包含所有其他AA腳本, 在本腳本啟動(dòng)以后, 都可以直接以[pointer]當(dāng)做地址使用

由于pointer是代表著由alloc分配的動(dòng)態(tài)地址

人造指針實(shí)際是存放在地址pointer處

因此一般都是以[pointer]的形式來使用

也可以使用GetAddress函數(shù), 直接取得pointer自身的地址, 或其內(nèi)人造指針[pointer]的地址

當(dāng)不再使用pointer的時(shí)候, 可以如下方式取消pointer符號(hào)名及分配的內(nèi)存空間

unregistersymbol(pointer)

dealloc(pointer)

七、匯編代碼編寫注意:

由于使用了OD的匯編編譯器, 其匯編代碼格式較CE嚴(yán)格

不過我已經(jīng)加入了匯編代碼自動(dòng)修正功能

例如原先必須寫為 mov dword ptr [exa+ebx*4+0c],0c8 的代碼

已經(jīng)可以直接寫為 mov [eax+ebx*4+c],c8

如果還是出現(xiàn)編譯錯(cuò)誤, 表示自動(dòng)修正無法修正, 請(qǐng)依下列方式自行修正代碼

1). 出現(xiàn)"Unknown identifier"編譯錯(cuò)誤時(shí):

可能為匯編編譯器無法正確識(shí)別寄存器, 指令, 與數(shù)值

解決方法為, 所有數(shù)值, 如果是A到F等英文字母開頭的, 前面加一個(gè)0

如c要寫成0c, A8B300要寫成0A8B300

2). 出現(xiàn)"Command does not support given operands"

或"Unrecognized command"錯(cuò)誤時(shí):

可能為數(shù)據(jù)長度錯(cuò)誤

一般情況, 如果沒有指名長度, 則將一律視為4字節(jié)長度

例如 mov [esi+30],3f800000

將自動(dòng)轉(zhuǎn)換為 mov dword ptr [esi+30],3f800000 再送給編譯器

若出現(xiàn)這個(gè)編譯錯(cuò)誤, 則請(qǐng)自行指定正確的數(shù)據(jù)長度

數(shù)據(jù)長度的表示法有以下幾種:

單字節(jié) byte ptr

雙字節(jié) word ptr

四字節(jié) dwrod ptr

八、目前不支持的CE AA功能:

loadlibrary

loadbinary

include

九、外部代碼區(qū):

CE的AA腳本分為三個(gè)區(qū)段: [ENABLE], [DISABLE], 外部代碼(outer codes)區(qū)

外部代碼區(qū)指的是在[ENABLE]之前的區(qū)域, 或可稱為前置區(qū)

放在這里的代碼, 為無論選擇[ENABLE]或[DISABLE], 都會(huì)被運(yùn)行

會(huì)放在這里的一般是aobscan

十、本AA引擎專有功能:

assert2(地址,字節(jié)數(shù)組,"選填錯(cuò)誤信息")

功能同 assert, 可選填錯(cuò)誤信息

例: assert2(00081048,12 ff 3c 78,"Wrong Game Version!")

aobscan2(名稱,字節(jié)數(shù)組,起始地址,結(jié)束地址,第幾個(gè)命中目標(biāo),"選填錯(cuò)誤信息!")

功能同 aobscan, 設(shè)定項(xiàng)目較多, 若不要顯示錯(cuò)誤信息, 則使用 "" 表示無信息

例1: aobscan2(aobstart,12 34 56 78,00400000,7FFFFFFF,1,"Wrong Game Version!")

例2: aobscan2(aobstart,12 ff 3c 78,0,7FFFFFFF,1,"")

上例2等同于aobscan

十一、其他注意事項(xiàng):

AA引擎以腳本內(nèi)容分辨不同的腳本

一個(gè)腳本運(yùn)行[ENABLE]之后, 在運(yùn)行[DISABLE]之前

不能對(duì)該腳本進(jìn)行任何改變, 包含任何空白回車或注釋

否則會(huì)被視為不同腳本, 則dealloc等命令將無法正確運(yùn)作

--------------------------------------------------------------------------------------------------

<< GetAddress 函數(shù)說明 >>

接受地址表達(dá)式, 返回最終地址

地址表達(dá)式目前支持:

1. 基地址+-*運(yùn)算

2. 指針表達(dá)式 [[[xxxxx+xx]+xx]+xx]+xx

例:

[[0040de00]-4]+c

3. 模塊基址+偏移, (本功能需要Vista或XP SP1以上支持)

不分英文大小寫, 若要區(qū)分大小寫可使用 " " 包住模塊名

例:

game.exe

game.exe+27D0

game.dat+38c

"Game.exe"+27D0

kernel32.dll

4. 可使用由AA腳本生成的符號(hào)(人造指針)

在AA腳本中加入一個(gè)自定義符號(hào)后, 可直接使用

假若該符號(hào)為pointer

例:

pointer         // 取得pointer符號(hào)自身被alloc分配的地址

[pointer]       // 取得pointer內(nèi)存放的人造指針

需要配合AA直譯器使用:http://www.dineoutnj.com/soft/29289.html

軟件截圖

下載地址 電腦版

用戶評(píng)論

熱門評(píng)論

最新評(píng)論

發(fā)表評(píng)論 查看所有評(píng)論(0)

昵稱:
請(qǐng)不要評(píng)論無意義或臟話,我們所有評(píng)論會(huì)有人工審核.
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)