搜档网
当前位置:搜档网 › 推荐几款不错的android_反编译工具

推荐几款不错的android_反编译工具

推荐几款不错的android_反编译工具
推荐几款不错的android_反编译工具

推荐几款不错的android 反编译工具

1、smali-1.2.6.jar

用途:.smali文件转成classes.dex文件

说明:.smali文件,类似于.class文件,可以用普通文本编辑器查看和修改。

用法举例:命令行:java -jar smali.jar classout/ -o classes.dex

下载:http://code.googl https://www.sodocs.net/doc/b314949166.html,/p/smali/downl oads/list

2、baksmali-1.2.6.jar

用途:classes.dex文件转成.smali文件

说明:classes.dex不便于查看和理解,使用此工具转成的.smali文件易于阅读和修改。

用法:命令行:java -jar baksmali.jar -o classout/ classes.dex

下载:http://code.googl https://www.sodocs.net/doc/b314949166.html,/p/smali/downl oads/list

3、AXMLPrinter2.jar

用途:xml文件转成普通文本文件(txt)

说明:apk中的xml文件被搞成二进制了,无法阅读,使用此工具转换后,可以查看正常的xml文件。

用法举例:命令行:java -jar AXMLPrinter2.jar main.xml > main.txt

下载:http://code.googl https://www.sodocs.net/doc/b314949166.html,/p/android4me/downl oads/list

https://www.sodocs.net/doc/b314949166.html,/decompil e-android-apk-fil e.html

classes.dex是Java源码编译后生成的字节码文件。由于Android使用的dalvik虚拟机与标准的Java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcod e都不一样。

目前有下面这几种反编译的工具:

dexdump

Dedexer

AXMLPrinter2

apktool

dex2jar + JD-GUI

smali

Android开发包提供了一个dex的反编译工具dexdump。用法为首先启动Android模拟器,把要反编译的dex文件用adb push上传到模拟器中,然后通过adb shell登录,找到该dex文件,执行dexdump xxx.dex。总的来说dexdump功能比较弱,且用起来麻烦,另外反编译的结果可读性也很差。

另一个dex文件的反编译工具是Ded exer,且反编译的效果比较好。它可以读取dex格式的文件,生成一种类似于汇编语言的输出。这种输出与Jasmin的输出相似,但包含的是Dalvik的字节码。Dedexer与dexdump相比至少有3个优点:

1. 不需要在Android模拟器中运行;

2. 反编译后的文件目录结构和源代码结构相近,每个class文件对应一个ddx文件。不像dexdump那样把所有的结果都放在一起;

3. 可以作为反编译引擎。目前好多强大的反编译工具都是以Jasmin作为反编译引擎的。

可以下载已经编译好的jar文件ddx1.11.jar,对应Java 1.6版本。用法:

java -jar ddx1.11.jar -o -D -r -d src classes.dex //在src目录下生成ddx文件

在apk中的资源是经过压缩的,用文本工具看都是乱码,可以通过AXMLPrinter2将其转换为可读的xml文件。具体命令为:

java -jar AXMLPrinter2.jar xxx.xml output.xml

目前最好的dex反编译工具是apktool。可以帮助我们把apk文件反编译,输出smali格式的代码和图

片和资源等文件,还可以在修改后重新打包。将下载下来的apktool和apktool-install-windows解压到同一目录下,有三个文件:aapt.exe,apktool.bat 和apktool.jar。使用方法:

apktool d xxx.apk zzz //反编译xxx.apk到zzz目录,得到apk的图片和配置资源文件等

apktool b zzz //从文件夹zzz重建apk,输出到zzz/dist/out.apk

dex2jar是一个将Dalvik虚拟机的dex文件转换回标准Java的class文件的工具:

dex2jar xxx.apk //生成jar文件,可以用JD GUI工具直接打开查看

smali可以反编译dex文件,也可以把你修改过的代码重新编译成dex:

java -jar baksmali.jar classes.dex -o classes

java -jar smali.jar classes -o classes.dex

来源:清源教育

最全的脱壳,反编译 ,汇编工具集合

