SlideShare ist ein Scribd-Unternehmen logo
1 von 173
從技術面簡介線上遊戲外掛
An Introduction to Online-Game Hacks, From a
Technical Perspective
Zuan@chroot.org
僅學術研究性質
請不要違反 EULA
本篇沒有任何
外掛的 Live Demo
Who am I?
●
2006 年左右活耀於 Cheat Engine
Forum, 為其 Underground 成員
●
當年主要玩楓之谷外掛 , 專門破解
nProtect GameGuard (rev641~12xx)
●
MzBot 作者
Who am I?
●
台科大不分系大五
– 主修資工 , 電子 , 輔修機械 , 企管
●
chr00t 資安社群成員
●
2010 趨勢雲端程式競賽第一名
●
2013 International Future Energy Challenge –
Grand Prize
為什麼今天要來講
1. 想學寫外掛的能入門
2. 想寫遊戲的能了解外掛
目錄
●
自動化外掛
●
記憶體修改外掛
– 分析
– 修改
●
反 - 反外掛
遊戲外掛有兩大類
自動化外掛
(俗稱按鍵精靈 )
封包修改外掛
記憶體修改外掛
自動化外掛
(俗稱
按鍵精靈 )
記憶體修改外掛
封包修改外掛
是否有作弊的效果 ? 無 有
理論上是否能防堵 ? 不能 能
運作原理
無聊的事情
由電腦代勞
欺騙遊戲伺服器
自動化工具很多
AutoIt, Sikuli, ACTools
讀取螢幕
/ 讀取記憶體
判定動作
模擬鍵盤
滑鼠
在模擬鍵盤滑鼠方面
One API
to rule them all
SendInput()
UINT WINAPI SendInput(
_In_ UINT nInputs,
_In_ LPINPUT pInputs,
_In_ int cbSize
);
INPUT inp[2];
inp[0].type = inp[1].type = INPUT_KEYBOARD;
inp[0].ki.wScan = inp[1].ki.wScan = 0;
inp[0].ki.time = inp[1].ki.time = 0;
inp[0].ki.dwExtraInfo = 0;
inp[1].ki.dwExtraInfo = 0;
inp[0].ki.wVk = inp[1].ki.wVk = VK_RETURN;
inp[0].ki.dwFlags = 0;
inp[1].ki.dwFlags = KEYEVENTF_KEYUP;
SendInput( 2, inp, sizeof(INPUT) );
讀取螢幕方面使用
GetDC(), GetPixel(),
bitblt()
HDC GetDC(
_In_ HWND hWnd
);
COLORREF GetPixel(
_In_ HDC hdc,
_In_ int nXPos,
_In_ int nYPos
);
HDC hDC = GetDC( NULL );
COLORREF color = GetPixel(
hDC, x, y );
記憶體修改外掛
封包修改外掛
欺騙遊戲伺服器 ?
是怎麼個欺騙法 ?
遊戲
伺服器
遊戲
客戶端
螢幕上有 :
怪 A, 怪 B,
玩家
玩家攻擊怪 A
傷害 9999 OS:
你說的我
都相信 !
超自然嘛
~
玩家資訊 :
…
攻擊力 50+/-15
玩家輸入
攻擊怪 A
計算傷害
= 56
記憶體修改
封包修改
移除怪 A
經驗值 +xx
遊戲
伺服器
遊戲
客戶端
草叢裡有玩家 A
但是你別顯示
記憶體修改
封包竊聽
顯示玩家 A
1. 為什麼這類計算不放到伺服器 ?
2. 為什麼這類資訊要給客戶端 ?
3. 為什麼這些計算沒有被檢查 ?
1)為什麼這類資訊要給客戶端 ?
– 遊戲架構已經確定修改起來不符合成
本效益
2)有些計算無法搬到伺服器
– 網路延遲問題
3)為什麼這些計算沒有被檢查 ?
– 檢 成本高查 (CPU/ 記憶體 )
– 沒有人力去寫
當然面對以上三個問題
“ 因為遊戲作者
太腦殘不了解”
都可以是答案
舉 rand() 為例子
傷害 =
傷害基準 +rand()%5
xkcd 221: http://xkcd.com/221/
檢測亂數產生器
●
需保有亂數產生器狀態
● 不能漏掉任何對 rand() 的呼叫
●
Replay 一遍確保沒被修改
記憶體修改外掛
vs.
封包修改外掛
現今幾乎所有外掛都是
記憶體修改外掛
封包修改的困難
●
封包修改外掛不好實作
● 沒有公開 API 可以進行封包修改
●
需要自己寫 NDIS Passthrough 驅動
●
大多遊戲都有加密封包
// From OdinMS
記憶體修改相較簡單
柿子挑軟的吃
記憶體修改外掛
修改哪裡 ?
如何修改 ?
如何不被阻止 ?
修改 裡哪
原始碼
原始碼
原始碼 編譯 執行檔
EXE
所有程式經過編譯後
都成為二進位的程式碼
人不能讀二進位
所以二進位的程式碼
被一對一轉換成文字
這就是組合語言
(Assembly Language)
暫存器
EAX
EBX
ECX
EDX
ESI
EDI
EBP
ESP
EIP
EFLAGS
記憶體
常見指令
● MOV 目的地 , 來源 ( 把來源複製到目的地 )
– MOV EAX, EBX => EAX = EBX;
– MOV EAX, [0x005C] => EAX = *((int*)0x005C);
● ADD 目的地 , 來源 ( 把來源加到目的地 )
– ADD ECX, 5 => ECX += 5;
– ADD ECX, [x] => ECX += x;
● SUB, XOR, OR, AND... 等指令 , 一樣的用法
常見指令
● CMP A, B ( 比較 A 跟 B, 結果寫到 FLAGS)
– CMP EAX, 5
– CMP ECX, EDX
● JMP 地址 ( 跳到地址去 )
– JMP 0x7FFE0300
● JE 地址 ( 如果上次比較時 , A==B, 就跳 )
– JE 0x00401753
● JNE, JGE, JG, JL, JLE... 等等是不同的比較狀
況
C
F
P
F
A
F
Z
F
S
F
if ( x == 3 )
{
// ooo
} else {
// xxx
}
MOV EAX, [x]
CMP EAX, 3
JNE NEXT
; ooo
JMP END
NEXT:
; xxx
END:
堆疊
... :0x080
... :0x07C
... :0x078
... :0x074
... :0x070
... :0x06C
... :0x068
... :0x064
ESP
常見指令
● PUSH 來源 ( 把來源 Push 到堆疊上 )
– PUSH 5 => ESP-=4; *((int*)ESP)=5;
– PUSH EAX => ESP-=4; *((int*)ESP)=EAX;
● POP 目的地 ( 把堆疊最上面 Pop 到目的
地 )
– POP EAX => EAX=*((int*)ESP); ESP+=4;
● CALL 地址 ( 呼叫在地址的函數 )
– CALL 0x004027A0 => PUSH EIP, JMP 0x004027A0
● RET ( 從目前函數 Return)
– RET => POP EIP
函數呼叫
新函數變數 :0x080
原函數 EBP :0x07C
RET 地址 :0x078
新函數參數 :0x074
新函數參數 :0x070
新函數參數 :0x06C
原函數變數 :0x068
原函數變數 :0x064
ESP
這些只是常見指令
如果遇到不會的指令
請找 Intel 算帳
去 Google
Intel 64 and IA-32
Architectures Software
Developer's Manual
學了組合語言
但怎麼拆解 EXE 檔 ?
靜態分析 :
IDA Pro
動態分析 :
OllyDbg
Cheat Engine
IDA Pro
OllyDbg
OllyDbg 跟 IDA 都是正規的
逆向工程工具
他們只是輔助
Break 下去 ,
遊戲就斷線了
外掛不只是改數字 ,
還有改程式碼
怎麼修改
使用現有工具
Cheat Engine
Player.health--; ...
DEC [EBX+047C]
...
...
NOP
...
...
DEC [EBX+047C]
...
...
FF 8B 7C 04 00 00
...
...
NOP
NOP
NOP
NOP
NOP
NOP
...
...
90 90 90 90 90 90
...
...
DEC [EBX+047C]
...
...
FF 8B 7C 04 00 00
...
...
NOP
NOP
NOP
NOP
NOP
NOP
...
...
90 90 90 90 90 90
...
if ( Player.ID != 1 )
{
Player.health--;
}
...
MOV EAX, [EBX+010]
CMP EAX, 1
JE END
DEC [EBX+047C]
END:
...
Code Injection
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
Newmem:
mov EAX, [EBX+010]
cmp EAX, 1
je END
dec [EBX+047C]
end:
jmp returnhere
00426E99:
jmp newmem
nop
returnhere:
...
00426E99:
DEC [EBX+047C]
...
...
00426E99:
JMP Newmem
...
Newmem:
mov EAX, [EBX+010]
cmp EAX, 1
je END
dec [EBX+047C]
end:
jmp returnhere
用 CE 有點 Low
真男人外掛就要自己寫
0x00000000
0xFFFFFFFF
線上遊戲 .exe
0x00000000
0xFFFFFFFF
外掛 .exe explorer.exe
0x00000000
0xFFFFFFFF
…...
…...
1. Windows API
2. DLL Injection
OpenProcess()
ReadProcessMemory()
WriteProcessMemory()
DLL Injection
0x00000000
0xFFFFFFFF
線上遊戲 .exe
0x00000000
0xFFFFFFFF
外掛 .exe explorer.exe
0x00000000
0xFFFFFFFF
…...
…...
外掛 .DLL
int main( int argc, char** argv )
int CALLBACK WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
BOOL WINAPI DllMain(
HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpvReserved
)
BOOL WINAPI DllMain(
HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpvReserved
)
{
if ( fwdReason == DLL_PROCESS_ATTACH ) {
CreateThread( ... );
}
return TRUE;
};
00426E99:
nop
nop
nop
((unsigned char*)0x00426E99) = 0x90;
((unsigned char*)0x00426E9A) = 0x90;
((unsigned char*)0x00426E9B) = 0x90;
LPVOID WINAPI VirtualAlloc(
_In_opt_ LPVOID lpAddress,
_In_ SIZE_T dwSize,
_In_ DWORD flAllocationType,
_In_ DWORD flProtect
);
unsigned char *mem =
VirtualAlloc( NULL, 2048,
MEM_COMMIT, PAGE_EXECUTE_READWRITE );
mem[0] = ...;
DLL 怎麼把他塞
到遊戲程式裡面?
1. Cheat Engine
2. WriteProcessMemory +
CreateRemoteThread
3. Target IAT
注入的時間很重要
如何不被阻止 ?
防止程式被分析
加殼技術 (Packer)
PE Header
.text
.data
.rsrc
Entry Point
( 進入點 )
PE Header
.text
.data
.rsrc
Packer Entry Point
( 進入點 )
非保護性加殼 :
UPX, ASPack... etc
Armadillo
●
2003 年左右
●
OEP 難找
●
透過隱藏 OEP 來避免被脫殼
●
Anti-Debugging
Anti-Debugging
現今使用 Olly 的 Plugin
( 如 StrongOD) 就能解決
ASProtect
●
2006 年左右
●
IAT 隱藏
●
Stolen Code
載入 DLL 前 :
…
CALL printf
…
printf:
jmp xxxx
載入 DLL 後 :
…
CALL printf
…
printf:
jmp 10A0573C
保護後 :
…
CALL FunctionA
…
FunctionA:
jmp Packer_FunctionA
…
Packer_FunctionA:
…
Import Reconstructor
OEP:
PUSH XXX
PUSH XXX
CALL XXX
XOR EBX, EBX
PUSH EBX
MOV EDI,
[GetModuleHandleA]
CALL EDI
...
Themida/VMProtect
●
2008 年左右
●
VM 技術
●
需要專門的反組譯器
反外掛系統
1. 防堵
2. 偵測
防堵
.exe
User mode (Ring 3)
Kernel mode (Ring 0)
ntoskrnl.exe
Kernel32.dll User32.dll GDI32.dll
ntdll.dll
SSDT
Kernel32.dll
● OpenProcess()
● ReadProcessMemory()
● WriteProcessMemory()
● VirtualAlloc()
● CreateThread()
● TerminateProcess()
User32.dll
● CreateWindow()
● PostMessage()
● SendInput()
● GetDC()
GDI32.dll
● bitblt()
Detour Hook
IAT Hook
...
call SendInputA
...
SendInputA:
jmp xxxx
IAT Hook
Detour Hook
其實就是 Code Injection
SendInputA:
push ebp
mov ebp, esp
...
Detour Hook
SendInputA:
jmp xxx
...
.exe
User mode (Ring 3)
Kernel mode (Ring 0)
ntoskrnl.exe
Kernel32.dll User32.dll GDI32.dll
ntdll.dll
SSDT
Detour/IAT Hook
Detour/IAT Hook
SSDT Hook
typedef void(*FuncPtr)( … );
FuncPtr SSDT[xxx] =
{ KernelFunction1,
KernelFunction2, … }
void onSysenter( int callID, …
)
{
(SSDT[callID])( … );
}
.exe
User mode (Ring 3)
Kernel mode (Ring 0)
ntoskrnl.exe
Kernel32.dll User32.dll GDI32.dll
ntdll.dll
SSDT
SSDT Hook
Detour Hook in Kernel
.exe
User mode (Ring 3)
Kernel mode (Ring 0)
ntoskrnl.exe
Kernel32.dll User32.dll GDI32.dll
ntdll.dll
SSDT
Detour Hook
遇到 Kernel 的 Hook
就幾乎一定要寫驅動
DDK
Driver Development Kit
偵測
跟防毒軟體一樣
只是他是掃描記憶體
免殺
免殺過的 Cheat Engine,
叫做 UCE
Undetected Cheat Engine
首先偵測字串
const char* var =“xxx”;
funcA( “xxx” );
DLL Export 的函數名稱
也會被偵測
__declspec(dllexport)
void __cdecl
Function1(void);
使用 strings 指令確認
有些時候 , 程式碼
也會被偵測到
被偵測到
的外掛
?
反外掛系統的未來發展
道高一尺
魔高一丈
1. x64 下的變化
2. 虛擬化的崛起
以上都是 x86 下
也就是 32 位元的
Windows
64 位元的 Windows
下有很大的變化
從 64-bit 的 Vista 開始
1. 驅動程式數位簽章
2. PatchGuard
沒有簽章的驅動程式
不能載入
除非開 開發者模式啟
PatchGuard
SSDT 不能改
Ntoskrnl.exe 不能改
GDT&IDT 不能改
MSR 不能改
M$:
“ 朕不給的 , 你們不能搶”
Kaspersky 表示 :...
McAfee 表示 :...
x64 下 , 主場優勢更大
順帶一題
One Microsoft Way
Redmond, WA 98052-7329
USA
美國華盛頓州
雷德蒙特市
微軟路一號
“One Microsoft Way”
只有一條路 , 就是聽微軟的
虛擬化
就是 VMWare,
VirtualBox 那種虛擬化
以前統統要自己寫
Intel VT-x
AMD-V
Host OS
Guest OS
Host OS
Guest OS
遊戲外掛
反外掛
DTDebug
Ddvp
Cheat Engine
疑似也有類似功能
謝謝大家
工商時間
台灣駭客年會
1. 參加
2. 應徵工作人員
3. 投 Paper
http://hitcon.org/
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能tSURooT
 
