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/