當前位置:首頁 » 編程軟體 » 編譯後的代碼可以恢復成源代碼嗎

編譯後的代碼可以恢復成源代碼嗎

發布時間: 2022-08-22 13:49:07

㈠ 是不是所有的程序都可以反編譯得到原代碼

Android APK中的Java代碼可以被反編譯到什麼程度主要看APK的加密程度。

第一種情況:無混淆無加密無加殼。
直接利用Dex2jar和JD-GUI可把源碼從APK里摳出來,代碼邏輯清晰,基本上做到可復用,只是資源文件的引用需要計算一下。

第二種情況:混淆。
通常是利用Proguard做的防護。因為是對jar做的不可逆混淆(除非有mapping),因此不能還原成原來的代碼。但是代碼結構,代碼邏輯一致,只要花長時間對代碼進行梳理一樣可找准核心代碼,解密方法跟第一種一致。

第三種情況:加密。
這里以DexGuard為例。對於這種代碼加密的方法,在程序運行中必定會進行解密,只要抽出它解密的邏輯便可。PS:我自己做過DexGuard的解密,如果用Dex2jar反編譯看的話邏輯是不對的,一定要從Smali代碼看。後來發現網上已經有人做了。
解密的腳本:A look inside Dexguard

第四種情況:加殼。
這種情況跟第三種類似。無論你怎麼加殼,運行的時候必定是Dalvik可識別的Odex代碼,建議直接在內存里mp出來。這里推薦Xpose的ZjDroid。

㈡ complie之後的文件怎麼恢復成原來的源代碼的樣子

不行的吧

㈢ 請問被編譯後的易語言程序還能重新搞回未編譯的樣子嗎

一般情況下是不可能完全和原先一樣的,只能用反編譯器看原先的源碼

㈣ 用C++編出的exe文件能否被還原成cpp代碼

可以但是相當不現實。與匯編的精簡不同,C語言的編譯鏈接會把相當多冗餘的演算法帶到Obj和Exe里去(一來為了兼容不同硬體環境把各種演算法都考慮到,二來因為其效率確實遠不如匯編)。一個幾十KB的Exe可能反編譯出一本字典那麼多的源程序。如果你不嫌費事可以上網找C語言的decompile軟體試試。

㈤ 已知一個程序是C++編寫的,有沒有辦法把她恢復成C++源代碼

C/C++程序(.c/.cpp),首先會進行預編譯,編譯後還是C/C++程序(.i)。這個結果會再進行編譯,結果會是匯編代碼文件(.s)。匯編代碼文件再進行匯編,結果會是可重定位的目標文件(.obj)。可重定位的目標文件再進行鏈接。結果就會產生可執行的目標文件,也就是通常win32平台上的.exe文件。
對於.exe或者.obj文件,我們可以通過反編譯工具(如Unix下的objmp)把它們還原成匯編代碼文件。但是再要往上一步,從編譯原理的角度來說,就很困難了。目前這樣的工具我還沒聽說過。

㈥ exe反編譯後的獲得的源碼能復原為exe嗎

看中間語言。然後用C#寫個出來唄

㈦ 已打包的C#項目如何還原成代碼

如果你說的項目是sln的話,那麼他就是源代碼,可以更改

如果是別人編譯後的exe或dll,去下一個reflector吧,把源代碼復制出來,再自己改吧。

㈧ 怎麼把編譯後的文件改成源碼

對不同的編譯器有各種反編譯軟體,但是不能完全還原,很多地方還讀不通,所以想知道源碼是不可能滴!

㈨ 有可以將exe文件還原成C++文件或VF等源代碼的軟體嗎

這叫反編譯。用vc寫的程序編譯後的執行文件為.exe,反編譯後還原出vc源碼,用vf寫的程序編譯後的執行文件為.exe,反編譯後還原出vf源碼,不存在「從exe文件里還原出VC或VF的源代碼」的「或」的情況。
反編譯vf的軟體叫unfox,網上有down,現在的版本是3.幾

熱點內容
華為平板怎麼儲存伺服器文件 發布:2025-02-06 12:49:21 瀏覽:479
php查詢結果數組 發布:2025-02-06 12:31:05 瀏覽:714
怎樣把照片壓縮打包 發布:2025-02-06 12:15:19 瀏覽:496
如何編譯java文件 發布:2025-02-06 12:05:58 瀏覽:237
九九乘法編程 發布:2025-02-06 12:05:05 瀏覽:519
台式機忘記開機密碼怎麼辦 發布:2025-02-06 11:58:01 瀏覽:871
android刷新按鈕 發布:2025-02-06 11:57:17 瀏覽:586
存儲過程有輸入參數和輸出參數 發布:2025-02-06 11:55:32 瀏覽:99
成績評選演算法 發布:2025-02-06 11:42:51 瀏覽:997
資料庫測試數據 發布:2025-02-06 11:31:05 瀏覽:824