安卓逆向-反编译-修改-打包-签名-解决夜神模拟器usb调试找不到安卓apk的问题,无法进行动态调试的解决方案。

2023-11-03

问题来由,在进行了一定时间的安卓逆向的学习,遇到了一个问题如图:
在这里插入图片描述
这么多个安卓apk,打开开发者模式,在这里插入图片描述
调试应用只有一个,这不是离谱,按照之前的文章,这就不能进行动态调试。既然有了问题就要想解决办法,问了带我的师傅:我不是用你这个方法的,给我演示了一下他的手法(cmd一顿操作,我没看懂)。没办法只能自己想办法,在writeup中看到有人提到了这个问题,原来是说APK没开启动态调试,就是xml中没开启调试功能,所以检测不到。(嘿,别问我怎么get到这个点的)
找到了原因解析来就是如何给他添加上这个功能,总所周知,安卓开发现在为了安全如果逆向后修改他的源文件需要加上其对应的签名(部分开发者防护做的很差,所以经常会被人加入恶意代码后发布到应用商城,以此进行传播在top10中叫做:代码篡改)
好了接下来就是实战了:
首先对于apk文件进行反编译,这里使用apktool(没有的自行百度)。
在这里插入图片描述
在这里插入图片描述
再往下需要修改AndroidManifest.xml为其添加上debug=true的选项
有两种操作
1.直接解压apk得到AndrodiManifest.xml 这时候打开会发现是乱码,接下来要使用AXML工具来添加 android:debuggable=“true”
2.用apktool反编译出来的 AndrodiManifest.xml ,发现是正常的,直接添加即可。

现在已经改好了需要的debug=true了,接下来就是打包
使用apktool进行打包,cmd执行如下代码
java -jar apktool_2.3.4.jar b gongfangshijiecrackme
在这里插入图片描述
接下来没有签名,让我们来看看反编译的效果,可以根本不能够打开跑在模拟器上面,接下里就是写签名。
这里使用jdk自带的keytool 根据网上的教程生成自己的android.ketstore ,然后把要签名的和android.keystore放在一起执行如下命令
jarsigner -verbose -keystore android.keystore -signedjar f6adc401d0eb472892a4ac4481f76a85.apk f6adc401d0eb472892a4ac4481f76a85.apk android

在这里插入图片描述
这个时候签名完成了。

打开模拟器看看
在这里插入图片描述
emmm,针不错

签名操作很繁琐可以观看一下网址
https://blog.csdn.net/akmzpzn69761/article/details/101638539

