0x01

  先说总结:

  参照https://www.cnblogs.com/jiaoxiake/p/6818786.html 最后说的步骤,

  参考:https://www.52pojie.cn/thread-586058-1-1.html

  通过DexExtractor将加固后的apk还原odex,拖到jeb里面继续分析,odex-dex步骤没完成。

0x02:
  同事小哥在找分析一个apk,找里面一点逻辑,发现apk被梆梆加固了。
  正常apktool反编译无法找到清单文件里面注册的服务。

  找了下lib文件里,2个so文件,搜索发现和BANGBANG相关,顺带搜到了TUOKE的文章

  

0x03:

  参照教程,需要使用DexExtractor,有几种方式
  1.自己编译源码,修改dexFileParser函数,刷机
  2.找个4.4机器,ROOT掉,替换libdvm.so,重启
  3.找个4.4机器,刷system.img,重启

  源码在U里面,回去编译再刷,觉得有点麻烦,要是长期使用,可以考虑。
  手里有Nexus5,刷的lineageos,再折腾一边刷机觉得没必要,毕竟就一次~~
  a.然后选择,用模拟器,AVD里面选择SDK19 ARM CPU的模拟器,下载安装

  获得模拟器如上

  感谢前辈提供将已经编译好的system.img

  地址在百度云:https://pan.baidu.com/s/1jG3WQMU

  

  b.修改模拟器加载system.img地址,配置文件在 :hardware-qemu.ini

  配置文件地址在: C:\Users\xxxooo\.android\avd\Nexus5XAPI19-4.4.avd

  xxx为本机用户名,Nexus5XAPI19-4.4为你创建的模拟器名字 ,

  修改hardware-qemu.ini里面 disk.systemPartition.initPath,或者直接将百度云下载好的syste.img替换过去[提前备份]

  c.重启模拟器

  将加固后的apk文件安装到模拟器

  打开logcat,

  打开adb shell ,将sdcard 目录mount一下

  打开目标app,查看log日志 过滤 目标包名

  顺利的话会看到:

  

  看到已经生成n个dex文件,

  至于为什么是多个dex文件,这个没搞明白,不知道会不会是因为因为加固故意分割dex

  如果/sdcard/写入失败,会有log日志,

  我的操作是,重启模拟器,开机就adb shell 进去 su 然后mount sdcard 给777权限

  e.将生成后的dex文件pull到电脑,

  查看/sdcard/ 目录,只要文件名字包含目标包名的就是,全都pull出来,了,例如都放到 hack 目录

  下载git中的DexExtractor项目,使用其中的 Decode.jar 还原dex

  java -jar Decode.jar hack ,hack为从手机内pull出来的dex目录

  

  获得解密后的xxxx.read.dex

  这次获得的为odex格式,拖到WinHex 看透文件为 dey 036

  

  文件拖到jeb可以直接看,不过要点击 inner_dex

  

  如果想要直接看dex,还需要使用:baksmali ,这里我就没有操作,

  有个技巧,pull出来的dex有4个,通过jeb将每个都反编译,导出为java保存在不同文件夹。

  然后,通过notpad++全局查找需要找的代码,比如某个字符串(定义在string.xml的除外)或者代码

  定位到,再用jeb打开dex,可以查看调用关系,不然,导出为java后,导入studio或者eclipes调用关系很可能无法生成

  基本操作就这些

  同事小哥如愿找到了想要的,晚上加鸡腿

  后来发现 赵四前辈的 文章更详细,

  地址: http://www.wjdiankong.cn/apk%E8%84%B1%E5%A3%B3%E5%9C%A3%E6%88%98%E4%B9%8B-%E5%A6%82%E4%BD%95%E8%84%B1%E6%8E%89%E6%A2%86%E6%A2%86%E5%8A%A0%E5%9B%BA%E7%9A%84%E4%BF%9D%E6%8A%A4%E5%A3%B3/

  仅此记录下

  

  

