Android逆向(二)-系统调试开关

Android逆向(二)-系统调试开关

本篇文章主要介绍下android下的系统调试开关.

1: build.prop简介

android中有一些常用的配置信息都存放在一个文件中,如:设备系统/版本号/Cpu等信息.

而这个文件就是/system/build.prop

我们先简单看下这个文件:

zh@zh:~/workSpace$ adb shell
le_x2:/ $ su
le_x2:/ # cat /system/build.prop      # begin common build properties
# autogenerated by build/make/tools/buildinfo_common.sh
ro.system.build.date=Mon Nov 22 11:56:36 CST 2021
ro.system.build.date.utc=1637553396
ro.system.build.fingerprint=LeEco/LeMax2_WW/le_x2:6.0.1/FKXOSOP5801910311S/letv10310125:user/release-keys
ro.system.build.id=QQ3A.200805.001
ro.system.build.tags=release-keys
ro.system.build.type=userdebug
ro.system.build.version.incremental=eng.xiezia.20211122.094459
ro.system.build.version.release=10
ro.system.build.version.sdk=29
ro.product.system.brand=LeEco
ro.product.system.device=x2
ro.product.system.manufacturer=LeEco
ro.product.system.model=lineage_x2
ro.product.system.name=LeMax2_WW
# end common build properties
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=QQ3A.200805.001
ro.build.display.id=lineage_x2-userdebug 10 QQ3A.200805.001 eng.xiezia.20211122.094459 release-keys
ro.build.version.incremental=eng.xiezia.20211122.094459
ro.build.version.sdk=29
ro.build.version.preview_sdk=0
ro.build.version.preview_sdk_fingerprint=REL
ro.build.version.codename=REL
ro.build.version.all_codenames=REL
ro.build.version.release=10
ro.build.version.security_patch=2021-05-05
ro.build.version.base_os=
ro.build.version.min_supported_target_sdk=23
ro.build.date=Mon Nov 22 11:56:36 CST 2021
ro.build.date.utc=1637553396
ro.build.type=userdebug
ro.build.user=xieziao
ro.build.host=xieziao-OptiPlex-7050
ro.build.tags=release-keys
ro.build.flavor=lineage_x2-userdebug
# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=arm64-v8a
ro.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
ro.product.cpu.abilist32=armeabi-v7a,armeabi
ro.product.cpu.abilist64=arm64-v8a
ro.product.locale=en-US
ro.wifi.channels=
# ro.build.product is obsolete; use ro.product.device
ro.build.product=le_x2
# Do not try to parse description or thumbprint
ro.build.description=le_x2-user 6.0.1 FKXOSOP5801910311S eng.letv.20161031.012138.wechatpay release-keys
ro.lineage.device=x2
# end build properties#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.treble.enabled=true
persist.debug.dalvik.vm.core_platform_api_policy=just-warn
dalvik.vm.lockprof.threshold=500
net.bt.name=Android
ro.build.fingerprint=LeEco/LeMax2_WW/le_x2:6.0.1/FKXOSOP5801910311S/letv10310125:user/release-keys
ro.lineage.version=17.1-20211122-UNOFFICIAL-x2
ro.lineage.releasetype=UNOFFICIAL
ro.lineage.build.version=17.1
ro.modversion=17.1-20211122-UNOFFICIAL-x2
ro.lineagelegal.url=https://lineageos.org/legal
ro.lineage.display.version=17.1-20211122-UNOFFICIAL-x2
ro.lineage.build.version.plat.sdk=9
ro.lineage.build.version.plat.rev=0
le_x2:/ # 

android 中通过两个命令可以操作这些信息: getprop和setprop.

le_x2:/ # getprop ro.build.fingerprint
LeEco/LeMax2_WW/le_x2:6.0.1/FKXOSOP5801910311S/letv10310125:user/release-keys
127|le_x2:/ # setprop ro.build.fingerprint eEco/LeMax2_WW/le_x2:6.0.1/FKXOSOP5801910311S/letv10310125:user/release-keys1
setprop: failed to set property 'ro.build.fingerprint' to 'eEco/LeMax2_WW/le_x2:6.0.1/FKXOSOP5801910311S/letv10310125:user/release-keys1'

但是ro开头的这些属性是不允许后期修改的,需要重新编译系统镜像文件boot.img。

而我们说的系统调试开关是哪个呢?

2: default.prop

这里就要讲到另一个文件default.prop

