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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows PE变形练手1-用PE自己的机器码修改自己的逻辑

發(fā)布時(shí)間:2025/6/17 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows PE变形练手1-用PE自己的机器码修改自己的逻辑 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

PE變形練手1-PE自己的機(jī)器碼修改自己的邏輯

????就是找一個(gè)PE文件,用自己的部分代碼部分覆蓋或者而修改自己另一個(gè)代碼部分的補(bǔ)丁姿勢(shì)(現(xiàn)實(shí)中使用很少,極少數(shù)破解可以用到。這次例子目的是了解PE)。

第一個(gè)實(shí)驗(yàn),寫個(gè)例子。然后把函數(shù)1和函數(shù)2調(diào)換一下。


代碼如上,很簡(jiǎn)單。先輸出111,在輸出222.根據(jù):


可知,相關(guān)FOA???main?0x440??main1?0x400??main2?420


兩個(gè)函數(shù)如上,最后C3return,仔細(xì)觀察,是下面參數(shù)不同:


OK,好辦,直接替換這兩個(gè)參數(shù)就行了唄:


然而發(fā)現(xiàn),并不性。還是先輸出111,有輸出222。當(dāng)時(shí)我還傻愣半天,還找同事問問。怎么這么簡(jiǎn)單,改個(gè)東西。我卻失敗了。額...結(jié)果我輸了一塊雪糕。原因是這兩個(gè)函數(shù)根本沒有被調(diào)用到。比如這樣。我上來就C3,發(fā)現(xiàn)程序繼續(xù)運(yùn)行。


原因是因?yàn)橹苯颖粌?yōu)化掉了,編譯器編譯的時(shí)候直接把這兩個(gè)函數(shù)的字節(jié)碼弄到了調(diào)用的地方,看反匯編就知道了:


相關(guān)編譯選項(xiàng)是這兩個(gè):


我們可以把?內(nèi)聯(lián)函數(shù)擴(kuò)展禁用:


????這樣就調(diào)用函數(shù)了,這個(gè)時(shí)候再去改函數(shù)就有反應(yīng)了。這里不上圖了,我本地測(cè)試發(fā)現(xiàn)可以。


下面我試了下編譯選項(xiàng),總結(jié)了一些組合產(chǎn)生的結(jié)果(VS2015?C++)

(1)優(yōu)化:完全??內(nèi)聯(lián)函數(shù)擴(kuò)展:開

?

(1)優(yōu)化:禁用???內(nèi)聯(lián)函數(shù)擴(kuò)展:開

(2)優(yōu)化:禁用???內(nèi)鏈函數(shù)擴(kuò)展:關(guān)

(3)優(yōu)化:完全???內(nèi)鏈函數(shù)擴(kuò)展:關(guān)


例子2,模擬一個(gè)最簡(jiǎn)單的破解:


要想在錯(cuò)誤密碼或者不輸入密碼的時(shí)候走yes函數(shù),姿勢(shì)有很多:

(1)OD直接加載起來,在判斷密碼正誤的地方改下邏輯,可以直接改判斷部分或者if不滿足后執(zhí)行的函數(shù)地址(如果是實(shí)際情況,推薦這個(gè))。

(2)直接上來把PE入口函數(shù)指向yes,這樣可以直接跑yes函數(shù)了。但是這樣的缺點(diǎn)不會(huì)執(zhí)行其他別的邏輯代碼了,而且執(zhí)行完,應(yīng)該不會(huì)退出。我記得是退出不了?;蛘咴僭诤竺孀约鹤芳油顺龃a。

(3)覆蓋部分主函數(shù)里面的代碼,讓他進(jìn)入主函數(shù)后直接就跳轉(zhuǎn)到yes函數(shù)了。(這個(gè)思路也行)。

(4).....還有很多姿勢(shì)。下面就簡(jiǎn)單實(shí)現(xiàn)下上面三個(gè)姿勢(shì)。雖然沒什么用,練著玩,為接下來的復(fù)雜PE變形做鋪墊。


實(shí)現(xiàn)姿勢(shì)1OD加載走走邏輯破解:



OK這就行了,比較簡(jiǎn)單,不細(xì)說了。


實(shí)現(xiàn)姿勢(shì)2:改PE入口的地址,直接讓他跑yes函數(shù):

看下入口:


之前是什么都不管,反正RVA1000對(duì)應(yīng)FOA400


OK?yes函數(shù)在這里,41000處,直接把13F2?改成1000就行了:


這樣雙擊就直接破解了:


和預(yù)想一樣,點(diǎn)擊確定后卡在這個(gè)黑色界面上了:


實(shí)現(xiàn)姿勢(shì)3:直接代碼覆蓋(這個(gè)不通用,之后在解釋):

?

? ? 直接把400-420的函數(shù)yes?代碼覆蓋到420-440no里,如果no里代碼比較多,可以直接C3返回,但是上面也有很多坑,之后會(huì)的例子里會(huì)解釋。

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的Windows PE变形练手1-用PE自己的机器码修改自己的逻辑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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