文档章节

android 反编译 smali 调试

yoke白板
 yoke白板
发布于 2016/08/01 17:51
字数 393
阅读 70
收藏 1
点赞 0
评论 0

 

0x00    前言

之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试smali真的像鸡肋一样,各种不爽,遇到混淆过的java代码就欲哭无泪了。后来知道IDEA用一款插件也可以实现smali的动态调试,但是只有14.1之后的版本才支持。idea是一款商业软件,懒得去找各种破解版,就想着用androidstudio来代替idea来达到动态调试的目的。

 

0x01    工具

①Android Studio 1.5Preview,不清除低版本的是否支持smali的调试

②apktool,尽量使用最新版的。

③ideasmali插件。下载地址

 

0x02     具体步骤

         安装ideasmali插件,File->Settings->Plugins,安装之前下载的ideasmali插件。

              

    反编译apk 

    

    以调试状态启动app,并转发8700端口  [app_pid]

    

    

    

            

            记住这时候需要将DDMS关掉,不然会出现错误

            

    使用AS导入之前反编译的目录,这里选择debugsmali文件夹就可以了。

           

    然后选择Create project from existing sources,之后一直选择next。

           

    对之前反编译的debugsmali/src文件夹右键-->Make Directory As --->Source Root

        

         配置远程调试的选项,选择Run-->Edit Configurations:

            

          增加一个Remote调试的调试选项,端口选择:8700

           

       之后选择File-->Project Structure 配置JDK

           

            

        下好断点之后Run-->Debug'smali',这里的smali是我们之前配置好的调试选项。  

             

            运行起来之后就可以单步执行,查看寄存器的值,慢慢调试了。

             

 

本文转载自:http://www.cnblogs.com/lanrenxinxin/p/4891424.html

共有 人打赏支持
yoke白板
粉丝 1
博文 20
码字总数 2912
作品 0
杭州
CEO
android 反编译工具

1、smali-1.2.6.jar 用途:.smali文件 转成 classes.dex文件 说明:.smali文件,类似于.class文件,可以用普通文本编辑器查看和修改。 用法举例:命令行:java -jar smali.jar classout/ -o ...

SamZel
2012/05/29
0
0
eclipse和android源码编译应用效果有差异

一般来说,eclipse只是IDE开发工具,它虽然能编译apk,但是大多数开发情况下,都会要求必须在源码里编译通过,达到工程化,而不是单单的demo。 问题: 这次悲催而又诡异的遇到了这么个问题:...

blackylin
2013/06/27
0
2
Android应用程序逆向入门

  我们每天都会在Google Play商店看到一系列新的Android应用程序,从游戏到公用设施,再到物联网设备客户端等等,几乎我们生活中的每一个方面都可以通过一个app以某种方式进行控制。我们有...

FreeBuf
04/27
0
0
如何分析Android程序之破解第一个程序

破解Android程序通常的方法是将apk文件利用ApkTool反编译,生成Smali格式的反汇编代码,然后阅读Smali文件的代码来理解程序的运行机制,找到程序的突破口进行修改,最后使用ApkTool重新编译生...

柳哥
2015/01/08
0
1
自用Android程序破解,逆向分析工具集

下载: git clone https://github.com/zencodex/hack-android.git 本人主要在Mac osx使用,所以linux下没经过严格测试,可能会存在小问题。签名脚本是自己写的,临时文件写到了/tmp 目录下,所...

扣丁禅师
2015/03/17
0
0
Android apk 二次打包植入广告

我们拿HelloWord.apk为例,反编译植入有米广告。 首先,我们用apk改之理,反编译HelloWorld.apk。 然后按照有米的开发文档进行广告植入。下载地址http://static.youmi.net/files/sdk/YoumiSd...

科技创造
2014/12/15
0
10
Android当道,不加密的APP必死

我的题目有点夺人眼球,也当然有喷喷不平者觉得我是危言耸听,那就好好听听我说的是不是有那么一丁点道理。 标题中的APP请排除那些只想靠APP推送广告的小众开发者,诚然这些开发者的出发点并...

科技创造
2014/09/24
0
2
Android反编译debug调试详解(一)(附图)

第一次写博客简书之类的 ,下面使劲踩我。不足之处忘指出。 前言 最近对别人一个项目挺感兴趣,就反编译玩一玩。自己真正意义上反编译并且利用Android studio Debug反编译的项目。自己利用的...

A_CUI
2017/09/20
0
0
Android安全之---应用防dex2jar原理及实现

一、反编译某平台代码 最近在看某外卖平台的代码,发现某外卖平台最新版本版本无法正常的通过dex2jar工具将dex转换出Java源代码,在转换过程中会提示出错,如图: 查看转换出的Java源代码,会...

病已
2017/06/24
0
0
android app安全初入门(一)

最近开始接触android客户端安全相关技术,以前对移动客户端的测试主要集中在数据传输层面,现在开始学习基于软件层面的安全测试。其实,很多东西和windows平台的软件安全还是有些相似的。 AP...

季牧云
2015/10/22
649
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
9
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
4
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
176
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部