細胞外電極はなにを見ているか2017年5月版
細胞外電極はなにを見ているか2017年5月版細胞外電極はなにを見ているか2017年5月版
細胞外電極はなにを見ているか2017年5月版Masatoshi Yoshida
 
大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + αKatsuki Ohto
 
大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリア大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリアTakayuki Itoh
 
経済学Ph.D.留学と就職活動
経済学Ph.D.留学と就職活動経済学Ph.D.留学と就職活動
経済学Ph.D.留学と就職活動Yosuke YASUDA
 
[DL輪読会]“Learning to Predict without Looking Ahead: World Models without Forwa...
[DL輪読会]“Learning to Predict without Looking Ahead: World Models without Forwa...[DL輪読会]“Learning to Predict without Looking Ahead: World Models without Forwa...
[DL輪読会]“Learning to Predict without Looking Ahead: World Models without Forwa...Deep Learning JP
 
用十分鐘瞭解《大學專題的那些事兒》!
用十分鐘瞭解《大學專題的那些事兒》!用十分鐘瞭解《大學專題的那些事兒》!
用十分鐘瞭解《大學專題的那些事兒》!鍾誠 陳鍾誠
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけようKouji Matsui
 
量的データの分析・報告で気をつけたいこと
量的データの分析・報告で気をつけたいこと量的データの分析・報告で気をつけたいこと
量的データの分析・報告で気をつけたいことMizumoto Atsushi
 