本文由nbdsb123456贡献 最全的脱壳,反编译,汇编工具集合 破解工具下载连接 1 调试工具 Ollydbg V1.10 正式汉化修改版+最新最全插件2.02m SmartCheck V6.20 20.54M Compuware SoftICE V4.3.1 精简版10.57M Compuware (SoftICE) Driver Studio V3.1 完全版176.52M TRW2000 V1.22 汉化修改版+全部最新插件1.47Mforwin9X 动态破解VB P-code程序的工具 WKTVBDebugger1.4e 2 反汇编工具 W32Dasm是一个静态反汇编工具,也是破解人常用的工具之一,它也被比作破解人的屠龙刀。 W32Dasm10.0修改版是经Killer在W32Dasm8.93基础上修改的,修改后的W32Dasm功能更强大,能完美显示中文字符串及VB程序,内含16进制编辑器,破解修改软件更容易,真可谓是反汇编极品! W32Dasm V10.0 汉化增强版419 KB 反汇编工具老大,功能大大的胜过了w32dasm。学习加解密的朋友不可错过。即使不用你也要收藏一份。:) IDA Pro Standard V4.60.785 零售版 + Flair + SDK33.08 MB C32Asm是集反汇编、16进制工具、Hiew修改功能与一体的新工具。强烈推荐! C32Asm V0.4.12 1.97 MB C32Asm V0.4.12 破解补丁 650 KB 3 反编译工具 Delphi DeDe3.50.04 Fix增强版5.3 MB 4 PE相关工具 PE编辑工具 Stud_PE1.8 PE工具,用来学习PE格式十分方便。 https://www.sodocs.net/doc/b314949166.html,/tools/PE_tools/Editor/stdupe/Stud_PE1.8.zip ProcDump32 v1.6.2 FINAL Windows下的脱壳工具并可进行PE编辑。可惜不更新了,己过时,现阶段一般只用来作为PE编辑工具使用。 Win9x/2K 大小:161K https://www.sodocs.net/doc/b314949166.html,/tools/PE_tools/Editor/ProcDump/PDUMP32.ZIP LordPE DLX 强大的PE编辑工具,有了它,其它的相关工具你可以扔进垃圾堆了。 https://www.sodocs.net/doc/b314949166.html,/tools/PE_tools/Lordpe/LPE-DLX.ZIP PEditor 1.7 可修复PE文件头,一款相当方便的PE文件头编辑工具。 417K PE Tools v1.5.4 另一款PE编辑工具。 https://www.sodocs.net/doc/b314949166.html,/tools/PE_tools/Editor/PEditor/PEDITOR.ZIP 输入表重建工具 ImportREC v1.6 FINAL 各类插件可以手工重建Import表,支持UPX、Safedisc 1、PECompact、PKLite32、Shrinker、ASPack, ASProtect、tELock等。 160K

Android如何防止apk程序被反编译

