首先需要反编译的三个软件:
apktool:资源文件获取;
dex2jar:源码文件获取;
jd-gui:源码查看。
1. apk反编译得到程序的源代码、资源文件
1.1 apktool解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,现在用weixin做实验(这里仅是示范作用),将需要反编译的weixin_800.apk文件放到该目录下,打开命令行界面(运行-CMD),定位到apktool文件夹,输入以下命令:apktool d [-s] -f weixin_800.apk -o weixin; 其中weixin_800.apk是要反编译的apk文件名,weixin是反编译后存放的目录文件,此文件不需要新建,反编译后会自动生成
1.2 打开weixin文件夹,res就是要找的资源文件,目录结构和平时建的项目很像。
1.3 这时候打开D:apktoolweixin
esanim下a.xml看下,xml文件轻而易举的获取了
2. Apk反编译得到java源代码
2.1 解压dex2jar和jd-gui文件;将要反编译的APK后缀名改为.zip,并解压,得到其中的classes.dex文件,将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15文件夹内
2.2 在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat classes.dex
2.3 这个时候会发现dex2jar-0.0.9.15文件夹多了一个classes_dex2jar.jar文件
2.4 现在就可以用工具jd-gui.exe打开这个jar了
2.5 通过反编译,可以知道别人用到了哪些库文件,它的代码大体是如何编写的等等。有了思路就可以自己尝试了。
② 谁做过反编译提取unity资源的啊,问个问题
可以,80%以上的Unity游戏都根本没做代码混淆和资源加密,简直都对不起反编译三个字。直接拿来用就可以。
工具的话,看代码用reflector。
资源就是打好包的assetbundle,直接用就好了
③ 如何从apk反编译文件找到服务器网站
使用工具包中的android-reverse-trinea\apktool-1.5.2-windows或下载最新的apktool(需同时下载apktool及对应平台的依赖包,解压后将平台依赖包中的apktool.jar复制到apktool目录下),在命令行运行:
apktool.batd-fxxx.apk xxx
其中d表示解包,xxx.apk为待反编译apk路径,xxx为目标文件夹名,(apktool不支持中文目录),结果会再apktool.bat所在目录下生成weixin文件夹,现在就可以正确的查看xml资源(包括res下的所有资源,如图片、drawable、layout、value、menu等等)了,比如AndroidManifest.xml
④ apk文件反编译后找不到可汉化的文本资源内容,请问现在的这些内容都存在于哪些位置和文件里了
估计是被加密到smali文件里面去了,转了好几个进制,应该是这样,我也在钻研这个问题
⑤ android反编译后代码中的资源全是数字,又找不到R.java怎么办
这串数字是资源的ID。不是名称。
⑥ 如何反编译android的apk文件得到资源文件
那要看你反编译的程度了。
apk反编译有两部分,一部分是res等xml资源文件。
用android 的apktool就可以了。
这些xml文件都可以在eclipse中直接打开。
dex文件(源代码)需要使用dex2jar工具转化成jar文件。
jar文件可以在eclipse查看其结构。
⑦ 怎么查看assetbundle文件反编译
Unity会下载Assetbundle本地中,它的工作原理是先通过(版本号和下载地址)先在本地去找看有没有这个Assetbundle,如果有直接返回对象,如果没有的话,在根据这个下载地址重新从服务器或者本地下载。这里版本号起到了很重要的作用,举个例子,同一下载地址版本号为1的时候已经下载到本地,此时将版本号的参数改成2 那么它又会重新下载,如果还保持版本号为1那么它会从本地读取,因为本地已经有版本号为1的这个Assetbundle了。你不用担心你的资源本地下载过多,也不用自己手动删除他们,这一切的一切Unity会帮我们自动完成,它会自动删除掉下载后最不常用的Assetbundle ,如果下次需要使用的话只要提供下载地址和版本后它会重新下载。
我们在聊聊Assetbundle 中的脚本,在移动平台下Assetbundle里面放的脚本是不会被执行的,还记得我们打包前给两个Prefab挂上了脚本吗?在手机上将Assetbundle下载到本地后,加载进游戏中Prefab会自动在本地找它身上挂着的脚本,他是根据脚本的名来寻找,如果本地有这条脚本的话,Prefab会把这个脚本重新绑定在自身,并且会把打包前的参数传递进来。如果本地没有,身上挂的条脚本永远都不会被执行。
在Prefab打包前,我在编辑器上给脚本中的变量 name 赋了不同值,当Prefab重新载入游戏的时候,它身上脚本的参数也会重新输出。
如果你的Assetbundle中的Prefab上引用的对象,那么这样做就会出错了,你需要设定他们的依赖关系。或者运行时通过脚本动态的载入对象。
⑧ 救急!如何反编译或者查看.exe的资源
反编译的话动态跟踪就用OLLYDBG这个软件,只不过没有很强的汇编功底和CRACK功底是绝对看不懂的…………
⑨ 如何从apk里面提取全部图片资源,包括人物动作特效等
有些APK程序里的图标、图片很漂亮,在使用程序时你可能会想,如果能把这些漂亮的图标、图片提取出来就好了,其实这是可以办到的,提取方式:
解压APK文件
APK程序其实就是个ZIP压缩包,想提取其中的资源就得先用解压缩软件将其打开,如图我们在APK安装包上右键、打开方式、选择压缩软件,我这里选择的是RAR,如果你安装的是其它的解压缩软件,选择它即可。如果你以前没有用压缩软件打开过APK文件,可以点击选择默认程序然后找到解压缩软件进行打开。
用解压缩软件打开APK程序后,如图里面有几个文件夹,我们拖出“res”这个文件,一般APK程序的图片资源都在这个文件中。
把“res”文件夹解压后我们打开可以看到里面的几个文件夹一般程序图标等图片都在“drawable-hdpi”这个文件夹,打开看看,是不是有自己需要的东西,如果没有再到其它的几个文件夹中查找一下。APK文件里的图片都是png格式的,可直接查看。
反编译查找资源,程序制作时把它们编译到了“resources.arsc”文件里我们想提取的话把APK文件进行反编译就可以了。
关于人物动作特效,通常是由多张图片,通过代码去控制的,只要你得到了所有图片,你就可以重组了