https://blog.csdn.net/rrkdddd33/article/details/80067589?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安卓逆向-反编译-修改-打包-签名-解决夜神模拟器usb调试找不到安卓apk的问题,无法进行动态调试的解决方案。 的相关文章

  • 保存用户可以访问的 Flutter Android 应用程序中的文本文件

    我在 Flutter 中开发的 Android 应用程序的用户应该能够将一些数据保存 导出 到文本文件中 用户应该能够使用其他应用程序 包括文件管理器 在其 Android 设备上找到并访问此文件 我想 final directory aw
  • onActivityResult 中的完成活动不起作用

    我有一对必须同生共死的活动 基本上 AlphaActivity 会做一些工作 然后发送一个意图 startActivityForResult 对于 Beta 活动 当 Beta 活动完成时 我希望它发送一个意图 startActivity
  • Espresso - 检查使用按钮按下意图打开哪个活动?

    是否可以跟踪按下某个按钮后打开了哪个 Activity 我有一个测试 其中当单击 按下按钮时 it 向服务器发送请求 直到发送请求时 它打开一个活动 验证是否执行成功在测试中 我需要检查打开的 Activity 是什么 我的测试示例 检查
  • 未找到 Gradle DSL 方法:“versionCode()”

    构建我的 Android 项目时遇到问题 我使用Grgit https github com ajoberstar grgit填写versionCode and versionName在 gradle 中 一切工作正常 直到我将 Andro
  • android 谷歌+登录定制

    我正在创建一个 Android 应用程序 现在我正在实现社交网络登录 Facebook 按钮很好 但 google 按钮的语言与 Facebook 不同 另外 它只说 登录 我想让它说 用谷歌登录 我是 android 编程的新手 看到我需
  • 无法解析符号 FlutterActivity

    我使用 VCS gt Checkout from Version Control 将 flutter 项目从 github 导入到 Android Studio 中 现在我面临的问题是 Cannot resolve symbol Flutt
  • 将标题设置为操作栏时出现空指针异常

    Error Caused by java lang NullPointerException Attempt to invoke virtual method void android app ActionBar setTitle java
  • 方法断点可能会大大减慢调试速度

    每当向方法声明行添加断点 在 Intellij IDEA 或 Android Studio 中 时 都会出现一个弹出窗口 方法断点可能会大大减慢调试速度 为什么会这样戏剧性地减慢调试速度 是我的问题吗 将断点放在函数的第一行有什么不同 Th
  • 无法将 Tesseract OCR 模块添加到 Android Studio

    我按照此处找到的分步指南进行操作 https www codeproject com Articles 840623 Android Character Recognition https www codeproject com Artic
  • 服务器到 Firebase HTTP POST 结果为响应消息 200

    使用 Java 代码 向下滚动查看 我使用 FCM 向我的 Android 发送通知消息 当提供正确的服务器密钥令牌时 我收到如下所示的响应消息 之后从 FCM 收到以下响应消息 Response 200 Success Message m
  • 如何检测 Google Play 上是否有我的应用程序的更新? [复制]

    这个问题在这里已经有答案了 有没有办法以编程方式检查 Google Play 上我的应用程序是否有更新 以便通知用户 我知道 android google play 有自动通知 但我想使用我自己的通知 弹出消息来更新可用性 有点像 Vibe
  • 如何从SurfaceView绘制到Canvas?

    我正在尝试做简单的画家 问题是Android看起来有三个独立的Canvas并给我它来顺序绘制 我用以下方式制作了用户界面SurfaceView 把霍尔德从中拿走 Override protected void onCreate Bundle
  • Android:如何监控WiFi信号强度

    当信号强度发生变化时我会收到通知 我尝试创建以下方法并在 onCreate 中调用它 private void initializeWiFiListener Log i TAG executing initializeWiFiListene
  • onTouchEvent()中如何区分移动和点击?

    在我的应用程序中 我需要处理移动和单击事件 一次点击是由一个 ACTION DOWN 操作 多个 ACTION MOVE 操作和一个 ACTION UP 操作组成的序列 理论上 如果您收到 ACTION DOWN 事件 然后收到 ACTIO
  • 更改android中禁用按钮的颜色

    有没有办法通过样式或其他形式更改 android 中禁用按钮的颜色 我目前有以下内容 可绘制 button default xml
  • 如何在 WebView 中添加 JavaScript 函数并稍后在提交 reCAPTCHA 时从 HTML 调用它

    我在 WebView 中添加一个 JavaScript 函数 如下所示 Kotlin val webView findViewById R id webview as WebView webView getSettings setJavaS
  • 如何在新标签 android webview 中打开链接? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经使用 webview 创建了一个 android 应用程序来显示我的网站 我什至想添加在新选项卡中打开链接的功能 但我找不到任何
  • Jetpack Compose 部分或开放侧边框

    我正在尝试绘制部分或一侧开放的矩形圆形边框以实现此效果 玩了一下之后我得到了这个 这是通过以下方式完成的 RoundedCornerShape topStartPercent 50 bottomStartPercent 50 start R
  • OpenGL ES 2.0 屏幕闪烁

    我面临着一个大问题 我正在使用带有 Android 4 0 3 的 Transformer tf101 选项卡 我的应用程序使用自定义 OpenGL ES 2 0 表面 我正在用纹理渲染多个平面 该纹理大约发生变化 每秒 20 次 并通过传
  • Amazon IAP 不会调用 onPurchaseResponse

    我有一个 Android 应用程序 它使用 IAP 我正在发送PurchasingManager initiateGetUserIdRequest 并得到用户识别成功 in onGetUserIdResponse 得到回复后Purchasi

