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模式的更多相关文章

  1. Windows下Nexus 5 改user模式为debug模式

    博客链接:http://blog.csdn.net/qq1084283172/article/details/52337241 在学习Android软件安全的过程中,经常要用到Android的动态调试 ...

  2. Ubuntu下修改Nexus 5的boot.img--改user模式为debug模式

    博客地址:http://blog.csdn.net/qq1084283172/article/details/52422205 在学习Android逆向的时候,总会用到Android的调试模式.一般情 ...

  3. VS2013的Release模式 和 debug 模式

    在有的情况下,我们可能不能直接利用Debug模式进行程序调试,那么如何在Release模式下进行程序调试呢? 一.将项目属性设置为Release,生成--->配置管理器: 二.按Alt+F7,弹 ...

  4. hornor8改user模式为debug模式

    在学习Android软件安全的过程中,经常要用到Android的动态调试.但是呢,一般的Android应用在发布的时候都是发布版的不能直接被调试,为了能使Android应用能够支持调试就需要对Andr ...

  5. 【C++】Debug模式和Release模式的区别

    VS中的程序有两种编译模式:Debug模式和Release模式. Debug通常称为调试版本,通过一系列编译选项的配合,编译结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能 ...

  6. 以Debug模式启动JBoss

    JBoss服务器的启动方法: 假设JBoss的安装目录为$JBOSS_HOME,Windows以及Linux环境下的Debug模式的启动方法分别为:Windows环境:找到Windows下的JBoss ...

  7. Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录

    项目无法启动了 简单的介绍一下事件过程:周一的早上,收到前端同事抛过来的一个任务,说是一个接口无法正常返回数据,于是就让他把参数发过来,我想试着在本地重现一下并且将问题修复掉,这种情况肯定是要通过de ...

  8. cocoapod引入FLEX,debug模式正常,Release报错library not found for -lXXX

    cocoapod引入FLEX,debug模式正常,Release报错library not found for -lXXX, 因为podfile是这么写的: pod 'FLEX', '~> 2. ...

  9. 分享一个android debug模式,出现 waiting for debugger把界面卡住,取巧的解决办法

    使用android studio开发程序时,有时会出现 waiting for debugger 卡住界面,软件无法正常debug运行的情况,很多网友分享了一些解决办法,比如: 1 打开cmd进入命令 ...

随机推荐

  1. Azure Functions(三)集成 Azure Queue Storage 存储消息

    一,引言 接着上一篇文章继续介绍 Azure Functions,今天我们将尝试绑定 Queue Storage,将消息存储到 Queue 中,并且学会适用于 Azure Functions 的 Az ...

  2. 一款免费的在线 Markdown 笔记,类似 typora 编辑体验

    为什么要开发一款新的编辑器 自从我开始使用 Markdown,就爱上了这种标记语法,轻量.纯文本兼容是最大的优点,哪里都可以编辑,一开始是在 IDE 上直接编辑,后来笔记越来越多,需要上传图片,有云同 ...

  3. 设计模式之建造者模式(BuilderPattern)

    一.意义 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 说明:复杂对象的构建,比如一个对象有几十个成员属性,那么我们在创建这个对象,并给成员属性赋值时,就会很麻烦.采用 ...

  4. POJ_2065 SETI 【同余高斯消元】

    一.题目  SETI 二.分析 给定一个模数,一串字符串,字符串长度为N,相当于是N个方程的答案,而这N个方程中有N个未知数,要求的就是这N个未知数的值,很显然的高斯消元,遇到模数和除法,用逆元就好. ...

  5. Elasticsearch 结构化搜索、keyword、Term查询

    前言 Elasticsearch 中的结构化搜索,即面向数值.日期.时间.布尔等类型数据的搜索,这些数据类型格式精确,通常使用基于词项的term精确匹配或者prefix前缀匹配.本文还将新版本的&qu ...

  6. Spring基于XML的IoC

    Maven导入Spring依赖 <dependency> <groupId>org.springframework</groupId> <artifactId ...

  7. 【LeetCode】2020-04 每日一题

    8. 字符串转换整数 (atoi)(中等) [分类]:模拟.正则表达式 [题解]: 解法1:直接模拟,但是在判断INT_MAX和INT_MIN上需要注意,因为直接判断会超出范围,所以可以将式子转换一下 ...

  8. P1223_排队接水(JAVA语言)

    思路 根据短作业优先平均等待时间最短的常识(默默感叹一句操作系统没白学),将Ti从小到大排序后,计算平均等待时间输出 //水题 题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请 ...

  9. C语言变量及其生命周期

    变量类型以及作用域和生命周期 变量的作用域 变量的作用域就该变量可以被访问的区间,变量的作用域可以分为以下四种: 进程作用域(全局):在当前进程的任何一个位置都可以访问 函数作用域:当流程转移到函数后 ...

  10. sqli-labs系列——第一关

    先看了一遍关于sql的一些知识点,通关sqli-labs加深下印象.之前也因为作业的原因通关过前10关,但那时候不懂得原理,跟着网上的教程做的,所以这次尝试自己思考通关. less1 尝试and1=2 ...