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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

----------------
#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


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

額外信息:
正如前面所說,它可以使用一個(gè)標(biāo)準(zhǔn)的匯編腳本來(lái)完成。為了以后容易辨認(rèn) CE 允許你輸入調(diào)用指令的功能名稱。你也可以只用一個(gè)腳本對(duì)應(yīng)使用一個(gè)DLL注入。例如:
injectdll(mydll.dll) //dll 寫入你需要的術(shù)語(yǔ)

codecave:
call functionofmydll
jmp exit

?

?

?

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

?

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

好啦開始我們今天的章節(jié)吧.今天來(lái)講CE教程工具的最后一章《注入++》額,總的來(lái)說操作起來(lái)不算太難啦。只不過涉及到了C語(yǔ)言可能會(huì)有朋友不懂,不過沒關(guān)系。作者已經(jīng)給了我們一個(gè)代碼原型,我們照著修改一下就OK了。好教程開始吧。

?

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


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


3.這將附加CE調(diào)試器到當(dāng)前進(jìn)程上。繼續(xù)?? 選擇“YES”。


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


5.選擇最上面的地址下面出現(xiàn)“目標(biāo)減一”。說明地址是正確的。


6.點(diǎn)擊“工具”,選擇“腳本引擎”。


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

-----------------------------代碼簡(jiǎn)單的解釋----------------------------

#include <time.h>

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

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

timep=localtime(&c);

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

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

#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.好,我們選擇“注入”。選擇“注入到當(dāng)前進(jìn)程”。


9.自動(dòng)彈出窗口“自動(dòng)匯編”。注意倆個(gè)窗口是不同的。在彈出的“自動(dòng)匯編”窗口點(diǎn)擊“模板”,選擇“代碼注入”。


10.注意自動(dòng)填寫的代碼要和匯編里的一樣否則需要手動(dòng)填寫。填好后點(diǎn)“OK”。


11.自動(dòng)為我們填好了代碼。我們來(lái)簡(jiǎn)單分析一下。

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

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

//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 //這個(gè)在代碼注入的章節(jié)跟大家說過了jmp在匯編代碼里是轉(zhuǎn)跳的意思.這句的意思是代碼走到這里轉(zhuǎn)跳到newmem這個(gè)地方執(zhí)行.
nop?? //nop無(wú)用代碼
returnhere:

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


originalcode:
dec [ebx+00000310] //原代碼 dec 使目標(biāo)減一.修改時(shí)刪除這個(gè).

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

注意那個(gè)CALL要剪切掉移動(dòng)到newmem下面.!!!!注意注意.然后刪掉原來(lái)的代碼dec

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

alloc(newmem,2048)

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

004566CA:
jmp newmem

nop
returnhere:

newmem:

call 03E400F6
originalcode:

exit:
jmp returnhere

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

?

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

13.我的已經(jīng)提示注入成功,回到教程工具點(diǎn)“打我”。“下一步”變?yōu)榭牲c(diǎn)擊。


14.最后來(lái)個(gè)特寫。吼吼。

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。