Android如何防止apk程序被反编译 作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。 Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹 proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。 下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先来看看android-sdk- windows\tools\lib\proguard.cfg的内容: [html] -optimizationpasses 5n -dontusemixedcaseclassnamesn -dontskipnonpubliclibraryclassesn -dontpreverifyn -verbosen -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*n -keep public class * extends android.app.Activityn -keep public class * extends android.app.Applicationn -keep public class * extends android.app.Servicen -keep public class * extends android.content.BroadcastReceivern -keep public class * extends android.content.ContentProvidern -keep public class * extends android.app.backup.BackupAgentHelpern -keep public class * extends android.preference.Preferencen -keep public class com.android.vending.licensing.ILicensingServicen -keepclasseswithmembernames class * {n nnn native ;n }n -keepclasseswithmembernames class * {n nnn public (android.content.Context, android.util.AttributeSet);n }n -keepclasseswithmembernames class * {n nnn public (android.content.Context, android.util.AttributeSet, int);n }n -keepclassmembers enum * {n nnn public static **[] values();n nnn public static ** valueOf(https://www.sodocs.net/doc/b314949166.html,ng.String);n }n -keep class * implements android.os.Parcelable {n n public static final android.os.Parcelable$Creator *;n }n 从脚本中可以看到,混淆中保留了继承自Activity、Service、Application、BroadcastReceiver、ContentProvider等基本组件以及com.android.vending.licensing.ILicensingService, 并保留了所有的Native变量名及类名,所有类中部分以设定了固定参数格式的构造函数,枚举等等。(详细信息请参考/examples中的例子及注释。) 让proguard.cfg起作用的做法很简单,就是在eclipse自动生成的default.properties文件中加上一句“proguard.config=proguard.cfg”就可以了 完整的default.properties文件应该如下: [html] n# This file is automatically generated by Android Tools.n # Do not modify this file --YOUR CHANGES WILL BE ERASED!n #n # This file must be checked in Version Control Systems.n #n # To customize properties used by the Ant build system use,n # "build.properties", and override values to adapt the script to yourn # project structure.n # Project target.n target=android-9n proguard.config=proguard.cfgn 大功告成,正常的编译签名后就可以防止代码被反编译了。反编译经过代码混淆的apk得到的代码应该类似于下面的效果,是很难看懂的: 如果您使用的是2.3之前的SDK版本也没关系,把上面的proguard.cfg文件复制一份放到项目中,然后进行相同的操作即可\

反编译详细教程

.去震动教程.时间居中教程,时间显示到秒且居中 在通知栏增加模拟时钟透明状态栏代码修改 字体颜色修改关于运营商图标修改 可以ctrl+F,按需搜索 一:去震动教程: 一、首先是配置编译和反编译环境,具体方法如下: 1、在电脑上下载安装JRE(https://www.sodocs.net/doc/b314949166.html,/file/clif5w53)。其次下载好apk反编译工具 (apk反编译软件.rar(2.43 MB, 下载次数: 5756) ) 2、在系统环境变量Path里加入java.exe所在路径。 右键我的电脑--属性--高级系统--设置--环境变量--系统环境变量,里面的path变量项,值里面添加java的所在路径(例如“;C:\Program Files\Java\jre6\bin”) 3、将反编译软件解压出来,为了便于使用,最好放在C:\Windows目录下。 二、提取并反编译framework-res.apk文件 1、手机必须root,先用RE管理器将/system/framework文件夹下的文件framework-res.apk复制到/sdcard,然后复制到电脑(为了方便后面的操作,建议将文件放到电脑某个盘符的根目录下。例如:e:\framework-res.apk)

2、反编译framework-res.apk文件。具体方法运行cmd.exe(如图) 然后在出来的命令提示行中输入以下命令:apktool+空格d+空格+framework-res.apk路径+空格+反编译后文件存放路径,比如文件放入d盘根目录则命令为:apktool d d:\framework-res.apk d:\framework-res(如图)(此时反编译出来的文件放在d盘framework-res文件夹下) 三、修改去震动相关的xml文件 一般framework-res\res\values\arrays.xml就是我们要修改的对象。用xml编辑器(xml 编辑器.rar(345.03 KB, 下载次数: 3223) )打开这个文件。修改如图:

Apk反编译及签名工具使用

Apk反编译及签名工具使用 1) APKtool软件包及签名tool APKtool软件包有2个程序组成:apktool.jar 和aapt.exe 另外提供一个批处理文件:apktool.bat,其内容为: java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9 运行apktools.jar需要java环境(1.6.0版本以上)。 apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。 signapk.jar 用于签名。 2) APK文件的解包 下面以解开Contacts.apk为例。首先把Contacts.apk Copy到当前工作目录下(例:Test)。在DOS下打入命令 apktool d Contacts.apk ABC 这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。 3) APK文件的打包 在DOS下打入命令 apktool b ABC New-Contacts.apk 这里“b”表示要打包 ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。 New-Contacts.apk是打包后产生的新的APK文件。 4) 签名,不签名安装时可能提示如下错误: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] --- 没有签名,可以尝试test证书;签名方法见下面。

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES] ---- 已存在签名,但使用证书不对,可以尝试使用其他证书签名。 签名方法:到目录android\build\target\product\security找到证书文件,这里可能会有几种证书, test/shared/platform/media,各种证书使用场景不同,可以自己google一下,因为签名很快而且可任意后续更改签名,可以自己尝试各种不同签名; 这个命令行是使用test证书的例子:java -jar signapk.jar testkey.x509.pem testkey.pk8 YOURAPK.apk YOURAPK_signed.apk YOURAPK_signed.apk就是签完名的apk,去测试一下您重新打包的apk吧。

android捕鱼达人修改方法(反编译、修改、打包)