随机推荐

  • 遇见大数据可视化 : 那些 WOW 的数据可视化案例

    数据可视化的内涵并非只是专业人员才能看得的懂的图表 当你想要通过数据来宣传证明自己时 你遇到的问题是大多数人并不能看懂你的图表 那么让数据可视化的过程更加的生动有趣 通俗易懂就显的尤为重要了 如何才能让数据可视化在面向普罗大众更容易接受和理
  • ubuntu如何进入local、bin目录

    回到home目录 输入命令 cd usr local 若要进入bin目录 输入命令 cd usr local bin 转载于 https www cnblogs com shrimp can p 5253642 html
  • 文件上传漏洞靶场:upload-labs安装+第一关教程(一)

    注 本文仅供学习使用 请勿用于非法操作 后果与作者无关 记录一下自己的学习过程 大佬勿喷 一 简介 upload labs是一个使用php语言编写的 专门收集渗透测试过程中遇到的各种上传漏洞的靶场 旨在帮助大家对上传漏洞有一个全面的了解 目
  • 会SQL语句能帮你找到哪些工作?看看这些必须会SQL的职业

    SQL语句是一种用于操作关系型数据库的语言 它可以让你对数据进行增删改查 排序 分组 聚合 连接等操作 如果你会SQL语句 你就可以从海量的数据中提取出有价值的信息 为各种业务场景提供支持 那么学会SQL语句 你可以从事哪些职业呢 下面小编
  • 电子科技大学编译原理复习笔记(四):程序语言的设计

    目录 前言 重点一览 语言的定义 比较 生成观点与识别观点 语义又该怎么描述 符号串 符号串集合 文法 超重点 定义 组成 表示 分类 重点 文法产生的语言 短语 直接短语和句柄 求它们目的是语法分析 语法树 推导树 语言的设计 本章习题
  • linux远程连接命令有哪些,linux系统远程连接命令有哪些

    linux系统中的远程连接命令有 1 ssh命令 用于远程登录Linux主机 2 telnet命令 用于远程登录 3 login命令 用于从当前终端登录到远程linux主机 linux系统中的远程连接命令有以下几种 1 ssh命令 linu
  • Hive 开窗函数 汇总

    开窗函数 普通的聚合函数聚合的行集是组 开窗函数聚合的行集是窗口 因此 普通的聚合函数每组 Group by 只返回一个值 而开窗函数则可为窗口中的每行都返回一个值 简单理解 就是对查询的结果多出一列 这一列可以是聚合值 也可以是排序值 开
  • Error:(4, 25) java: 找不到符号符号:类 xxx位置:程序包 xxx.xxx

    解决方法 用maven中的 clean 清理掉刚才打的jar包之后就不会报错了
  • easypoi导出复杂表头&动态表头(纯代码导出)

    想要导出的样式 看需求要用那种方式的 使用注解一样可以导出杂表头 我的表头是动态的所以用的代码写 Excel注解依赖
  • Linux 安装MySQL 8.0 超详细教程(mysql 8.0.30)

    目录 一 卸载mariadb 1 检查Linux是否安装了mariadb数据库 2 全部卸载 3 检查mariadb是否全部卸载 二 删除之前安装的mysql 1 查找以前是否装有mysql 2 查找之前安装的mysql的目录 并且删除my
  • 将APP程序发布到iPhone或iPad上去测试

    转载至 http www appshare cn thread 3123 1 1 html 图文的介绍版本 http fstoke me blog tag apple 绝大多数iPhone Developer Distribution 的代
  • Linux命令——统计文件数量

    统计文件夹下文件的总个数 不包括文件夹 ls l grep wc l 统计文件夹下所有文件 包括子文件 的总个数 ls lR grep wc l 统计文件夹下所有文件夹的个数 包括子文件夹 ls LR grep d wc l 具体解释 ls
  • 【微软】数组里找任意两个数之和的绝对值最小值

    数组里找任意两个数之和的绝对值最小值 思路 有一个整数数组 请求出两两之差绝对值最小的值 记住 只要得出最小值即可 不需要求出是哪两个数 方法1 暴力的方式 遍历所有的两个数的差 记录最小值 算法的复杂度O n2 方法2 两个数要想差的绝对
  • Innodb的LRU列表解析

    Innodb为了加快对磁盘中数据的操作 在操作磁盘上的数据时 会先把数据存放到一块名为Buffer Pool的内存缓冲池中 缓冲池以页为单位进行缓存 页大小为16K 由于受到机器限制 内存的大小远小于磁盘的大小 因此需要一种机制来淘汰非热点
  • .NET框架结构体系及工作原理

    1 NET框架运行在操作系统之上 是 NET最基础的框架 它提供了创建 部署和运行 NET应用的环境 主要包含公共语言运行时 CLR 和框架类库 NET Framwork 类库 FCL 并且支持多种开发语言 NET框架可以安装在Window
  • ppt使用教程记录

    ctrl 快速缩小字体 ctrl 快速放大字体 ctrl b 加粗 ctrl u 下划线 ctrl i 斜体 ctrl e 居中对齐 ctrl l 左对齐 ctrl r 右对齐 alt n x h 快速插入文字 alt n p d 快速插入
  • 前端绑定事件总结

    前言 前端开发很多情况下都需要绑定事件 不同的事件对应不同的触发方式 不同需求下需要合适的事件 最近在开发中遇到了绑定事件的问题 所以总结一下前端绑定事件 事件 元素天生具备的行为方式 和写不写JS代码没有关系 onclick不是事件 cl
  • 1. 实现一个单链表,链表初始为空,支持三种操作:

    1 向链表头插入一个数 2 删除第 k 个插入的数后面的数 3 在第 k 个插入的数后插入一个数 include
  • MKL 进行矩阵向量运算

    C source code is found in dgemm example c define min x y x lt y x y include
  • 安卓逆向-反编译-修改-打包-签名-解决夜神模拟器usb调试找不到安卓apk的问题,无法进行动态调试的解决方案。

    问题来由 在进行了一定时间的安卓逆向的学习 遇到了一个问题如图 这么多个安卓apk 打开开发者模式 调试应用只有一个 这不是离谱 按照之前的文章 这就不能进行动态调试 既然有了问题就要想解决办法 问了带我的师傅 我不是用你这个方法的 给我演