反编译怎么装
⑴ 反编译工具reflector怎么用
首先,下载并安装Reflector,安装完成后,会看到如下的界面。也有免安装版可供选择。
运行Reflector软件,会跳转到如图所示的界面。
选择文件菜单中的“打开程序集”,这表示你将要反编译的程序,如图所示的红色框。
选择你需要反编译的exe程序,如图所示。选择好后点击确定,如图所示。
在左侧界面,你会看到已选择的文件,如图所示的红色框。
点击邮件exe程序,然后选择“导出源代码”,这表示开始反编译了,如图所示。
选择存储源码的路径,如图所示。
最后点击开始,即可得到反编译源码,如图所示。
使用Reflector进行反编译,可以让你深入了解程序的内部结构,这对于软件逆向工程、调试和分析是非常有用的。
在反编译过程中,需要注意保护版权和遵守相关法律法规,合理合法地使用反编译工具。
同时,对于那些希望通过学习和研究来提高自己编程技能的人来说,反编译也是一个非常好的学习工具。
值得注意的是,反编译可能不会得到所有源代码,特别是对于使用了混淆技术的程序,反编译结果可能较为复杂和难以理解。
尽管如此,通过反编译,你可以了解程序的架构、逻辑和实现细节,这对提升编程水平和解决实际问题非常有帮助。
总之,Reflector是一款功能强大的反编译工具,掌握其使用方法,可以让你更深入地了解程序的本质。
⑵ eclipse怎样进行反编译
在Eclipse中进行反编译,首先需要下载并安装Jadclipse插件。根据Eclipse版本的不同,可以选择不同的Jadclipse版本,例如,对于Eclipse 3.1M6及以上版本,可以选择下载jadclipse_3.1.0.jar;对于Eclipse 3.2M3和3.2M4,建议使用jadclipse_3.2.0.jar;而对于Eclipse 3.2M5以上版本,则推荐使用jadclipse_3.2.2.jar。此外,还需要下载Jad反编译工具,从http://www.kps.com/jad.Html#download获取,下载后解压jad.exe,并将其复制到%Java_HOME%BIN目录下。
安装Jadclipse插件的方法有两种。一种是直接将jadclipse_3.1.0.jar复制到%ECLIPSE_HOME%plugins目录;另一种是使用link方式,创建E:eclipse3.1pluginsjadclipse3.1.0eclipseplugins的目录结构,将jadclipse_3.1.0.jar放入plugins目录,并在%ECLIPSE_HOME%links目录下创建jadclipse3.1.0.link文件,内容为:path=E:\eclipse3.1plugins\jadclipse3.1.0。启动Eclipse后,打开Window->Preferences->Java->JadClipse,确认插件安装版本与Eclipse版本匹配。
设置反编译参数时,需在Window->Preferences->Java->JadClipse中进行。Path to decompiler设置jad.exe的全路径名,例如:%JAVA_HOME%binjad.exe;Directory for temporary files设置临时文件的存放路径。其他如Debug、Directives、Formatting、Misc等目录中的参数设置可根据需求自行调整。
安装完成后,Eclipse将自动将JadClipse Class File Viewer设置为class文件的默认打开方式。如需更改,可进入Eclipse的Windows->Perference->General->Editors->File Associations,将“*.class”文件关联至“JadClipse Class File Viewer”。此后,双击class文件,Eclipse将自动进行反编译。
值得注意的是,对于存在源代码的类,JadClipse不会强制反编译,依然会使用Eclipse自带的Class File Viewer查看class文件。这一设置避免了不必要的反编译过程,有助于提高工作效率。
⑶ apk反编译工具Apktool的安装与使用教程
APKTool是GOOGLE提供的APK编译工具,需要JAVA运行环境,推荐使用JDK1.6或者JDK1.7。 下面就一起来看看详情了解一下该怎么安装使用吧软件名称:apktool(apk反编译工具) v1.41 中文绿色免费版软件大小:3.32MB更新时间:2014-01-04
如果你想对APK文件进行修改,那么就不可避免的要使用到APKTool。论坛里有很多关于ROM美化的帖子都需要自己动手修改APK文件,比如修改framework-res.apk、systemUI.apk等等。
相信各位有不少人看了后都想亲自来修改一番,但是结果却是遇到了各式各样的错误却无法进行改正,甚至都不知道自己错在哪里。
一.APKTOOL使用环境配置
1.安装JAVA并设置环境变量。
下载安装都很简单,关键是安装完后还需要亲自设置环境变量以方便其他程序能够条用JAVA。
以WIN7为例,在桌面上右键点击计算机——>属性——>高级系统设置——>环境变量——>在下边的系统变量里新建一个变量,变量名为JAVA_HOME,值为JAVA的安装路径,比如我的是H:\ProgramFiles\Java\jdk1.6.0_26
二.APKTool的安装
1.其实这个谈不上安装,不过如果你愿意的话可以把下载到的APKTOOL中的三个文件(aapt.exe、apktool.bat、apktool.jar)解压缩到你的Windows安装目录下,以方便使用Dos命令.
2.可能有些人下载的APKTOOL里有个安装的bat文件,并且有另外两个方便使用的bat文件,在这里我不推荐大家使用这些bat文件,虽然使用起来很方便(其实我并不觉得方便),但是如果出现错误不方便查看。
三.APKTool的使用
1.decode
该命令用于进行反编译apk文件,一般用法为
apktool d
代表了要反编译的apk文件的路径,最好写绝对路径,比如C:\MusicPlayer.apk
代表了反编译后的文件的存储位置,比如C:\MusicPlayer
如果你给定的已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f
这样就会强行覆盖已经存在的文件
2.build
该命令用于编译修改好的文件,一般用法为
apktool b
这里的就是刚才你反编译时输入的(如C:\MusicPlayer),输入这行命令后,如果一切正常,你会发现C:\MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
3.install-framework
该命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。具体情况请看常见问题
四.常见问题
1.关于安装和管理framework文件
以下大部分其实是翻译自http://code.google.com/p/android-apktool/wiki/FrameworkFiles
一般来说,你在使用apktool进行反编译前不需要做其他的事情,然而由于有的厂商,如HTC,三星等,他们定制了framework文件并且在他们的系统应用中使用了这些文件,这时,为了能正常的反编译这些apk文件,你就必须从你的设备中拷贝出framework文件并且安装到apktool中。
举一个例子,比如你想反编译HTCHero这款手机中的HtcContacts.apk,当你尝试反编译的时候,你会得到以下错误信息。
1.$ apktool d HtcContacts.apk
2.I: Loading resource table...
3.I: Decoding resources...
4.I: Loading resource table from file: /home/brutall/apktool/framework/1.apk
5.W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x02020542
6....
7.W: Could not decode attr value, using undecoded value instead: ns=android, name=icon, value=0x02020520
8.Can't find framework resources for package of id: 2. You must install proper framework files, see project website for more info.
复制代码
这就是在通知你必须先安装HTC定制的framework文件,事实上在修改一些三星的系统应用时也是如此。
以三星的设备来举例,你需要复制两个framework文件来进行安装,framework-res.apk和tzframework-res.apk,一般来说,这两个文件在手机中的位置应该是system\framework\
使用以下代码进行安装
apktool if C:\framework-res.apk
apktool if C:\tzframework-res.apk
这里假设2个文件都放在C盘根目录
2.直接用build编译后在dist中找到的apk文件无法使用
其实这个问题我也不是特别理解,目前知道的就是,APK文件虽然本质是个zip文件,但是事实上zip包中的文件是按照两种方式压缩的,即XML文件进行deflate压缩,其他文件不进行压缩(使用store存储),而直接编译得到的APK文件对任何的文件都进行了deflate压缩,因此你会发现编译得到的文件比原文件小好多。
同样的,当你使用build文件夹中的文件替换原apk文件中的资源时,请务必确认是使用store存储还是deflate压缩
3.其他错误
其实在编译过程中会遇到很多其他的问题,大多数是由于删除、修改、添加了资源后,没有对应的修改res\values\public.xml文件而造成的,这里我给大家说下修改的原则:
第一,public.xml文件中的资源不能重复定义。
第二,public.xml文件中的任意两个资源的ID不能一样
第三,public.xml文件中定义的资源必须能找到该文件(如果你删除了一些文件,必须要对应的删除public.xml中的该行)
第四,public.xml文件中尽可能全面(如果你添加了某资源,最好确保在public.xml中也添加)
第五,public.xml文件中的资源的ID尽可能连续(当你为添加的文件添加声明时,赋予的ID尽可能是连续的)