CE修改器入门:运用代码注入
從本關開始,各位會初步接觸到CE的反匯編功能,這也是CE最強大的功能之一。在第6關的時候我們說到指針的找法,用基址定位動態地址。但這一關不用指針也可以進行修改,即使對方是動態地址,且功能更加強大。
代碼注入是將一小段你寫出的代碼注入到目標進程中并執行它的技巧。在這一步教程中,你將有一個健康值和一個每按一次將減少 1 點健康值的按鈕,你的任務是利用"代碼注入",使每按一次按鈕增加2點的健康值。
步驟 7: 代碼注入: (密碼=013370)
教程中每按一次按鈕,會自動減少1點血,你的任務是將其改成每按一次按鈕增加2點血。
還記得第5關的不傷血的修改方法嗎?這一關就是第5關的加強版。
推薦你從原代碼中刪除減少健康值的那行代碼,否則你得加 3 點健康值。
老樣子,根據動態數據反復查找,查找血量的地址,然后再地址上 右鍵=> 查找寫入的地址,為啥不是查找訪問的地址呢?這里不需要明白,照著做就可以了
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NGl9NNoh-1658046717591)(https://cdn.lyshark.com/picture/1379525-20190502120959755-1947945090.png)]
然后按一下打我按鈕,會出現一行匯編代碼 0042585D - 83 AB 78040000 01 - sub dword ptr [ebx+00000478],01 <<
這條指令的作用是,將[ebx+678]地址中的數據減1,sub為減法的匯編格式。
雙擊那行代碼,看下詳細信息:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BMLA6Xlp-1658046717592)(https://cdn.lyshark.com/picture/1379525-20190502121422093-340547719.png)]
這行代碼什么意思呢?sub 大家都知道是減少的意思
圖示紅框處:EBX=0184D5E0,我們用計算器算一下(注意是16進制的)
184D5E0+ 478 = 184DA58 —> 正好是血量的動態地址
sub [ebx+00000478] = sub [184DA58] 夠清楚了吧,這就是讓血量減1的代碼(1省略了),其實CE中也有提示 Decrement by 1 。
明白了這行代碼的意思,我們回去看看Tutorial的要求:把減1改成加2。
繼續操作。選擇反匯編程序,如下步驟
點擊工具,選擇自動匯編
第一步:選擇CT表框架代碼
第二步:選擇代碼注入
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3ZImj92m-1658046717596)(https://cdn.lyshark.com/picture/1379525-20190502122433284-1579025719.png)]
對應的地址不要搞錯了,是"Tutorial-i386.exe"+2585D,這里不需要動,保持默認就可以
然后按確定,會自動生成匯編代碼,這些代碼是什么意思,我們不用管,找到關鍵的一行:sub dword ptr [ebx+00000478],01
將原來的sub dword ptr [ebx+00000478],01,改成 add dword ptr [ebx+00000478],02,每次遞增2
然后在地址欄就可以看到這個腳本了,點擊前面的 單選框 執行,然后點擊Tutorial中的打我,這關就可以過了。
你感覺到他的神奇了嗎?逆天級的修改:
1、怪物每次打我從傷血變成加血。
2、子彈越打越多。
3、錢越花越多。
如果你學會了這一關,你已經脫離菜鳥的行列了,已經可以對付絕大部分的游戲了。
總結
以上是生活随笔為你收集整理的CE修改器入门:运用代码注入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用的富文本编辑器推荐
- 下一篇: SVN错误信息汇总