这次准备系统的玩儿一下android从导出apk到反编译再到代码混淆然后再次反编译的过程,有图有真相的记录一下~~

第一步,导出未加混淆的普通apk

首先创建了一个fuckcode项目,有基本的Activity:MainActivity一个,Other类一个,代码很简单,在MainActivity中调用Other的静态方法xx,xx方法只是输出一个字符串,预想目的是为了看看混淆后Other是否还可以反编译出来。附图:

ok,很业余很简单哈,MainActivity中代码也很业余很简单,如下:

1 protected void onCreate(Bundle savedInstanceState) {2         super.onCreate(savedInstanceState);3         setContentView(R.layout.activity_main);4         Other.xx();5     }

简单写完,接下来

第二步,签名打包APK

首先,你需要配置好你android使用的jdk,验证方法 cmd 中 java、javac等等,这里就不说了,接下来你需要整一个签名证书出来,这时候可以这么做:

这时候你就拿到了一个test.keystore,然后你就可以通过eclipse导出有签名的apk了

步骤:eclipse中选中项目,点击右键选中export,选择android ,选择export android application -->next-->路径选择刚刚生成的test.keystore的路径,密码填写刚刚输入的密码 -->next -->选中别名填写密码 -->next-->选择导出apk的路径,然后finish。

至此,有签名的APK就导出完毕了~~~~

第三步,试着反编译之前的APK

这时候我们需要下载一些拆拆工具:下载地址 还有一个 个人习惯先一股脑下下来,然后慢慢折腾。。。。

现在我们先把之前导出的apk伙子们更改为zip,解压以后拿到classes.dex ,然后把classes.dex放到之前下载好的dex2jar-0.xxx文件夹中,跟dex2jar.bat放在一个目录下,然后开整。。。。

嚎~这时候我们得到了一个classes_dex2jar.jar

现在,我们拿之前下载好的jd-gui-XXXX-windows中的jd-gui.exe打开classex_dex2jar.jar文件。。。然后我们发现我们写的android源码脱光光了。。。没图说个JB。。

代码看完了,我们现在来看各种文件。。。。

首先下载一个apktool。。。。最近版这里找

然后把apktool.jar 跟要反编译的apk放在一个目录下。。。。执行apktool22.jar d fuckcode.apk

其中apktool22.jar 是我自定义的名字,各位看下下的jar文件叫什么就写什么。。。。

然后我们会得到一个fuckcode文件夹。。。。打开里面。。。发现图片啊,配置文件啊。。。啥都有。。。。一个不混淆加密的apk就这么被扒光了。。。

接下来整第三步。。。混淆混淆。。。

喝口水,吃个饭,等会再写。。。。。

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 一款常用的 Squid 日志分析工具
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. 第一个 Android(安卓)程序
  7. Android8.0.0-r4系统的启动过程
  8. Android(安卓)学习之《第一行代码》第二版 笔记(十八)调用摄像头拍
  9. Android中图片的上传和下载

随机推荐

  1. windows下安装mysql5.6解压版,32位和64位
  2. Mysql的存储引擎之:MyISAM存储引擎
  3. Mysql基础之 基础知识解释
  4. 如何向mysql数据库添加多个映像?
  5. Sql查询性能限制行数之间的差异
  6. PHP分页算法详解
  7. mysql忘记帐号密码 解决办法。
  8. window 下 mysql 启动 二进制日志文件
  9. 获取项目列表的更好方法:缓存序列化数据与
  10. mysql 在当前表中对某一列数据进行计算后