相容於node.js的 網頁型桌面程式設計 (使用Electron.js 開發)
相容於node.js的 網頁型桌面程式設計  (使用Electron.js 開發)相容於node.js的 網頁型桌面程式設計  (使用Electron.js 開發)
相容於node.js的 網頁型桌面程式設計 (使用Electron.js 開發)鍾誠 陳鍾誠
 
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...Deep Learning JP
 
社会ネットワーク勉強会第3回発表
社会ネットワーク勉強会第3回発表社会ネットワーク勉強会第3回発表
社会ネットワーク勉強会第3回発表shigex Kondou
 
深層強化学習でマルチエージェント学習(後篇)
深層強化学習でマルチエージェント学習(後篇)深層強化学習でマルチエージェント学習(後篇)
深層強化学習でマルチエージェント学習(後篇)Junichiro Katsuta
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Yoshitaka Ushiku
 
そこそこ速くて安全なRDBの使い方
そこそこ速くて安全なRDBの使い方そこそこ速くて安全なRDBの使い方
そこそこ速くて安全なRDBの使い方ShunsukeNakamura17
 
20210831 code night はじめての強化学習
20210831 code night  はじめての強化学習20210831 code night  はじめての強化学習
20210831 code night はじめての強化学習Kenichi Sonoda
 