梆梆加固还原DEX文件的更多相关文章

  1. 如何做好移动安全(梆梆加固后的APK破解提取dex)

    智能手机的普及将移动互联网的发展推到了一个让所有人都为之兴奋的高度,我想即使是以商业眼光见长的“苹果教父”乔布斯也不会料想到短短几年时间,智能手 机就已经成为了所有人离不开的商业产品,各种商业应用层出 ...

  2. Andorid APK反逆向解决方案---梆梆加固原理探寻

    本文章由Jack_Jia编写,转载请注明出处.   文章链接:http://blog.csdn.net/jiazhijun/article/details/8892635 作者:Jack_Jia    ...

  3. android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测

    android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测https://dev.bangcle.com/ 业内专业的应用加固服务供应商 帮助数十万APP抵御破解风险,早 ...

  4. Android平台dalvik模式下java Hook框架ddi的分析(2)--dex文件的注入和调用

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/77942585 前面的博客<Android平台dalvik模式下java Ho ...

  5. 最新 梆梆安全java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.梆梆安全等10家互联网公司的校招Offer,因为某些自身原因最终选择了梆梆安全.6.7月主要是做系统复习.项目复盘.Leet ...

  6. IDA在内存中dump出android的Dex文件

    转载自http://drops.wooyun.org/tips/6840 在现在的移动安全环境中,程序加壳已经成为家常便饭了,如果不会脱壳简直没法在破解界混的节奏.ZJDroid作为一种万能脱壳器是非 ...

  7. Android应用安全之外部动态加载DEX文件风险

    1. 外部动态加载DEX文件风险描述 Android 系统提供了一种类加载器DexClassLoader,其可以在运行时动态加载并解释执行包含在JAR或APK文件内的DEX文件.外部动态加载DEX文件 ...

  8. sql server还原数据库文件(.bak)常见问题解决办法笔记

    还原的时候出现错误:备份集中的数据库备份与现有的数据库不同 SQL Server 2005数据库还原出错错误具体信息为:备份集中的数据库备份与现有的A数据库不同 具体操作如下:第一次:新建了数据库A, ...

  9. class 文件与dex文件区别 (dvm与jvm区别)及Android DVM介绍

    区别一:dvm执行的是.dex格式文件  jvm执行的是.class文件   android程序编译完之后生产.class文件,然后,dex工具会把.class文件处理成.dex文件,然后把资源文件和 ...

随机推荐

  1. word禁止自动编号

    在回车.换行时使用 shift + enter

  2. April 12 2017 Week 15 Wednesday

    Genius often betrays itself into great errors. 天才常被天才误. Genius can help us get greater achievements, ...

  3. leetcode:查找

    1.  word ladder 题目: Given two words (start and end), and a dictionary, find the length of shortest t ...

  4. STM32开发-MDK新建工程及配置

    本人也是接触stm32没多久,之前用的MDK是5.1,现在用的是5.13,MDK5.0之前的版本(本人简称旧版)和之后的版本(本人简称新版)新建工程有很大区别.对于刚开始用学stm32的新手来说,基本 ...

  5. Arduino-舵机控制Servo

    以前没有接触过硬件,因为把弄APM2.5不得不去接触arduino板.Arduino是块极易上手的控板,不像单片机,你要花费大量的时间去学习预备知识,它只要你稍微懂点C语言既能上手.对于我这种业余爱好 ...

  6. 如果有反向代理的情况下,获取最原始的IP的办法

    HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_HOST"];

  7. POJ-3614 Sunscreen---贪心+优先队列

    题目链接: https://vjudge.net/problem/POJ-3614 题目大意: 有C个奶牛去晒太阳 (1 <=C <= 2500),每个奶牛各自能够忍受的阳光强度有一个最小 ...

  8. 前端高质量知识(一)-JS内存空间详细图解

    变量对象与堆内存   var a = 20;   var b = 'abc';   var c = true;   var d = { m: 20 } 因为JavaScript具有自动垃圾回收机制,所 ...

  9. phpmyadmin 打开数据表较多,数据量较大的数据库时出现超时的解决办法

    用phpmyadmin打开数据表较多,数据量较大的数据库时,会出现超时,或者等半天打开了说数据库没有表.并且即便打开了,再进行其他浏览,编辑,sql等操作,页面也是相当慢的,慢等几乎无法忍受.这里慢也 ...

  10. P1909 买铅笔

    题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物.她发现商店一共有 33种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同.为了公平起 见,P老师决定只买同一种包装的铅笔 ...