❶ 是不是所有的程序都可以反編譯得到原代碼
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。
❷ 任何程序都可以反編譯嗎為什麼有一些程序不可以反編譯
javap是用作反編譯的,但是javap只能給出你要反編譯的class的結構,比如有什麼方法,有什麼static或者非static的變數什麼,但不可能產生源代碼編譯後的文件不是原代碼文件,所以不能直接拿來編譯。希望樓主採納
❸ VS 中如何把編譯好的ASP.NET網站 反編譯啊
如果是通過普通發布的話,
在aspx頁面page指令中有一個屬性inherits 他就是說他相對應的cs文件,生成了DLL的名字,不過都是隨機命名的。找到後可以用.NET Reflector 反編譯下,
如果是用WebDeploymentSetup插件發布的話, 就只有一個程序集了,那更好辦了
❹ C++程序可以被反編譯嗎
c/c++程序是不能被反編譯的,除非是debug版本(包含各種標識符及調試信息),release版本沒有任何有關源碼的信息,是不能被反編譯的
❺ 可以把vs2010發布的asp.net網站文件還原成源代碼嗎源代碼不見了,只有發布後的文件。
用Reflector5可以反編譯程序集,但要還原成整個網站源代碼很困難。
❻ EXE文件反編譯成源碼
EXE文件可以通過步驟來反編譯成源碼,具體步驟如下:
1、在網路上搜索下載反編譯工具ILSpy,ILspy是一個開源的.net反編譯軟體,使用十分方便。解壓後如圖,雙擊.exe文件打開解壓工具。
(6)vs發布的程序可以反編譯嗎擴展閱讀:
反編譯也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(比如可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。
exe是編譯好的程序文件 要看結構就得反編譯 但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。 所以要要看結構不止要會反編譯 還得精通匯編語言。
❼ VC++ Dll文件可以反編譯嗎
可以的。
1、Dll文件和EXE文件一樣,都屬於Windows可執行文件,都遵守PE文件格式。
2、靜態反匯編可以通過IDA等軟體來進行,動態反編譯可以通過Windbg、Ollydbg來進行。以OllyDbg為例,把要反編譯的DLL文件拖到其界面中即可看到其反匯編代碼。
❽ 如何在Visual Studio和CodeBlocks中反編譯C++代碼
需要在可執行程序中產生一個調試錯誤,比如調用 DebugBreak(),然後運行程序時會彈出一個對話框讓你選擇調試器,選擇VS進入調試環境,這時VS里顯示的就是反編譯的匯編指令。
❾ 如何反編譯一個exe文件,並修改裡面一句代碼
1、首先打開瀏覽器,網路搜索「反編譯工具ILSpy」,選擇一個安全的網站進行下載。
❿ 有沒有vs插件可以反編譯微軟程序集
如果是VS開發的動態鏈接庫,用「Y-反編譯工具Reflactor」可以