MBMWW2023_slideshare.pdf
MBMWW2023_slideshare.pdfMBMWW2023_slideshare.pdf
MBMWW2023_slideshare.pdfKazuya Horibe
 
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列鍾誠 陳鍾誠
 
連合学習理論と不安症
連合学習理論と不安症	連合学習理論と不安症
連合学習理論と不安症 Senshu University
 

Was ist angesagt? (20)

大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
 
細胞外電極はなにを見ているか2017年5月版
細胞外電極はなにを見ているか2017年5月版細胞外電極はなにを見ているか2017年5月版
細胞外電極はなにを見ているか2017年5月版
 
大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α
 
大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリア大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリア
 
経済学Ph.D.留学と就職活動
経済学Ph.D.留学と就職活動経済学Ph.D.留学と就職活動
経済学Ph.D.留学と就職活動
 
[DL輪読会]“Learning to Predict without Looking Ahead: World Models without Forwa...
[DL輪読会]“Learning to Predict without Looking Ahead: World Models without Forwa...[DL輪読会]“Learning to Predict without Looking Ahead: World Models without Forwa...
[DL輪読会]“Learning to Predict without Looking Ahead: World Models without Forwa...
 
用十分鐘瞭解《大學專題的那些事兒》!
用十分鐘瞭解《大學專題的那些事兒》!用十分鐘瞭解《大學專題的那些事兒》!
用十分鐘瞭解《大學專題的那些事兒》!
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
 
