c語言反編譯可以獲得源代碼么
Ⅰ snowman反編譯代碼怎麼運行
使用反編譯軟體即可獲得源代碼。
反編譯獲得的是匯編格式的源代碼,讀懂需要較高的水平,大多反編譯軟體都具有生產c語言格式的功能,但是效果不同,而且並非是全部都能生成C語言,還有很多是匯編格式的。所以對已生成的程序進行反編譯需要足夠的耐心和經驗才能讀懂。
使用Reflector反編譯exe或dll文件都可能無法進行編譯(這里指已經對目的文件進行了脫殼處理),主要原因有以下幾點:1、如果對方使用了混淆技術,我們再反匯編會非常棘手,我常用的做法是把某個亂七八糟的名稱使用自己的命名規范重新批量重命名,這樣便於分析程序的結構。2、Reflector對枚舉類型的支持不是很好,它往往會把枚舉當做整數進行處理,這個需要你手動更正過來。3、對於自動屬性,你需要把不符合編譯語法的地方更正過來。自動屬性的私有欄位一般都含有等,需要手動更正一下。4、對於Winform,你需要重新編譯一下相關的資源文件,如果編譯過程提示找不到資源的話。5、對於靜態變數或者靜態類,這個你更要注意。
Ⅱ 什麼是逆向工程什麼是反編譯可以根據已經封裝好的程序軟體進行破解分析出源代碼嗎
逆向工程就是根據已有的程序來反推出源代碼以及原來的工程設置,反編譯就是具體的將已經編譯好的程序進行反向工程,從而獲取部分源代碼。一般來說,逆向工程或者反編譯是無法百分之百獲得源代碼的,只能從一定程度上來自源代碼進行猜測,因此根據已經封裝好的程序軟體來進行破解分析出源代碼的可能性並不大,逆向工程的意義並不在於破解源代碼,而是在於了解軟體本身的設計,對於復雜的程序軟體而言破解源代碼的可能性幾乎為零。
Ⅲ 用C語言寫的程序怎麼進行反編譯
c語言寫的程序一般很難反編譯的,即使可以,也不可能得到源碼的。編譯的完成後已經轉化為機器語言了,不是完全可逆的過程