A. 是不是所有手機應用可以反編譯嗎
是不是下了什麼見不得人的東西啦,這個需要反編譯,就像把APK解壓一樣,里邊有文件夾,把封面圖片替換掉,說起來有點復雜 不過操作還是很簡單的, 你可以網路APK反編譯,如果是後下載的APK 直接反編譯 然後安裝 如果手機自帶的就麻煩點,需要root 然後安裝RE管理器 吧文件提取出來在反編譯, 然後再放回去,調整好許可權,重啟開機,
B. 是不是所有的程序都可以反編譯得到原代碼
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。
C. java生產的class文件真的可以反編譯嗎,這里的反編譯是反編譯成java文件是嗎
是的,.class 文件可以反編譯成.java文件,在網上就。
參考:http://jingyan..com/article/d5a880eb8bde1113f047cc61.html
D. VC++ Dll文件可以反編譯嗎
可以的。
1、Dll文件和EXE文件一樣,都屬於Windows可執行文件,都遵守PE文件格式。
2、靜態反匯編可以通過IDA等軟體來進行,動態反編譯可以通過Windbg、Ollydbg來進行。以OllyDbg為例,把要反編譯的DLL文件拖到其界面中即可看到其反匯編代碼。
E. exe文件能不能反編譯
所有exe文件都能進行「反編譯」,只不過是經過加密或者優化處理的exe文件反編譯出來無法正常閱讀。
F. 如何反編譯任意文件
一般來說反編譯都是針對已知類型,例如exe之類的。
而且世上沒有純粹的新類型文件,都是某人做出來的,不會無緣無故跳出來一個新文件類型。這文件也必然是有源代碼,有編譯器。如果你沒見過這個類型,可以去網上找找,只要找到類型,就有反編譯的可能。不過不同類型區別很大。比如vb5.0和6.0隻能看到窗體,而c#就可以看到源碼。
對未知類型來說,可用ultraedit打開,查看文件頭信息,基本可以確定這是一個什麼樣的文件。
G. 文件可以完美反編譯出源碼嗎
基本上都不行,至少變數這些都不能反編譯出來,像C++這樣的更不行了,經過編譯器優化之後,反編譯的匯編一般人都看不明白。
H. sys文件可以反編譯嗎
可以。sys文件是驅動程序的可執行代碼,其擴展名為sys,sys文件用於存儲設備驅動程序和其他核心的Windows功能,sys文件的源代碼可以反編擇,sys文件用於存儲設備驅動程序和其他核心的Windows功能。
I. java的打包後jar包裡面的class文件都能被反編譯成為源碼嗎
jd-gui這個工具可以進行反編譯的操作。 不過反編譯的質量隨著混淆的程度而定。
特別復雜的代碼(如加密演算法)反編譯一般都有問題。可以建議用 javap -c -p 來看位元組碼。然後參考jvm指令。
一般編譯的文件,都可以反編譯為源碼,但如果是經過加密、以及代碼異常復雜,是很難恢復全部的源碼。
J. 可以反編譯DLL文件嗎
若您所說的Dll是.Net編譯生成的Dll的話,則可使用.NET Reflector。其最新版下載地址如下:http://www.red-gate.com/procts/reflector/