一.查壳
jeb载入发现没有代码,怀疑加壳


用查壳工具查壳 (爱加密)


apktool解包

得到其
package name: loading.androidmanual
main activity name: .BeginningActivity

二.调试启动APP
安装APK到AVD模拟器


配置好IDA调试so环境(略过)


调试启动
adb shell am start -D -n 包名/包名+类名
adb shell am start -D -W -n loading.androidmanual/loading.androidmanual.BeginningActivity


设置调试模式


记录下ID为506,附加上调试器


在libdvm.so中找到dvmDexFileOpenPartial.....
并在函数头部下好断点 F9运行起来

设置jdb调试,执行后程序断下来




此时寄存器R0为dex文件的起始地址,R1为大小

R0 = 0x4C38E7B4
R1 = 0x000FAEB4

内存窗口可以清楚的看到文件头


三.dump dex file
IDA->File->scrpit command在弹出的对话框中粘贴我们的dump脚本
Message("start dump\n");

auto fp,dex_addr,addr_begin,data_len,addr_end;
addr_begin=0x4C38E7B4;
data_len=0x000FAEB4;
addr_end=addr_begin+data_len;

fp=fopen("D:\\dump.dex","wb");
for (dex_addr=addr_begin;dex_addr < addr_end;dex_addr++)
{
fputc(Byte(dex_addr),fp);
}

Message("end dump\n");

运行脚本文件


脚本运行完毕后会在指定目录生成dump.dex文件


在用JEB打开就可以分析dex文件了







附件列表

一次Android脱壳training的更多相关文章

  1. 【Android Developers Training】 9. 覆盖于布局之上的Action Bar

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  2. 【Android Developers Training】 8. 定义Action Bar风格

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. 【Android Developers Training】 7. 添加Action Buttons

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  4. 【Android Developers Training】 6. 配置Action Bar

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  5. 【Android Developers Training】 5. 序言:添加Action Bar

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  6. 【Android Developers Training】 4. 启动另一个Activity

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  7. 【Android Developers Training】 3. 构建一个简单UI

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  8. 【Android Developers Training】 0. 序言:构建你的第一个应用

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  9. 【Android Developers Training】 2. 运行你的应用

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

随机推荐

  1. Mixing ASP.NET and MVC routing

    Here is the solution I settled on. I installed the NuGet Microsoft.AspNet.FriendlyUrls package. Then ...

  2. 经纬度距离计算Java实现代码

    public class test { private static double rad(double d) { return d * Math.PI / 180.0; } public stati ...

  3. ExtJS -- ArrayStore

    ArrayStore : // Store for array var myStore = new Ext.data.ArrayStore({ storeId: "arrayStore&qu ...

  4. Mysql中mysqldump命令使用详解

    MySQL有很多可以导入数据的方法,然而这些只是数据传输中的一半,另外的一般是从MySQL数据库中导出数据.有许多的原因我们需要导出数据.一个重要的原因是用于备份数据库.数据的造价常常是昂贵的,需要谨 ...

  5. oracle中一些用法总结

    1. case用法: --简单case函数 case sex when '1' then 'boy' when '2' then 'girl' else '其他' end; --case搜索函数 ca ...

  6. golang笔记——环境搭建

    1.下载安装 从 https://golang.org/dl/ 这里下载最新版本的 golang 安装包,分别有 Windows\Linux\Apple OSX\源码包. golang的官方网站是 h ...

  7. 关于使用jacob出现的异常

    1) 把jacob.jar加载到工程里:2) 把jacob.dll放入 JAVA_HOME\bin\ 和 JAVA_HOME\jre\bin目录下:3)  把jacob.dll放入 C:\WINDOW ...

  8. 编写更好的C#代码

    引言 开发人员总是喜欢就编码规范进行争论,但更重要的是如何能够在项目中自始至终地遵循编码规范,以保证项目代码的一致性.并且团队中的所有人都需要明确编码规范所起到的作用.在这篇文章中,我会介绍一些在我多 ...

  9. javacomm64位用不了,可以使用RXTXcomm for x64

    安装完后把导入包名改一下就行了! 附上读串口代码: /* * @(#)SimpleRead.java 1.12 98/06/25 SMI * * Copyright (c) 1998 Sun Micr ...

  10. 如何解决Mac里面解压后文件名乱码问题

    如果你把Mac当成你的主要工作机器,而你的同事用的都是Windows,有时候交换文档就是一件很痛苦的事,比如今天要说到的问题:当同事传给你一个zip文件,结果你拿过来解压后发现里面有些文件的文件名如果 ...