1|le_x2:/ # cat default.prop                                                                                                                                                           
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.actionable_compatible_property.enabled=false
ro.postinstall.fstab.prefix=/system
ro.secure=1
security.perf_harden=1
ro.allow.mock.location=0
ro.debuggable=1
debug.atrace.tags.enableflags=0
dalvik.vm.image-dex2oat-Xms=64m
dalvik.vm.image-dex2oat-Xmx=64m
dalvik.vm.dex2oat-Xms=64m
dalvik.vm.dex2oat-Xmx=512m
dalvik.vm.usejit=true
dalvik.vm.usejitprofiles=true
dalvik.vm.dexopt.secondary=true
dalvik.vm.appimageformat=lz4
ro.dalvik.vm.native.bridge=0
pm.dexopt.first-boot=quicken
pm.dexopt.boot=verify
pm.dexopt.install=speed-profile
pm.dexopt.bg-dexopt=speed-profile
pm.dexopt.ab-ota=speed-profile
pm.dexopt.inactive=verify
pm.dexopt.shared=speed
dalvik.vm.dex2oat-resolve-startup-strings=true
dalvik.vm.dex2oat-max-image-block-size=524288
dalvik.vm.minidebuginfo=true
dalvik.vm.dex2oat-minidebuginfo=true
ro.iorapd.enable=false
tombstoned.max_tombstone_count=50
ro.com.google.clientidbase=android-leeco
ro.adb.secure=1
ro.control_privapp_permissions=enforce
ro.storage_manager.enabled=true
persist.sys.dun.override=0
media.recorder.show_manufacturer_and_model=true
net.tethering.noprovisioning=true
persist.sys.usb.config=none
le_x2:/ # 

Dalvik虚拟机从android 框架中启动时,系统的ro.debuggable为1。 则说明系统中的所有程序都是可以调试的。

如果为0,则继续判断应用程序manifest文件中android:debuggable的值是否为true.如果是true,则支持调试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【项目实践day06】JWT令牌相关

什么是JWT 简洁的、自包含的格式,用于在通信双方以json数据格式安全的传输信息。 由于数字签名的存在,这些信息是可靠的。 jwt就是将原始的json数据格式进行了安全的封装,这样就可以直接基于jwt在通信双方安全的进行信息传输了。简洁&#…

Playwright中locator() 方法快速定位网页元素[全面总结]

Playwright 是一个用于浏览器自动化的库,它支持多种浏览器和多种语言。在 Playwright 中,page.locator() 方法用于创建一个元素定位器(Element Locator)。元素定位器是一个强大的工具,可以帮助你在页面上找到并操作元素…

【前端基础】什么是视口?

视口 了解视口相关概念及理想视口的设置 是移动Web开发非常重要环节。 什么是视口? 视口简单来说就是浏览器显示页面内容的区域。 在PC端,正常的视口宽度就是整个浏览器的窗口可视区的宽度,会随着浏览器窗口大小的重置而缩放;…

CTF 题型 SSRF攻击例题总结

CTF 题型 SSRF攻击&例题总结 文章目录 CTF 题型 SSRF攻击&例题总结Server-side Request Forgery 服务端请求伪造SSRF的利用面1 任意文件读取 前提是知道要读取的文件名2 探测内网资源3 使用gopher协议扩展攻击面Gopher协议 (注意是70端口)python…

前端项目,个人笔记(五)【图片懒加载 + 路由配置 + 面包屑 + 路由行为修改】

目录 1、图片懒加载 步骤一:自定义全局指令 步骤二:代码中使用 ​编辑步骤三:效果查看 步骤四:代码优化 2、封装组件案例-传对象 3、路由配置——tab标签 4、根据tab标签添加面包屑 4.1、实现 4.2、bug:需要…

智能合约 之 部署ERC-20

Remix介绍 Remix是一个由以太坊社区开发的在线集成开发环境(IDE),旨在帮助开发者编写、测试和部署以太坊智能合约。它提供了一个简单易用的界面,使得开发者可以在浏览器中直接进行智能合约的开发,而无需安装任何额外的…

进销存管理完整方案:那些让人头疼的进销存难题及解决方法!

什么是进销存管理?为何进销存管理在企业管理中如此重要?进销存管理的核心模块包括哪些?为何企业在进销存管理中常常遭遇前后方协作不畅、数据不同步等痛点?又该如何针对进销存管理痛点进行优化?本文将从进销存管理的基…

