web代碼大全 e語言編寫的exe程序如何反編譯成源碼?
e語言編寫的exe程序如何反編譯成源碼?目前沒有辦法做到這一點(diǎn)。反編譯一般指逆向編譯,是指計(jì)算機(jī)軟件的逆向工程,又稱計(jì)算機(jī)軟件修復(fù)工程。它是指對他人軟件的目標(biāo)程序(可執(zhí)行程序)進(jìn)行“逆向分析和研究”,
e語言編寫的exe程序如何反編譯成源碼?
目前沒有辦法做到這一點(diǎn)。反編譯一般指逆向編譯,是指計(jì)算機(jī)軟件的逆向工程,又稱計(jì)算機(jī)軟件修復(fù)工程。它是指對他人軟件的目標(biāo)程序(可執(zhí)行程序)進(jìn)行“逆向分析和研究”,從而推導(dǎo)出他人軟件產(chǎn)品所采用的思想、原理、結(jié)構(gòu)、算法、處理過程和操作方法的設(shè)計(jì)要求,在某些情況下,還可以推導(dǎo)出源代碼。反編譯可以作為軟件開發(fā)的參考,也可以直接用于軟件產(chǎn)品中。反編譯是一項(xiàng)艱巨而復(fù)雜的任務(wù)。如果E語言的反編譯技術(shù)過于復(fù)雜,那么開源資料中就沒有反編譯軟件。為了推演他人軟件產(chǎn)品的設(shè)計(jì)元素,如思想、原理、結(jié)構(gòu)、算法、處理過程、操作方法等,有必要進(jìn)行“逆向分析與研究”。
如何將exe文件轉(zhuǎn)換成源代碼?
1. 有一個(gè)叫做exe2c的軟件,它可以把EXE文件轉(zhuǎn)換成C代碼。但是,不建議使用它。由它生成的代碼將是非常痛苦的。2計(jì)算機(jī)軟件逆向工程,又稱計(jì)算機(jī)軟件修復(fù)工程,是指對他人軟件的目標(biāo)程序(可執(zhí)行程序)進(jìn)行“逆向分析和研究”的工作,從而推導(dǎo)出他人軟件產(chǎn)品的設(shè)計(jì)要素,如思想、原理、結(jié)構(gòu)、算法等,處理過程、操作方法等,這些都可以在某些特定情況下使用,可以推導(dǎo)出源代碼。反編譯可以作為軟件開發(fā)的參考,也可以直接用于軟件產(chǎn)品中。
EXE文件如何去殼?用什么方法?
因?yàn)檫@不是一個(gè)好的行為,我一般不會去太詳細(xì)的需求:可執(zhí)行文件分析工具,如peid,可以分析EXE文件的內(nèi)部情況,入口點(diǎn),數(shù)據(jù)段,是否shell等shell工具。簡單的shell官方會提供去殼工具,手工去殼稍微復(fù)雜一點(diǎn)。靜態(tài)反編譯工具。從exe反編譯匯編代碼,首先看內(nèi)部邏輯、請求、函數(shù)調(diào)用、數(shù)據(jù)等。動態(tài)跟蹤調(diào)試工具,例如ollydog,簡稱od。用于跟蹤程序的執(zhí)行過程、斷點(diǎn)、跟蹤、查找和分析軟件加密算法,或通過改變匯編指令來改變程序邏輯。注冊機(jī)生產(chǎn)工具,貼片生產(chǎn)工具。找出算法并逆向分析出注冊機(jī)生產(chǎn)工具,編寫出注冊機(jī);通過修改匯編代碼來編寫補(bǔ)丁。比如把JE改成jne。以上是基本需要。對于較大的軟件破解,需要使用“文件系統(tǒng)監(jiān)控工具”、“注冊表監(jiān)控工具”、“虛擬機(jī)”等。如果要直接制作破解版本,還應(yīng)使用“exe資源修改替換工具”。然后必備的知識是:PE原理、匯編語言、算法分析、編程語言。最后:充分利用互聯(lián)網(wǎng)和搜索引擎。
中國的逆向工程到底有多厲害?
逆向工程也稱為逆向工程。
逆向工程的主要思想是根據(jù)已有的東西和結(jié)果,通過分析推導(dǎo)出具體的實(shí)現(xiàn)方法。
例如,如果你看到一個(gè)別人寫的EXE程序能產(chǎn)生一些漂亮的動畫效果,你可以通過反匯編、反編譯、動態(tài)跟蹤等方法分析其動畫效果的實(shí)現(xiàn)過程。這種行為是逆向工程;不僅反編譯,而且推出設(shè)計(jì),并記錄它。逆向軟件工程的目的是維護(hù)軟件。
逆向工程技術(shù)包括圖像逆向工程、軟件逆向工程和物理逆向工程。
目前,對象反求技術(shù)被大多數(shù)人所研究。
研究CAD模型的重構(gòu)和最終產(chǎn)品的制造。
三維逆向工程是將物理模型數(shù)據(jù)轉(zhuǎn)化為設(shè)計(jì)和概念模型,并在此基礎(chǔ)上對產(chǎn)品進(jìn)行分析、修改和優(yōu)化的技術(shù)。
介紹四種逆向工程軟件
既然開發(fā)國產(chǎn)操作系統(tǒng)最大的弊端是應(yīng)用生態(tài),那為何不開發(fā)一款能直接運(yùn)行exe程序的操作系統(tǒng)?
因?yàn)樗霾坏健?/p>
對于國內(nèi)軟件企業(yè)來說,困難在哪里?
當(dāng)微軟開發(fā)早期的操作系統(tǒng)DOS(windows的前身)時(shí),有許多類似DOS的操作系統(tǒng)(如dr DOS),它們也可以運(yùn)行exe程序,甚至比Microsoft DOS提供更多的功能(如快速命令輸入)。
那是因?yàn)楫?dāng)時(shí)的DOS操作系統(tǒng)非常簡單和粗糙。商業(yè)開發(fā)公司很容易充分實(shí)現(xiàn)其職能。
但是現(xiàn)在windows操作系統(tǒng)已經(jīng)是一個(gè)擁有數(shù)十億行代碼的“巨型”操作系統(tǒng)。頂級程序員可能需要10年或更長時(shí)間才能完全實(shí)現(xiàn)他們已經(jīng)實(shí)現(xiàn)的功能,達(dá)到10萬人的水平。
粗略計(jì)算,按每人每年100萬元的年薪計(jì)算,大約需要1萬億元。
目前,沒有一家企業(yè)能夠支付如此高的投資成本。
而且,即使我們花上萬億元人民幣來實(shí)現(xiàn)windows的功能,微軟在過去的十年里也沒有閑著,與現(xiàn)實(shí)的差距可能還需要萬億元人民幣來填補(bǔ)。
有人會說,為什么要實(shí)現(xiàn)windows的所有功能?只是實(shí)現(xiàn)它的一部分。不需要這么多年,這么多人,這么多錢。
不幸的是,很難找到一個(gè)只實(shí)現(xiàn)部分功能的解決方案。不同的exe需要不同的操作系統(tǒng)函數(shù),不同的操作系統(tǒng)函數(shù)可能相互調(diào)用。
既然一個(gè)企業(yè)承受不起復(fù)制windows操作系統(tǒng)的成本,那我們能不能打出“兩彈一星”的模式,集中國力不惜一切代價(jià)去實(shí)現(xiàn)呢?畢竟,1萬億元只占中國GDP的十分之一。
不幸的是,這仍然是不可行的。
首先,windows包含數(shù)以萬計(jì)的專利。如果我們想完全繞過這些專利保護(hù),那將比登月更困難。
其次,大量的exe開發(fā)者也是歐美公司。他們可能不支持這種完全復(fù)制的windows操作系統(tǒng)。
最后,現(xiàn)實(shí)是,即使來自全國各地的架構(gòu)師和程序員都很集中,也很難在十年內(nèi)完全復(fù)制現(xiàn)有的windows系統(tǒng)。
學(xué)習(xí)反匯編,程序逆向分析等需要掌握哪些知識?
如果你是零基,想學(xué)反匯編,那你還有很長的路要走,我們做這個(gè)教育,叫15pb,可以發(fā)我們的課程表給你參考。學(xué)這東西沒有捷徑,你得一步一步地學(xué)。第一階段:C語言,C,C高級,數(shù)據(jù)結(jié)構(gòu),python,密碼學(xué),協(xié)議分析,MySQL第二階段:匯編語言,SDK編程,接口庫編程,windows原理,windows高級原理第三階段:內(nèi)核編程,病毒分析,反求工程,漏洞挖掘,炮擊,炮擊到第三階段,你就有能力練習(xí)反拆和反工作。