涉及内容 apk反编译 代码修改 打包 重启签名 需要的工具 jdk:必须的 baksmali:classes.dex反编译为smali格式(文本文件,可修改) smali:smali格式编译打包为classes.dex 但由于smali格式类似汇编,比较难阅读,所以用dex2jar进行辅助 dex2jar:classes.dex转为jar包 jdgui:jar反编译并阅读 以上工具可以在 https://www.sodocs.net/doc/b314949166.html,/ 下载 好了,顺序就是把apk用zip解开,里面的classes.dex分别用baksmali处理为smali,用dex2jar处理成jar,然后用jdgui看代码,找好java文件中要改的位置后,在smali里找对应的位置修改,改完了用smali再编译为classes.dex,覆盖原来apk里的同名文件,最后重新签名。注意安装时要先删除原来手机里的版本,因为签名不同了,我第一次再这里卡了好久。 以“捕鱼达人海底捞”为例 下载这个游戏的apk,fishing_joy_1.apk,和工具放在一起 用zip解开fishing_joy_1.apk copy classes.dex到baksmali的同一目录

用baksmali处理为smali java -jar baksmali-1.2.6.jar -x classes.dex 得到out目录,里面是smali文件 用dex2jar处理classes.dex为jar包 dex2jar-0.0.7.10-SNAPSHOT\dex2jar.bat classes.dex 得到classes.dex.dex2jar.jar 这时我们的工作目录下面是这样 用jdgui打开classes.dex.dex2jar.jar

android课程介绍

1.课程基本信息 课程编号:M21F58D10 课程名称:Android应用与开发 开设学期:第3学期 总学时:60 总学分:4 课程类别:岗位能力课程课程性质:必修课 适用专业:软件技术(移动应用开发) 责任单位:计算机与软件学院 2.课程定位 《Android应用与开发》课程是软件技术(移动应用开发方向)专业的岗位能力课程,课程的开设依据是软件技术专业人才培养目标和相关职业岗位(群)的能力要求,对本专业所面向的手机软件开发与测试、软件开发与项目管理等岗位所需要的知识、技能和素质目标的达成起支撑作用。 在课程设置上,前导课程有《Java程序设计》(M21F1611),《数据结构》(M21F232),后续课程有《移动互联网开发综合实训》(M21J57B10)、《毕业实习》(M21J991)。 3.课程设计思路 首先依据专业人才培养方案中关于人才培养目标的阐述,明确课程目标;其次,结合职业教育课程观、教学观、能力观,基于软件工程的开发过程,以项目化教学来组织课程内容,在课程内容的选择与排序中,以软件项目研发的不同阶段、典型任务为载体,将课程内容划分为互相联系的学习情景;第三,通过对各学习情景中学习目标、主要内容、授课方式、师生要求等各项内容的描述,来规范课程所要求的内容;第四,通过对课程内容的选取和组合,以一个完整的项目为载体,完成课程的实施;最后,通过对项目实施过程中各个环节的考察和评价,来完成对课程的评鉴与考核。 本课程在设计上本着懂方法,重应用的总体思路,突出体现职业教育的技能型、应用性特色,着重培养学生的实践应用技能,力求达到理论方法够用,技术技能过硬的目的。 4.课程建设基本理念 本课程按照理论实践一体、课内外互补、课堂教学与培优工程相结合的课程设计指导思想,以任务或项目为载体组织教学内容,突出学生的主体地位,实现“教、学、做”的有机融合;通过班级讲授、团队学习、个体辅导、展示交流、技能大赛等手段,实现从模仿到应用到创新的高职学生递进式培养。 本课程强调对学生职业岗位能力的培养和职业素养的养成,针对不同环节,采用特定的教学方法,有意识、有步骤地将职业能力的训练和职业素养的形成融入到实际的教学过程中。

java class反编译后的代码还原