量的データの分析・報告で気をつけたいこと
量的データの分析・報告で気をつけたいこと量的データの分析・報告で気をつけたいこと
量的データの分析・報告で気をつけたいこと
 
相容於node.js的 網頁型桌面程式設計 (使用Electron.js 開發)
相容於node.js的 網頁型桌面程式設計  (使用Electron.js 開發)相容於node.js的 網頁型桌面程式設計  (使用Electron.js 開發)
相容於node.js的 網頁型桌面程式設計 (使用Electron.js 開發)
 
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
 
社会ネットワーク勉強会第3回発表
社会ネットワーク勉強会第3回発表社会ネットワーク勉強会第3回発表
社会ネットワーク勉強会第3回発表
 
超複素数
超複素数超複素数
超複素数
 
深層強化学習でマルチエージェント学習(後篇)
深層強化学習でマルチエージェント学習(後篇)深層強化学習でマルチエージェント学習(後篇)
深層強化学習でマルチエージェント学習(後篇)
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 
そこそこ速くて安全なRDBの使い方
そこそこ速くて安全なRDBの使い方そこそこ速くて安全なRDBの使い方
そこそこ速くて安全なRDBの使い方
 
20210831 code night はじめての強化学習
20210831 code night  はじめての強化学習20210831 code night  はじめての強化学習
20210831 code night はじめての強化学習
 
MBMWW2023_slideshare.pdf
MBMWW2023_slideshare.pdfMBMWW2023_slideshare.pdf
MBMWW2023_slideshare.pdf
 
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
 
連合学習理論と不安症
連合学習理論と不安症	連合学習理論と不安症
連合学習理論と不安症
 

Ähnlich wie 從技術面簡介線上遊戲外掛

Introduction of Reverse Engineering
Introduction of Reverse EngineeringIntroduction of Reverse Engineering
Introduction of Reverse EngineeringYC Ling
 
Sy03091说明书
Sy03091说明书Sy03091说明书
Sy03091说明书guest8f3690
 
