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. 微信小程序弹出层

    1.消息提示     wx.showToast wx.showToast({ title: '成功', icon: 'success', duration: 2000 })2.模态弹窗 wx.show ...

  2. Docker搭建HAproxy+tomcat 实现高可用

    构建业务镜像1创建tomcat-app1和tomcat-app2两个目录,代表不同的两个基于tomcat的业务.准备tomcat的配置文件[root@localhost ~]#mkdir -p /da ...

  3. 让人头疼的AI bug (随想)

    虽然概念上,人工智能和机器学习不等同.但是本文提及的AI,指的是基于机器学习的AI.   一个软件产品,出了错误叫bug,bug需要修.那一个机器学习的模型,准确率在那摆着呢,大伙心知肚明是有一定的犯 ...

  4. 02----python入门----基本数据类型

    关于数据分类依据 一.数字型(int) Python可以处理任意大小的正负整数,但是实际中跟我们计算机的内存有关,在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,在64位系 ...

  5. 使用zap接收gin框架默认的日志并配置日志归档

    目录 使用zap接收gin框架默认的日志并配置日志归档 gin默认的中间件 基于zap的中间件 在gin项目中使用zap 使用zap接收gin框架默认的日志并配置日志归档 本文介绍了在基于gin框架开 ...

  6. 再探命令行传参之c与python

    继上一次java命令行传参 python sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互,如:python解释 ...

  7. HDU_3071 Gcd & Lcm game 【素数分解 + 线段树 + 状压】

    一.题目  Gcd & Lcm game 二.分析 非常好的一题. 首先考虑比较暴力的做法,肯定要按区间进行处理,对于$lcm$和$gcd$可以用标准的公式进行求,但是求$lcm$的时候是肯定 ...

  8. 开发C语言的3款神器,VS2019、VScode和IntelliJ Clion

    一.Visual Studio 2019环境安装配置+代码调试 环境安装配置 首先我们要在Visual Studio官方网站去下载安装包 进入官网后会发现有三种版本可供下载,分别是社区版.专业版和企业 ...

  9. 通过 ASM 库生成和修改 class 文件

    在 JVM中 Class 文件分析 主要详细讲解了Class文件的格式,并且在上一篇文章中做了总结. 众所周知,JVM 在运行时, 加载并执行class文件, 这个class文件基本上都是由我们所写的 ...

  10. 拖拽方式生成Vue用户界面

      前一阵子拜访了一些小伙伴,大家都表示苦前端太久了,需要花费不少时间在前端开发上.本着在不损失灵活性的前提下尽可能提高开发效率的原则,作者尝试在框架内集成了拖拽方式生成Vue用户界面的功能作为补充, ...