兩個任務
1、修改遊戲中的相關引數的值
2、找到遊戲的關鍵功能函式
下面是相關筆記(以植物大戰殭屍為例)
工具:od、ec、彙編**注入器
第一課尋找陽光值的靜態位址,用來永久的修改遊戲的陽光值
eax=00000064
ebx=00000004
ecx=00000000
edx=0be84080
esi=19a31dc0
edi=16b15870
ebp=0019fa98
esp=00199790
eip=0048982b
指標基址可能是 =19a31dc0
0048981d - test al,al
0048981f - jne 00489933
00489825 - mov eax,[esi+00005560]
0048982b - xor ecx,ecx
0048982d - test eax,eax
找到第一段偏移量是在暫存器esi的基礎上偏移5560
第二步:找到誰呼叫了esi
eax=00452650
ebx=0019fd00
ecx=0284a028
edx=00667ba0
esi=19a31dc0
edi=0284a028
ebp=00000001
esp=0019fc60
eip=00452679
指標基址可能是 =0284a028
0045266a - cmp byte ptr [edi+000004cf],00
00452671 - je 0045269b
00452673 - mov esi,[edi+00000768]
00452679 - test esi,esi
0045267b - je 0045269b
第二段的偏移量是768
然後繼續找下一段,看看是誰呼叫了edi
直到發現靜態的位址
靜態位址是6a9ec0
然後手動新增位址的偏移量,就可以修改陽光值
第二課call 子程式 函式
關鍵call:
程式破解:關鍵判斷call
遊戲外掛程式:關鍵功能call
任務:找陽光掉落的call
eax=006a7be0
ebx=00000000
ecx=0000000c
edx=00000006
esi=006a7be0
edi=00000120
ebp=0be546f0
esp=0019f948
eip=00471b5b
指標基址可能是 =006a7be0
彙編**注入測試:
push 0
push 4
push 3
cpush 000000c0
mov ecx,19b623a8
call 40cb10
190618遊戲外掛程式入門(2)
第3課 hook 鉤子 外掛程式中的體現 掛鉤 實現讀取實時資料 hook方式 位址直接修改 間接修改 找到空白位址區域寫入自己想要執行的過程的資料 原位址的區域跳轉 空白位址跳轉回去 3 直接讀取 今天的主要任務是找出陽光值減少的函式 在執行的這時候一定要執行處陽光減少的步驟,不然不會得出減少的程...
phaser遊戲開發入門1
使用phaser開發十幾款遊戲,感覺這個引擎不錯,給大家分享下。demo位址 phaser這個引擎封裝做的比較好,常用的物理引擎都有封裝,音訊方面也特別給力,開發起來就乙個字 快 學習一款遊戲引擎只需要做的事情有 1 看他的demo演示,看他能做什麼 phaser 能做2d遊戲開發,2 看他的文件和...
遊戲程式設計入門(1) 精靈 ISprite
對於遊戲程式設計而言,我也是個初學者,這個遊戲程式設計入門系列的文章,就當作是我在學習遊戲程式設計的筆記和階段小結吧。我們先從最簡單的 精靈 開始,暫時我們不需要考慮directx或是opengl,不需要考慮3維等等這些複雜情形,直接使用gdi 繪圖功能就可以了。精靈,是構成遊戲中活動體 比如,飛機...