[Android] 反编译apk + eclipse中调试smali

 1.对apk应用apktool反编译出可调试的smali代码到out文件夹,今朝apktool最新的版本是2.0.0b7。

 


java -jar apktool_2.0.0b7.jar d -d test.apk -o out

 

    这里必须应用-d参数,如许反编译出来的代码后缀均是java,因为只有java文件才干被eclipse/netbeans辨认调试。

 

    2.设置调试标识表记标帜和寻找主类

 

    在输出的out文件夹中,用文本编辑对象打开AndroidManifest.xml,在application节点中设置属性android:debuggable="true"。

 

    持续在AndroidManifest.xml中,搜刮以下关键字

 


<intent-filter>

<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

 

    找到含有以上信息的activity节点,记录其android:name属性的值,该值则为其应用的主类。如下面的例子,主类为com.acids.helloworld.MainActivity。

 


<?xml version="1.0" encoding="utf-8" standalone="no"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.acids.helloworld">
<application android:debuggable="true" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme">
<activity android:label="@string/app_name" android:name="com.acids.helloworld.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>

 

    3.在主类的onCreate事务中添加调试守候。

 

    用文本编辑对象打开主类文件,找到onCreate办法,在第一句前插入invoke-static {}, Landroid/os/Debug;->waitForDebugger()V,记得添加a=0;//的前缀对峙高低一致,成果如下:

 


a=0;// # virtual methods

a=0;// .method protected onCreate(Landroid/os/Bundle;)V
a=0;// invoke-static {}, Landroid/os/Debug;->waitForDebugger()V
a=0;//
a=0;// .locals 1
a=0;// .param p1, "savedInstanceState" # Landroid/os/Bundle;
a=0;//
a=0;// .prologue
a=0;// .line 11
a=0;// invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

 

    4.保存文件,用apktool从头编译打包为debug.apk

 


java -jar apktool_2.0.0b7.jar b -d out -o debug.apk

 

    5.对debug.apk(须要对象),我把对象放在了signapk文件夹下,生成debug.sign.apk

 


java -jar .\signapk\signapk.jar .\signapk\testkey.x509.pem .\signapk\testkey.pk8 .\debug.apk .\debug.sign.apk

 

    6.上传debug.sign.apk至或模仿器,然后安装并运行。这时你会看到法度运行后逗留在白屏界面,这时不要动设备和退出法度,因为法度如今是运行到刚才添加的waitForDebugger代码这里,这行代码的意思是一向挂起中,守候调试器。

使用MATLAB/Simulink对一个简单的智能家居温湿度监测与控制系统进行建模和仿真 目录手把手教你学Simulink——基于Simulink的智能家居温湿度监测与控制仿真建模示例一、背景介绍二、所需工具和环境三、步骤详解步骤1:创建Simulink模型步骤2:构建传感器模块步骤3:添加控制器步骤4:构建执行器模块步骤5:连接各部分步骤6:设置仿真参数步骤7:添加观测器步骤8:运行仿真并分析结果四、总结 智能家居系统中的温湿度监测与控制系统是一个典型的物联网(IoT)应用场景,它通过传感器收集环境数据,并根据预设条件自动调节室内温度和湿度以提高居住舒适度。本指南将介绍如何使用MATLAB/S 阅读详情

相关推荐

别再死记硬背公式了!用Multisim仿真软件,5分钟搞懂三极管放大电路的工作原理

本文介绍如何利用Multisim仿真软件快速掌握三极管放大电路的工作原理,避免死记硬背公式。通过动态实验和参数调整,直观理解三极管的工作状态和放大效果,提升学习效率和实践能力。

weixin_30566063的博客 568

Android源码APK剥离到eclipse调试运行教程

本文主要介绍了如何从Android源码中剥离APK到eclipse中调试运行的流程,至于如何剥离到Android studio 也欢迎大家讨论

Someday_spark的博客 950

SIwave仿真手册——软件基础(一)

最近在学习SIWAVE,在这里将自己的笔记整理一下,做一个专题。希望对大家有帮助,这个会持续更新的。仅限于软件操作学习,不涉及信号完整性的讨论。

luohuo9844的博客 4万+

Android逆向系列之动态调试3–Eclipse调试apk

一、反编译APK 这里反编译的时候要记得带上 -d参数,以便动态调试 apktool d -d demo.apk 二、添加属性 在AndroidManifest.xml的application添加属性:android:debuggable=”true” 三、添加调试语句 在主Activity的OnCreate函数下一行添加: a=0;// invoke-static

nangongyanya的专栏 1901

Dinic算法的复杂度分析及证明

一般图 复杂度主要取决于dfs增广的过程。 将dfs部分的复杂度分成两部分来分析:1)修改增广路上边的流量。至多会增广mmm次,一条增广路的长度至多是nnn,所以这一部分的复杂度是O(nm)O(nm)O(nm)。2)dfs遍历时找增广路失败时经过的边。由于一旦从某条边出发找最短路失败了,我们就不会再走那条边(当前弧优化),所以这一部分的复杂度是O(m)O(m)O(m)的。故而dfs增广的复杂度是O...

这个博客已经搬到了:zhongyuwei.github.io 4391

Qt上位机实战:5步搞定STM32 IAP固件升级(附拖拽文件处理技巧)

