手机改 user模式为debug模式
logcat 是Android中一个命令行工具,可用于监控手机应用程序的log信息。网上相关的教学很多,这里只想把自己折腾 2 部手机(一个是三星S4 I9500 港水,Android 5.01,一个是 NOTE4 N9108V 移动4G国行版 Android 4.4.4)的心得做个记录,这种方法个人觉得最好,同样的风险也不小。建议具有一定刷机经验的朋友看。没有任何经验的不要乱试。在测试中得到了越狱的指导,同时也用到了Cofface提供的工具,向他们表示感谢!
下面直接说说手机由 user 模式修改为 debug 模式,以便能够在 logcat 查看到 Application 进程的方法:
首先手机进入 CWM 恢复模式,用“备份和还原备份”这个功能,把手机 boot.img(只是众多备份出来的内容之一)备份出来到 SDCARD 或者外置卡,文件目录一般是在 /clockworkmod/backup/2015-06-22..... 以当时备份的日期命名的目录下。
备份完之后,单独把 boot.img 复制到电脑里。
然后通过 bootimg.exe 这个软件(暂时未找到附件上传的地方,你们先自己找找。一定要最新版本,不然不能拆包4.4.4以及5.0的boot.img),把 boot.img 拆包,命令行为:
bootimg.exe --unpack-bootimg
运行结果(我的手机是这样的,你们的我不清楚):
arguments: [bootimg file]
bootimg file: boot.img
output: kernel[.gz] ramdisk[.gz] second[.gz]
found nonstandard ramdisk_addr
found nonstandard tags_addr
found device_tree_image
base: 0x0
ramdisk_addr: 0x2600000
second_addr: 0xf00000
tags_addr: 0x2400000
page_size: 4096
name: "SYSMAGIC000K"
cmdline: "console=null androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x
37 dwc3_msm.cpu_to_affin=1"
padding_size=4096
arguments: [ramdisk file] [directory]
ramdisk file: ramdisk.gz
directory: initrd
output: cpiolist.txt
compress: True
拆包后得到一堆文件夹和文件,单独找 initrd 目录,以文本方式打开 default.prop
把这一行 ro.debuggable=0 改为 ro.debuggable=1
修改完保存,退出。
在命令行输入:bootimg.exe --repack-bootimg
运行结果:
arguments: [cpiolist file]
cpiolist file: cpiolist.txt
output: ramdisk.cpio.gz
compress_level: 6
arguments: [base] [cmdline] [page_size] [padding_size]
kernel: kernel
ramdisk: ramdisk.cpio.gz
second:
dt_image: dt_image
base: 0x0
ramdisk_addr: 0x2600000
second_addr: 0xf00000
tags_addr: 0x2400000
name: SYSMAGIC000K
cmdline: console=null androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x3
7 dwc3_msm.cpu_to_affin=1
page_size: 4096
padding_size: 4096
output: boot-new.img
修改过的 boot.img 成功输出为 boot-new.img
把 boot-new.img 复制回手机 SDCARD 中原先那个
/clockworkmod/backup/2015-06-22..... 目录下,把原 boot.img 移出这个目录放到别处备用,把 boot-new.img 改名为 boot.img 。然后重启手机,再次进入 CWM恢复模式,在“备份和还原备份“ 选恢复备份即可。
注意只需要刷修改过后的 boot.img 就行了,恢复前,请把目录里其它之前备份的文件删除。
最后,重启手机,再运行ddms,这时候可以看到你要看的内容了。
转自逆向未来论坛,谢谢原作者,转载只做学习为目的。
手机改 user模式为debug模式的更多相关文章
- Windows下Nexus 5 改user模式为debug模式
博客链接:http://blog.csdn.net/qq1084283172/article/details/52337241 在学习Android软件安全的过程中,经常要用到Android的动态调试 ...
- Ubuntu下修改Nexus 5的boot.img--改user模式为debug模式
博客地址:http://blog.csdn.net/qq1084283172/article/details/52422205 在学习Android逆向的时候,总会用到Android的调试模式.一般情 ...
- VS2013的Release模式 和 debug 模式
在有的情况下,我们可能不能直接利用Debug模式进行程序调试,那么如何在Release模式下进行程序调试呢? 一.将项目属性设置为Release,生成--->配置管理器: 二.按Alt+F7,弹 ...
- hornor8改user模式为debug模式
在学习Android软件安全的过程中,经常要用到Android的动态调试.但是呢,一般的Android应用在发布的时候都是发布版的不能直接被调试,为了能使Android应用能够支持调试就需要对Andr ...
- 【C++】Debug模式和Release模式的区别
VS中的程序有两种编译模式:Debug模式和Release模式. Debug通常称为调试版本,通过一系列编译选项的配合,编译结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能 ...
- 以Debug模式启动JBoss
JBoss服务器的启动方法: 假设JBoss的安装目录为$JBOSS_HOME,Windows以及Linux环境下的Debug模式的启动方法分别为:Windows环境:找到Windows下的JBoss ...
- Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录
项目无法启动了 简单的介绍一下事件过程:周一的早上,收到前端同事抛过来的一个任务,说是一个接口无法正常返回数据,于是就让他把参数发过来,我想试着在本地重现一下并且将问题修复掉,这种情况肯定是要通过de ...
- cocoapod引入FLEX,debug模式正常,Release报错library not found for -lXXX
cocoapod引入FLEX,debug模式正常,Release报错library not found for -lXXX, 因为podfile是这么写的: pod 'FLEX', '~> 2. ...
- 分享一个android debug模式,出现 waiting for debugger把界面卡住,取巧的解决办法
使用android studio开发程序时,有时会出现 waiting for debugger 卡住界面,软件无法正常debug运行的情况,很多网友分享了一些解决办法,比如: 1 打开cmd进入命令 ...
随机推荐
- 数据结构-PHP 线段树的实现
转: 数据结构-PHP 线段树的实现 1.线段树介绍 线段树是基于区间的统计查询,线段树是一种 二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点.使用线段树可以快速的查 ...
- python3+tkinter实现的黑白棋,代码完整 100%能运行
今天分享给大家的是采用Python3+tkinter制作而成的小项目--黑白棋 tkinter是Python内置的图形化模块,简单易用,一般的小型UI程序可以快速用它实现,具体的tkinter相关知识 ...
- 死磕Spring之IoC篇 - @Bean 等注解的实现原理
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...
- 关于主机不能访问虚拟机的web服务解决
centos7默认并没有开启80端口,我们只有开启就行 [root@localhost sysconfig]# firewall-cmd --permanent --add-port=3032/tcp ...
- WPF 基础 - MultiBinding
MultiBinding 与 Binding 一样继承自 BindingBase,因此可以使用 Binding 的地方都可以使用 MultiBinding. namespace System.Wind ...
- Vue.js 学习笔记之七:使用现有组件
5.3 使用现有组件 在之前的五个实验中,我们所演示的基本都是如何构建自定义组件的方法,但在具体开发实践中,并非项目中所有的组件都是需要程序员们自己动手来创建的.毕竟在程序设计领域,"不要重 ...
- Canal高可用架构部署
一.前言 canal 是阿里的一款开源项目,纯 Java 开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了 MySQL(也支持 mariaDB). canal 模拟 mys ...
- 【Azure Developer】Azure Graph SDK获取用户列表的问题: SDK中GraphServiceClient如何指向中国区的Endpoint:https://microsoftgraph.chinacloudapi.cn/v1.0
问题描述 想通过Java SDK的方式来获取Azure 门户中所列举的用户.一直报错无法正常调用接口,错误信息与AAD登录认证相关,提示tenant not found. 想要实现的目的,通过代码方式 ...
- 北航OO第一单元作业总结(Retake)
前言:当我写这篇博客的时候,我的心情是复杂的,因为这实际上是我第二次写这篇博客--我今年重修的这门课.我对去年的成绩心有不甘--在激烈的竞争下,我虽然尽可能完成了所有作业(仅一次作业未通过弱测),但爆 ...
- 2020 OO 第一单元总结 表达式求导
title: BUAA-OO 第一单元总结 date: 2020-03-19 20:53:41 tags: OO categories: 学习 OO第一单元通过三次递进式的作业让我们实现表达式求导,在 ...