所有程序都能反編譯嗎
A. 對於一個已經編程好的程序,是否可以對他進行反編程
當然可以, 上網搜,可以搜到大把反編譯器, 這樣可以把別人做好的應用程序反編譯成程序代碼,從而進行分析。
以java為例,java代碼寫好後,編譯並打包成 .jar 可運行文件(相當於.exe)。這時可以上網找到比如「小穎反編譯器」之類的工具進行反編,這樣又可以把.jar反編成一堆原始的java代碼。
由於有這個問題,所以程序員們為了防止自己的工作成果被人抄襲後來就產生了混洧器, 利用混洧器可以將jar文件中的資源進行混洧,這樣雖然可以將.jar還原成源代碼,但現在的源代碼被隨機地打亂了,很難看懂,基本不具備可讀性。
當然有矛就有盾, 再歷害的混淆器也有歷害的反編器來破解它。
就像病毒和殺毒軟體一樣相生相剋
B. .NET下所有語言都可以輕松被反編譯嗎
JVM和CLR下面的所有語言都是先編譯為位元組碼的,相對於傳統的C++,容易被反編譯容易被反編譯的不僅僅是C#,還有Java,F#,VB.net,事實上,C#已經可以通過native編譯直接生成機器碼運行了(.net native技術)這樣一定程度上可以提高反編譯的難度
C. 編譯好的可執行程序有什麼辦法能反編譯成代碼
除了java程序,想反編譯成原來的代碼幾乎不可能
你只能把它們反編譯成匯編代碼
如果是C/C++編寫的程序,可以用Spy++跟蹤到裡面的函數
不過也跟蹤不到具體的代碼
D. 任何程序都可以反編譯嗎為什麼有一些程序不可以反編譯
javap是用作反編譯的,但是javap只能給出你要反編譯的class的結構,比如有什麼方法,有什麼static或者非static的變數什麼,但不可能產生源代碼編譯後的文件不是原代碼文件,所以不能直接拿來編譯。希望樓主採納
E. 反編譯exe文件就是把exe還原為匯編
NO1. 反編譯exe程序 就是 把 exe 還原為匯編語言嗎? 除了 還原為 匯編語言,還能 反編譯為 其他高級語言嗎? 比如 c c++ java 等.
1. 簡單的說就是用工具打開exe文件會出現匯編代碼。不能。這是反匯編的工作就是看著匯編代碼用別的語言來實現。
NO2. 是不是所有exe 程序 都 可以 反編譯 為 匯編語言?
2. 理論上說是的,不過有的程序加了殼,這樣就要先脫殼這是破解的知識,他們為了保護自己的軟體防止盜版。
(不是多有的exe都能用od打開的,你可以看看破解的相關知識。去看雪就行)
NO3. 推薦一款 把 exe 程序 反編譯為 匯編語言 的 軟體。 要求 兼容 windows vista home basic 本人是 有一丁點 匯編基礎 的 菜鳥,,希望高手 不吝指教。
3. 上網搜 OD 反匯編工具是很強大的 我的win7沒有問題。還有一款比較nb的是IDA你還是不要去碰它了,牛人用的。
F. 反編譯是違法的嗎
反編譯是違法的,反編譯是指計算機軟體反向工程( Revers e engineering )也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。
根據《共和國著作權法》規定有下列侵權行為的,應當根據情況,承擔停止侵害、消除影響、賠禮道歉、賠償損失等民事責任:
(一)未經軟體著作權人許可,發表或者登記其軟體的;
(二)將他人軟體作為自己的軟體發表或者登記的;
(三)未經合作者許可,將與他人合作開發的軟體作為自己單獨完成的軟體發表或者登記的;
(四)在他人軟體上署名或者更改他人軟體上的署名的;
(五)未經軟體著作權人許可,修改、翻譯其軟體的;
(六)其他侵犯軟體著作權的行為。
G. 是不是所有的程序都可以反編譯得到原代碼
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。
H. 從單片機讀出來的程序,可以反編譯嗎
可以的,但反編譯出來的程序跟天書一樣,很難讀懂的