javaclass利用jad反编译之后,偶尔回碰到一些不正常的代码,例如: label0:_L1MISSING_BLOCK_LABEL_ 30、JVM INSTR ret 7、JVM INSTR tableswitch 1 3: default 269、JVM INSTR monitorexit、JVM INSTR monitorenter,这些一般是由特殊的for循环、try catchfinally语句块、synchronized语句反编译后产生的。下面,就简单介绍一下,一些反编译后的特殊代码的还原规则。 异常 下面的代码前提是类中有如下属性, Calendar cal = Calendar.getInstance(); 1、Exceptioin的还原 反编译后的代码如下: public boolean f1() { return cal.getTime().after(new Date());Exception e; e; e.printStackTrace(); return false; }还原后的Java代码public boolean f1() { try { return cal.getTime().after(new Date());} catch (Exception e) { e.printStackTrace(); return false; } } 2、finally代码的还原反编译后的Java代码如下: publicbooleanf2(){booleanflag=cal.getTime().after(new Date());

System.out.println("finally"); return flag; Exception e; e; e.printStackTrace(); System.out.println("finally"); return false; Exception exception; exception; System.out.println("finally"); throw exception; }还原后的代码如下: public boolean f2() { try { return cal.getTime().after(new Date());} catch (Exception e) { e.printStackTrace(); return false; } finally { System.out.println("finally"); } } 3、MISSING_BLOCK_LABEL_的还原反编译后的代码 publicObjectf22(){Datedate=cal.getTime(); System.out.println("finally"); return date; Exception e;

安卓逆向笔记-逆向思路教程

一、修改软件名称 在AndroidManifest.xml 文件

可以看到这个apk 一共有5 个图标,其实这些图标都一样,只是分辨率不一样。如果你要修改图标,提前准备好图片资源,把apk 中对应的文件替换掉就行了。 如果你觉得一次要准备5 个不同分辨率的图标进行替换的话不方便,你也可以只替换其中一个,然后在arsc 中把其它四个配置删掉,同时apk 中对应的图标也删掉。 例如你准备的图标的分辨率和apk 中hdpi 的图标分辨率最接近,那么你可以只替换hdpi 所对应路径的图标,然后把mdpi、xhdpi、xxhdpi、xxxhdpi 四个配置都删掉。这样做完全没问题,即使你的分辨率是xxxhdpi,系统找不到最佳分辨率图标时就会去使用hdpi 的图标,顶多显示时图标比较不清晰。 2、Androidkiller 在META-INF 文件搜/icon.png(经验:图标一般都是png格式) 搜到后找到文件夹目录地址(一般在res文件夹里)(右键打开res文件目录),根据尺寸大小替换图标 技巧一:在META-INF文件夹中的“MANIFEST. MF”文件搜索 技巧二:搜索/icon. Png 而不是icon. 流程: 篡改APK图标:工程管理器→AndroidManifest. xml→ →“application”标签→“android: icon=@drawable/ icon→ “META- -INF"→MANIFEST.MF →搜索“/icon. png→替换图片 三、修改包名实现软件分身、共存 在AndroidManifest.xml 文件 找到

jad及小颖反编译专家的用法和使用详解

java反编译工具--jad及小颖反编译专家的用法和使用详解 当下载一个软件是jar格式的,我们可以使用jar2cod这个软件将它转换成cod格式,通过桌面管理器装到 我们的bb上;如果你的电脑上安装了winrar并且没有安装jdk或者其他java开发工具,jar格式的文件的 图标就是一个压缩包的图标,我们可以将它解压,解压后可以看到里面包含了一些class 文件和其他一些 文件,.class后缀名的文件就是java源程序通过编译生成的类文件,而jar是对一个程序中所有需要用到 的类和其他资源打包的结果。如果想深入的了解一下别人的软件是如何开发出来的,可以使用jad这个文 件对class文件进行反编译。最新版的jad是1.5.8,下面我们来说一说jad的使用方法。 前提: 1.系统中安装了jdk; 2.正确的设置了系统的环境变量。 Java下的一个简单易用的反编译工具jad, 可以很方便的将.class反编译为.Java. 一、基本用法 假设在c:\Java\目录下包含有一个名为example1.class的文件,反编译方法如下所示。 c:\Java\>jad example1.class 结果是将example1.class反编译为example1.jad。将example1.jad改为example1.Java 即得源文件。 c:\Java\>jad *.class 上述语句可以反编译c:\Java\目录下所有的class文件。 二、Option -o 不提示,覆盖源文件

三、Option -s c:\Java\>jad –s Java example1.class 反编译结果以.Java为扩展名。编译出来的文件就是example1.java 四、Option -p 将反编译结果输出到屏幕 c:\Java\>jad -p example1.class 将反编译结果重定向到文件 c:\Java\>jad -p example1.class>example1.Java 五、Option -d 指定反编译的输出文件目录 c:\Java\>jad -o –d test –s Java *.class 上述语句是将c:\Java\下所有class文件反编译输出到test目录下。 反编译别人的程序可以让我们看到别人软件的源代码,从而更好的了解别人的软件是如何开发出来的, 积累我们的编程经验,在此基础上还可以对软件进行一些修改。除jad外小颖JAVA源代码反编译专家 V1.4终极版也是个很好的工具,但是只能对JDK1.4.2和之前的版本编译的程序反编译,而JDK5.0后 的文件就无能为力了,我们接着来讲一下小颖java源代码反编译专家的使用方法。 下载安装后打开程序的主界面如下:

Android应用逆向分析技术综述

Android应用逆向分析技术综述Dex文件结构 Android 程序静态分析 一、Dex文件结构 1. 文件头 DEX文件头主要包括校验和以及其他结构的偏移地址和长度信息。 字段名称偏移 值 长 度 描述 magic 0x0 8 'Magic'值,即魔数字段,格式如”dex/n035/0”,其中的035表示结构的版本。 checksum 0x8 4 校验码。 signature 0xC 20 SHA-1签名。 file_size 0x20 4 Dex文件的总长度。 header_size 0x24 4 文件头长度,009版本=0x5C,035版本=0x70。 endian_tag 0x28 4 标识字节顺序的常量,根据这个常量可以判断文件是否交换了字节顺序,缺省情况下=0x78563412。 link_size 0x2C 4 连接段的大小,如果为0就表示是静态连接。 link_off 0x30 4 连接段的开始位置,从本文件头开始算起。如果连接段的大小为0,这里也是0。 map_off 0x34 4 map数据基地址。 string_ids_size 0x38 4 字符串列表的字符串个数。string_ids_off 0x3C 4 字符串列表表基地址。type_ids_size 0x40 4 类型列表里类型个数。type_ids_off 0x44 4 类型列表基地址。 proto_ids_size 0x48 4 原型列表里原型个数。proto_ids_off 0x4C 4 原型列表基地址。 field_ids_size 0x50 4 字段列表里字段个数。field_ids_off 0x54 4 字段列表基地址。method_ids_size 0x58 4 方法列表里方法个数。method_ids_off 0x5C 4 方法列表基地址。 class_defs_size 0x60 4 类定义类表中类的个数。class_defs_off 0x64 4 类定义列表基地址。

Android平台介绍及使用指导

Android平台介绍及使用指导 二○一○年二月 版本 1.0

目录 Android平台介绍 ................................................................................... - 4 -基本名词...................................................................................................................... - 5 - 操作方法介绍 .......................................................................................... - 6 - 手机按键介绍.............................................................................................................. - 6 - 快捷键介绍.................................................................................................................. - 6 - 信息功能介绍.............................................................................................................. - 7 - 联系人功能介绍........................................................................................................ - 11 - 通话记录功能介绍.................................................................................................... - 14 - 文本粘贴/复制功能介绍.......................................................................................... - 14 - Push Email(Moxier)功能介绍............................................................................ - 15 - 电子邮件功能介绍.................................................................................................... - 16 - 桌面功能介绍............................................................................................................ - 19 - 蓝牙功能介绍............................................................................................................ - 23 - Wifi功能介绍........................................................................................................... - 23 - 飞行模式功能介绍.................................................................................................... - 23 - CDMA数据链接介绍................................................................................................... - 24 - 黑屏解锁功能............................................................................................................ - 25 - 回复出厂设置............................................................................................................ - 26 - 应用程序设置............................................................................................................ - 26 - GPS设置..................................................................................................................... - 27 - 手机中英文语言切换................................................................................................ - 28 - 更换手机输入法........................................................................................................ - 29 - 数据线链接Android手机........................................................................................ - 29 - 手机测试模式进入方法............................................................................................ - 30 - 横屏显示介绍............................................................................................................ - 30 - 浏览器功能介绍........................................................................................................ - 31 - RSS功能介绍............................................................................................................ - 32 - Q/A- 34 -

技术-Java防反编译技术

Java防反编译技术 1简介 1.1 Java软件面临的挑战 目前,由于黑客的频繁活动,使得Java类文件面临着反编译的挑战。有一些工具能够对Java 源代码进行反工程,其结果甚至以比普通Java文件更可读的方式, 尽管普通的Java文件(由于代码风格不同)有注释。许可证和软件过期对于用户们来说将变得无用。因此,防止软件被反编译或使得反编译的结果变得无意义对于Java来说非常重要。 一个Java类文件不一定非要存储在一个真正的文件里;它可以存在存贮器缓冲区,或从一个网络流获得。尽管防火墙和网络协议如TCP/IP有安全策略,黑客仍能打破访问限制获取一些类。尽管这些类能被混淆,他们(黑客)能够一步一步地分析和猜出每个指令的目的。如果这些代码是关键技术部分,例如是大产品的许可证或时间期满部分,反编译和分析指令的努力似乎很值得。如果这些关键类被隐藏或被一个关键字加密,黑客的非法入侵就很困难了。而且,未认证的软件复制对智能产权是普遍的攻击。还没有一个较好的通用方案来解决这类问题。 目前关于JA V A程序的加密方式不外乎JA V A混淆处理(Obfuscator)和运用ClassLoader 方法进行加密处理这两种方式(其他的方式亦有,但大多是这两种的延伸和变异)。 1.2 混淆处理 关于JA V A程序的加密方式,一直以来都是以JA V A混淆处理(Obfuscator)为主。这方面的研究结果也颇多,既有混淆器(如现在大名鼎鼎的JODE,SUN开发的JADE),也有针对反编译器的"炸弹"(如针对反编译工具Mocha的"炸弹" Crema和HoseMocha)。混淆器,从其字面上,我们就可以知道它是通过混淆处理JA V A代码,具体的说,就是更换变量名,函数名,甚至类名等方法使其反编译出来的代码变得不可理解。它的目的是:让程序无法被自动反编译,就算被反编译成功,也不容易被程序员阅读理解 其实这只是做到了视觉上的处理,其业务逻辑却依然不变,加以耐心,仍是可以攻破的,如果用在用户身份验证等目的上,完全可以找到身份验证算法而加以突破限制。 1.3 采用ClassLoader加密 JA V A虚拟机通过一个称为ClassLoader的对象装来载类文件的字节码,而ClassLoader 是可以由JA V A程序自己来定制的。ClassLoader是如何装载类的呢?ClassLoader根据类名在jar包中找到该类的文件,读取文件,并把它转换成一个Class对象。该方法的原理就是,

Android APK反编译得到Java源代码和资源文件

Android APK反编译得到Java源代码和资源文件 2011年3月9日iStar发表评论阅读评论 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。 一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar: https://www.sodocs.net/doc/b314949166.html,/files/dex2jar-0.0.7-SNAPSHOT.zip JD-GUI:https://www.sodocs.net/doc/b314949166.html,/files/jdgui.zip 具体步骤: 1.首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java 文件编译再通过dx工具打包而成的; 2.解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行 下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex 生成classes.dex.dex2jar.jar 3.运行JD-GUI,打开上面生成的jar包,即可看到源代码了。 二.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件 如果是只是汉化软件,这将特别有用。首先还是下载工具,这次用到的是apktool,下载地址: https://www.sodocs.net/doc/b314949166.html,/p/android-apktool/,apktool-1.0.0.tar.bz2和 apktool-install-windows-2.1_r01-1.zip两个包都要下。 具体步骤: 1.将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe, apktool.bat,apktool.jar; 2.在命令行下定位到apktool.bat文件夹,输入以下命令: apktool d C:\***.apk C:\***文件夹 命令行解释:apktool d [要反编译的apk文件 ] [输出文件夹],特别注意:你要反编译的文件一定要放在C盘的根目录里;

1.android发展历程简介

android(Google公司开发的操作系统) Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache 开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。[1] 2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越iOS。但运营收入不及iOS。 编程语言 C/C++(底层)Java等(应用层) 系统家族 类Unix,Linux 源码模式 自由及开放源代码软件 内核类型 宏内核(Linux内核) 软件许可 Apache License、GPL等 1系统简介编辑 Android一词的本义指“机器人”,同时也是Google于2007年11月5日 Android logo相关图片(36张) 宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。 Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'ève future)中。他将外表像人的机器起名为Android。Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上

相关主题