2015-01-14 码农明明桑
前言 前面我们有说过android反编译的工具,如何进行反编译。反编译后可以得到jar或者得到smali文件。Android采用的是java语言进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali。我们反编译得到的代码,jar的话可能很多地方无法正确的解释出来,如果我们反编译的是smali则可以正确的理解程序的意思。因此,我们有必要熟悉smali语法。 类型的表示 java里面包含两种类型,原始类型和引用类型(包括对象),同时映射到smali也是有这两大类型。 more 原始类型 V void (只能用于返回值类型) Z boolean B by 继续阅读 »
2015-01-11 码农明明桑
前言 开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式,解开其他的程序,来了解一些它的做法,同时啊,还可以借鉴别人的软件结构,资源文件,等等,哈哈。那我就来讲解一些关于反编译相关的知识,主要分三篇,第一篇介绍反编译的工具和方法,第二篇,介绍smali的语法,第三篇介绍如何防止反编译,主要通过这几篇文章,了解如何去做反编译和代码加固。 more 工具 apktools-目前最强大的反编译工具 轻松反编译apk,解析出资源文件,xml文件,生成smali文件,还可以把修改后的文件你想生成apk。 支持windows,linux,mac。 下载地址:https:// 继续阅读 »
2015-01-18 码农明明桑
前言 前面介绍了怎样去反编译别人的代码。哈哈,这里居然又写进行防止反编译。但是,还是先来写写吧。 使用ProGuard proguard android的sdk中就有提供,使用它可以对代码进行混淆和精简,处理后的代码,虽然仍然可以反编译,但是阅读起来相当困难,降低代码的可读性。操作简单,推荐使用。 more proguard使用方法和配置,可以看我之前的博客: http://blog.isming.me/2014/05/31/use-proguard/ 另外网上有别人共享的proguard配置模板,也可以参考: https://github.com/krschultz/android-proguard-snippets 继续阅读 »