本文详细介绍了如何使用Qt开发STM32 IAP固件升级上位机。通过五个核心步骤,包括理解IAP机制、搭建Qt环境、实现拖拽文件加载、封装串口通信以及设计可靠通信协议,帮助开发者快速构建一个稳定、易用且支持图形化操作的固件升级工具,显著提升嵌入式产品开发与维护效率。

ss78901的博客 1076

Eclipse调试技巧总结

Eclipse调试技巧总结   一、调试APK 准备工作:Eclipse,APK的源代码,真机。 注意:手机里的apk和源代码版本要一致,也就是说手机里面的应用是用调试时用到的代码编译出来的,否则断点可能会不生效。 步骤: 1.    新建一个android工程:   代码的路径可以直接选择服务器上代码的地址,这样的好处是改了之后直接在服务器

BangNiBonnie的博客 472

VMware ESXi 系统里创建虚拟机,虚拟磁盘日志损坏,如何或者把数据备份?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1638

用Eclipse开发和调试Android应用程序(二)

二、 创建Android Eclipse工程 请参考小生的《Android SDK 2.3与Eclipse最新版开发环境搭建(五)》,博文地址:http://blog.sina.com.cn/s/blog_573860a90100ownd.html or http://blog.youkuaiyun.com/deaboway/archive/2011/01/30/6170449.aspx 三、 工程结构详细解析 1. 工程结构 在Eclipse的Java透视图中,可以看到工程的Package Explore

no pain no gain no Gavin 9441

Multisim14.0仿真应用设计(十六)74LS138译码器应用仿真

74LS138为3线-8线译码器。

zhusl6688的博客 2981

论文必备 - 绘制YOLOv8模型在训练过程中,精准率,召回率,mAP_0.5,mAP_0.5:0.95,以及各种损失的变化曲线

文件是模型在训练过程中,实时记录训练的结果,和当时控制台输出的信息一致。当然还包含一些验证损失,学习率变化等数据。epoch:记录训练的轮次,总轮次为训练文件中设置的epochs大小。:边界框损失。在训练过程中,此值逐渐变小,越小表示模型预测的边界框与真实边界框之间的差异越小。:分类损失。在训练过程中,此值逐渐变小,越小表示模型对目标类别的预测越准确。:分布焦点损失。将边界框的回归问题转化为对边界框四个边的分布预测问题,越小表示预测越准确。:精确率也称为查准率。

Limiiiing的博客 1406

Smalidea+IntelliJ IDEA/Android Studio动态调试安卓app教程

smalidea是一个IntelliJ IDEA/Android Studio smali语言插件,可实现动态调试smali代码。 github地址:https://github.com/JesusFreke/smali/wiki/smalidea 下载地址:https://bitbucket.org/JesusFreke/smali/downloads 动态调试安卓app smalidea

3万+

万字数据仓库面试题及参考答案

星型模型由一个中心的事实表和多个外围的维度表组成,事实表存储度量值和事实,维度表存储描述性属性和维度。星型模型和雪花模型的区别在于雪花模型将维度表进一步细化,形成多层次的结构,而星型模型由一个中心事实表和多个维度表组成,适用于查询较为简单的情况。维度建模通常采用星型模型或雪花模型,将数据分为事实表和维度表,其中事实表存储度量值和事实,维度表存储描述事实的属性。三者之间的关系可以这样理解:数据仓库主要关注历史数据的存储和分析,数据中台则关注数据的服务化和资产化,而数据湖则关注原始数据的存储和多样性。

大模型大数据攻城狮的专栏 559

[Android]反编译apk + eclipse中调试smali

[Android]反编译apk + eclipse中调试smali     从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具。       跟踪apk一般的做法是在反编译的smali代码中插入log输出,然后重新编译运行看输出日志,这种方法费时费力,如果能够实时调试是最好的了。搜

世事,为之则易,不为则难! 1037

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Android 反编译apk + eclipse中调试smali

原文地址:http://www.cnblogs.com/litou/p/3539281.html    从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具。       跟踪apk一般的做法是在反编译的smali代码中插入log输出,然后重新编译运行看输出日志,这种方法

Omnictech的专栏 764

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【原创】反编译apk+eclipse中动态调试smali

 初涉移动端,请各位前辈多多指教! 本文参考http://www.kaifazhe.com/android_school/380973.html 在此,对作者表示感谢! 跟踪apk一般的做法是在反编译的smali代码中插入log输出,然后重新编译运行看输出日志,这种方法费时费力,如果能够动态调试就最好了。下面就给大家介绍apk+eclipse来调试smali。 前期准备:

zhangmiaoping23的专栏 5078

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)

一、前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和

omnispace的博客 840

反编译apk+eclipse中动态调试smali

本文转载自http://bbs.pediy.com/showthread.php?t=189610 跟踪apk一般的做法是在反编译的smali代码中插入log输出,然后重新编译运行看输出日志,这种方法费时费力,如果能够动态调试就最好了。下面就给大家介绍apk+eclipse来调试smali。 前期准备: eclipse。 Jdk或jre,并设置好环境变量,我的是7.0版本。 Apkt

一个byte的独白 1081

Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)

本文转自:http://blog.youkuaiyun.com/jiangwei0910410003/article/details/51456735,非常感谢原创作者。一、前言今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了:Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码

蜗牛也是牛 937
上一篇: [Android] 动态语言切换
下一篇: [Android] Smali基本语法
staffrobot
博客等级 码龄19年 6粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值