日期:2022-12-04 17:17:21
来源:互联网
点击:14
下面就是为您整理了的android 通过360加固后还能被反编译吗的答案
怎么我的android添加了防止反编译后就不能运行急需答案你说加入了反编译,是不是指代码混淆。
如果是代码混淆需要注意有些类不可混淆
1. manifast注册的组件类
2. 布局中使用的自定义类
3. 通过反射方式寻找的类
4. 使用js调用本地方法的类(js调用java)
另外还有:
如果你的代码中需要注解功能也不能混淆
比如@SerializedName(name)
或者解析数据需要泛型,则需要保持泛型
android程序很容易被反编译吗?有知道的吗?一、dexdump方法
dexdump是emulator自带提供的查看dex文件的工具,可使用类似这样的命令将dex文件dump到txt文件中:
D:Program Filesandroid-sdk-windows-1.6_r1platformsandroid-1.6 oolsdexdump.exe -d classes.dex spk.dump.txt
得到的文件内容,描述了类的信息,但实在是不好读啊~~~~
二、dex2jar XJad 方法
该方法是使用dex2jar.jar包,将classes.dex文件解包成jar,在通过XJad(或者其他class反编译工具)进行java反编译。如:
1、dex2jar.bat d:playclasses.dex
默认的输出路径同classes.dex,生成的文件名为classes.dex.dex2jar.jar
2、使用XJad反编译该jar包
之后的使用方法,大家都懂的:)
该方法的好处在于,通过XJad反编译后,大家可直接开到java源文件,缺点在于只能反编译出开发时的java文件,而开发时使用的lib包不能反编译出来。
三、AXMLPrinter2.jar baksmali.jar smali.jar 方法
这个方法就强大了,AXMLPrinter2是还原AndroidManifest.xml和main.xml的工具,直接打开这两个xml文件是乱码,而通过还原之后,可以很明白的看到里面的内容(我猜测还是使用了字节异或的方式加的密)。
app可以被反编译到什么程度有什么好的建议?Android APK中的Java代码可以被反编译到什么程度主要看APK的加密程度。
第一种情况:无混淆无加密无加壳。
直接利用Dex2jar和JD-GUI可把源码从APK里抠出来,代码逻辑清晰,基本上做到可复用,只是资源文件的引用需要计算一下。
第二种情况:混淆。
通常是利用Proguard做的防护。因为是对jar做的不可逆混淆(除非有mapping),因此不能还原成原来的代码。但是代码结构,代码逻辑一致,只要花长时间对代码进行梳理一样可找准核心代码,解密方法跟第一种一致。
第三种情况:加密。
这里以DexGuard为例。对于这种代码加密的方法,在程序运行中必定会进行解密,只要抽出它解密的逻辑便可。PS:我自己做过DexGuard的解密,如果用Dex2jar反编译看的话逻辑是不对的,一定要从Smali代码看。后来发现网上已经有人做了。
解密的脚本:A look inside Dexguard
第四种情况:加壳。
这种情况跟第三种类似。无论你怎么加壳,运行的时候必定是Dalvik可识别的Odex代码,建议直接在内存里dump出来。这里推荐Xpose的ZjDroid。
优质内容android 通过360加固后还能被反编译吗来源于网友整理,仅供参考。提示:想了解更多android 通过360加固后还能被反编译吗(andro)相关的内容,请尝试通过上方搜索框搜索。