代码随想录训练营第50天 | LeetCode 123.买卖股票的最佳时机III、LeetCode 188.买卖股票的最佳时机IV

LeetCode 123.买卖股票的最佳时机III 文章讲解:代码随想录(programmercarl.com) 视频讲解:动态规划,股票至多买卖两次,怎么求? | LeetCode:123.买卖股票最佳时机III_哔哩哔哩_bilibili 思路 代码如下&am…

java实现kml文件下载接口

根据业务需求,需提供一个下载kml格式航线文件的HTTP GET接口 示例代码 package com.kyrielx.kmzdemo.controller;import org.apache.commons.io.FileUtils; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org…

git是什么git能做什么

git是什么 git 是一个免费、开源、分布式的版本控制系统,跟踪个人和团队在项目上协作时的变更历史。随着开发者对项目进行更改,可以随时恢复项目的任何早期版本。 git能做什么 开发者可以通过git查看项目历史,了解: - 做了哪些…

5.首页搜索与瀑布流

搜索栏 官网 https://vkuviewdoc.fsq.pub/components/search.html 是否开启右边控件 该控件为类似按钮形式,可以设置为"搜索"或者"取消"等内容,如果开启动画效果,用户确认搜索后,该控件会自动消失 show-ac…

各种窗函数对脉压结果的影响

雷达导论专栏总目录链接: 雷达导论专栏总目录-CSDN博客 1. 各类窗函数 有几个窗函数的系数可配,配置如下: tukeywin(N,0.75)kaiser(N,2.5)gausswin(N,1.5)taylorwin(N,3,-24)2. 时域加窗 时域加窗时,直接加在匹配滤波函数上:Htw=exp(1j*pi*K*tp.^2).*win;。那么矩形窗就相…

使用jQuery的autocomplete实现数据查询一次,联想自动补全

书接上回,上次说到在jsp页面中,通过监听输入框的数值变化,实时查询数据库,得到返回值使用autocomplete属性自动补全,实现一个联想补全辅助操作,链接:使用jquery的autocomplete属性实现联想补全操…

73_Pandas获取分位数/百分位数

73_Pandas获取分位数/百分位数 使用 quantile() 方法获取 pandas 中 DataFrame 或 Series 的分位数/百分位数。 目录 Quantile() 的基本用法指定要获取的分位数/百分位数:参数 q指定interpolation方法:参数interpolation 数据类型 dtype 的差异 指定行…

二、Kubernetes(k8s)中部署项目wordpress(php博客项目,数据库mysql)

前期准备 1、关机顺序 2、开机顺序 (1)、k8s-ha1、k8s-ha2 (2)、master01、master02、master03 (3)、node01、node02 一、集群服务对外提供访问,需要通过Ingress代理发布域名 mast01上传 ingress-nginx.yaml node01、node02 上传 ingress-nginx.tar 、kube-webh…

鸿蒙开发实战:【网络管理-Socket连接】

介绍 本示例主要演示了Socket在网络通信方面的应用,展示了Socket在两端设备的连接验证、聊天通信方面的应用。 效果预览 使用说明 1.打开应用,点击用户文本框选择要登录的用户,并输入另一个设备的IP地址,点击确定按钮进入已登录…

【C++】用红黑树模拟实现set、map

目录 前言及准备:一、红黑树接口1.1 begin1.2 end1.3 查找1.4 插入1.5 左单旋和右单旋 二、树形迭代器(正向)2.1 前置 三、模拟实现set四、模拟实现map 前言及准备: set、map的底层结构是红黑树,它们的函数通过调用红…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Toggle)

组件提供勾选框样式、状态按钮样式及开关样式。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 仅当ToggleType为Button时可包含子组件。 接口 Toggle(options: { type: ToggleType, is…

一台电脑安装多个版本node,如何切换使用

直接上答案,请安装nvm——nodejs的版本管理工具 官网地址在此:nvm文档手册 - nvm是一个nodejs版本管理工具 - nvm中文网 (uihtm.com) 1.由于我电脑本来就有node14,所以需要先卸载 原来的node,建议在软件目录自带的node文件夹中点…

Java学习笔记NO.20

Java流程控制 1. 用户交互 Scanner Java中的Scanner类用于获取用户输入,可以从标准输入(键盘)读取各种类型的数据。 import java.util.Scanner; public class UserInputExample { public static void main(String[] args) { Scanner sc…