日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CE教程 第八章 《注入++》

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CE教程 第八章 《注入++》 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

步驟 9: 注入++: (密碼=31337157)
我們在這一步做的基本上和步驟 7(代碼注入) 一樣,但現在會有一點地方非常困難.
現在你必須使用一段代碼編輯減少血量的代碼并設置血量到1000(如果當前值大于等于30并小于2000)這可以做成用 api 調用一些子程序來獲取當前時間的自動匯編腳本,它可以較早的使用 C腳本注入這里找到血量的地址并轉到 CE 腳本引擎 (內存查看器 ctrl+alt+a , 工具->腳本引擎)此時會有一個很大的提示反對到其它教程(萬一你不會C語言)

----------------
#include <time.h>

struct tm *timep;
time_t c;
c=time(0);

timep=localtime(&c);

if (timep->tm_sec>=30)
? *(int *)addresstochange=1000;
else
? *(int *)addresstochange=2000;
-------------
此處使用血量的地址改編 addresstochange.不要忘記在前面加 0x.如果地址是0012345,則輸入0x0012345


選擇注入->注入到當前進程并使用里面的一個 CALL 打開一個自動匯編腳本.現在正好和步驟7那樣轉到減少血量的地址并選擇 自動匯編->模板->代碼注入. 并輸入你獲取的代碼調用指令. 需要注意的是此次調用將更改 EAX 的值,因此你要在壓棧之前和出棧之后保存它們, 并且移除原始代碼。它未被使用或只會增加困難。
?
點擊執行后點擊 TUT 的 "打我" 按鈕 .
如果按鈕的點擊都正確會促成腳本運行并符合當前時間改變血值。

額外信息:
正如前面所說,它可以使用一個標準的匯編腳本來完成。為了以后容易辨認 CE 允許你輸入調用指令的功能名稱。你也可以只用一個腳本對應使用一個DLL注入。例如:
injectdll(mydll.dll) //dll 寫入你需要的術語

codecave:
call functionofmydll
jmp exit

?

?

?

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

?

額,大家好.不好意思哈昨天回老家了第八章今天才寫.額,最近東北挺多雨的,我這里隨時都有可能發大水停電.不過我不會懶惰.我會繼續寫東西給大家看.

好啦開始我們今天的章節吧.今天來講CE教程工具的最后一章《注入++》額,總的來說操作起來不算太難啦。只不過涉及到了C語言可能會有朋友不懂,不過沒關系。作者已經給了我們一個代碼原型,我們照著修改一下就OK了。好教程開始吧。

?

1.教程工具給了我們一個數值,我們要把它用代碼注入的方式使腳本運行并符合當前時間改變血值。第一步跟前幾章一樣找到數值的內存地址。


2.在地址上右鍵單擊選擇“查找寫入該地址的代碼”。


3.這將附加CE調試器到當前進程上。繼續?? 選擇“YES”。


4.回到教程工具點“打我”。選擇出現的地址,單擊“顯示反匯編程序”。


5.選擇最上面的地址下面出現“目標減一”。說明地址是正確的。


6.點擊“工具”,選擇“腳本引擎”。


7.在彈出的腳本引擎窗口填寫代碼:

-----------------------------代碼簡單的解釋----------------------------

#include <time.h>

struct tm *timep;
time_t c;
c=time(0);

int addresstochange=0x01B8298C;? //原代碼是沒有這句的這句的意思就是int定義整形變量addresstochange=地址.就是把右邊的地址付給左邊的變量addresstochange(注:大家也可以直接替換代碼內addresstochange為自己的地址.)(提醒:定義一個整形變量后要在結尾處寫下分號;符號這個學過C語言的都知道吧.嘿嘿^ ^)

timep=localtime(&c);

if (timep->tm_sec>=30) //額簡單解釋下吧.if是如果的意思.這句代碼就是如果timep->tm_sec>=30執行以下代碼.
? *(int *)addresstochange=1000;? //將1000這個數值附給addresstochange
else?????????? //否則timep->tm_sec>=30這個表達式不成立則執行這行下面的代碼.
? *(int *)addresstochange=2000;? //將1000這個數值附給addresstochange

-------代碼如下(注意紅色部分改成自己的數值地址)------

#include <time.h>

struct tm *timep;
time_t c;
c=time(0);

int addresstochange=0x01B8298C;

timep=localtime(&c);

if (timep->tm_sec>=30)
? *(int *)addresstochange=1000;
else
? *(int *)addresstochange=2000;

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



8.好,我們選擇“注入”。選擇“注入到當前進程”。


9.自動彈出窗口“自動匯編”。注意倆個窗口是不同的。在彈出的“自動匯編”窗口點擊“模板”,選擇“代碼注入”。


10.注意自動填寫的代碼要和匯編里的一樣否則需要手動填寫。填好后點“OK”。


11.自動為我們填好了代碼。我們來簡單分析一下。

----------------------------代碼------------------------

//?????????????????§????????????????????????ì????????????????????ì?????????????????????????¨?????????????????????§???????????????????§?????????????????????§??????????????????????ì????????????????????ì??????|??????????????¨?????????????????????????§??????????????????????????§???????2?????DD?????????????????¨?????????????????????§???????????????????§???????
call 03E400F6? //這句是調用我們寫的代碼.CALL的意思是門CALL的意思就是調用某個類進入某扇門. - - 貌似越說越糊涂.

//3?????????????§??????|1|???DDo?????????????§??????? eax==0
//'call underc_geterror' ????????????¨??????????????????§????????????????§?????????????????????¨??????????????????¨???????????|????????????ì????????????????????ì????????????????¨?????|?o????????????¨???????2????????????¨??????2????????????¨??????|????????????¨??????2??????????????¨??????a?????????????¨???????|????????????ì????????o3????

alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

004566CA:
jmp newmem //這個在代碼注入的章節跟大家說過了jmp在匯編代碼里是轉跳的意思.這句的意思是代碼走到這里轉跳到newmem這個地方執行.
nop?? //nop無用代碼
returnhere:

newmem: //this is allocated memory, you have read,write,execute access
//place your code here//在這里寫下我們的代碼.


originalcode:
dec [ebx+00000310] //原代碼 dec 使目標減一.修改時刪除這個.

exit:
jmp returnhere
---------------------------修改后(亂碼和//注視的地方都可以扔掉)--------------------------

注意那個CALL要剪切掉移動到newmem下面.!!!!注意注意.然后刪掉原來的代碼dec

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

alloc(newmem,2048)

label(returnhere)
label(originalcode)
label(exit)

004566CA:
jmp newmem

nop
returnhere:

newmem:

call 03E400F6
originalcode:

exit:
jmp returnhere

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

?

12.最后單擊“執行”,代碼可以注入“YES”。

13.我的已經提示注入成功,回到教程工具點“打我”。“下一步”變為可點擊。


14.最后來個特寫。吼吼。

好啦。CE的教程到此結束啦。感謝大家一直以來的支持。其實CE的教程都是基礎。希望大家以后能更好的掌握更多的知識。再見。(這次不做廣告啦。(*^__^*) 嘻嘻……)

總結

以上是生活随笔為你收集整理的CE教程 第八章 《注入++》的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。