Ch1 系统启动
Ch1 系统启动Ch1 系统启动
Ch1 系统启动guest4d1b8c
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnVidur Garg
 
Hxhsm——取代mvc的状态机框架
Hxhsm——取代mvc的状态机框架Hxhsm——取代mvc的状态机框架
Hxhsm——取代mvc的状态机框架Tencent
 
Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)Kris Mok
 
HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享Chong-Kuan Chen
 
STM32F4 for 智慧型電動輪椅系統Part1
STM32F4 for 智慧型電動輪椅系統Part1STM32F4 for 智慧型電動輪椅系統Part1
STM32F4 for 智慧型電動輪椅系統Part1Jack Wang
 
基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计Hengyi
 
系統程式 -- 第 11 章
系統程式 -- 第 11 章系統程式 -- 第 11 章
系統程式 -- 第 11 章鍾誠 陳鍾誠
 
新手無痛入門Apk逆向
新手無痛入門Apk逆向新手無痛入門Apk逆向
新手無痛入門Apk逆向hackstuff
 
Talking about exploit writing
Talking about exploit writingTalking about exploit writing
Talking about exploit writingsbha0909
 
Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)FLASH开发者交流会
 
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)Shanda innovation institute
 
如何設計電腦 -- 還有讓電腦變快的那些方法
如何設計電腦  -- 還有讓電腦變快的那些方法如何設計電腦  -- 還有讓電腦變快的那些方法
如何設計電腦 -- 還有讓電腦變快的那些方法鍾誠 陳鍾誠
 
密碼學漏洞與他們的產地 Crypto fail and where to find them
密碼學漏洞與他們的產地   Crypto fail and where to find them密碼學漏洞與他們的產地   Crypto fail and where to find them
密碼學漏洞與他們的產地 Crypto fail and where to find themJohn L Chen
 
6.ctf经验分享
6.ctf经验分享6.ctf经验分享
6.ctf经验分享Hsiao Tim
 
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統鍾誠 陳鍾誠
 

Ähnlich wie 從技術面簡介線上遊戲外掛 (20)

Introduction of Reverse Engineering
Introduction of Reverse EngineeringIntroduction of Reverse Engineering
Introduction of Reverse Engineering
 
Sy03091说明书
Sy03091说明书Sy03091说明书
Sy03091说明书
 
Ch1 系统启动
Ch1 系统启动Ch1 系统启动
Ch1 系统启动
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cn
 
Hxhsm——取代mvc的状态机框架
Hxhsm——取代mvc的状态机框架Hxhsm——取代mvc的状态机框架
Hxhsm——取代mvc的状态机框架
 
Tcfsh bootcamp day2
 Tcfsh bootcamp day2 Tcfsh bootcamp day2
Tcfsh bootcamp day2
 
Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)
 
HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享
 
STM32F4 for 智慧型電動輪椅系統Part1
STM32F4 for 智慧型電動輪椅系統Part1STM32F4 for 智慧型電動輪椅系統Part1
STM32F4 for 智慧型電動輪椅系統Part1
 
Arduino AMA中級認證術科實作 all
Arduino AMA中級認證術科實作 allArduino AMA中級認證術科實作 all
Arduino AMA中級認證術科實作 all
 
基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计
 
系統程式 -- 第 11 章
系統程式 -- 第 11 章系統程式 -- 第 11 章
系統程式 -- 第 11 章
 
新手無痛入門Apk逆向
新手無痛入門Apk逆向新手無痛入門Apk逆向
新手無痛入門Apk逆向
 
Talking about exploit writing
Talking about exploit writingTalking about exploit writing
Talking about exploit writing
 
Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)
 
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
 
如何設計電腦 -- 還有讓電腦變快的那些方法
如何設計電腦  -- 還有讓電腦變快的那些方法如何設計電腦  -- 還有讓電腦變快的那些方法
如何設計電腦 -- 還有讓電腦變快的那些方法
 
密碼學漏洞與他們的產地 Crypto fail and where to find them
密碼學漏洞與他們的產地   Crypto fail and where to find them密碼學漏洞與他們的產地   Crypto fail and where to find them
密碼學漏洞與他們的產地 Crypto fail and where to find them
 
6.ctf经验分享
6.ctf经验分享6.ctf经验分享
6.ctf经验分享
 
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統
 

從技術面簡介線上遊戲外掛