APK反编译流程详解
APK反编译流程详解 反编译apk1java -jar /d/studies/Decompile/apktool_2.7.0.jar d source.apk -o output 将.dex转换为.jar 1/d/studies/Decompile/dex-tools-v2.4/d2j-dex2jar.sh classes.dex -o classes.jar 利用jd-gui查看classes.jar 1java -jar /d/studies/Decompile/jd-gui-1.6.6.jar classes.jar 利用jadx直接反编译apk 1/d/studies/Decompile/jadx-1.5.1/bin/jadx-gui your-app.apk 反编译后重新签名 修改后重新编译成未签名的apk1java -jar /d/studies/Decompile/apktool_2.7.0.jar b output -o target.apk --use-aapt2 –use-aapt2 参数指定使用AAPT2工具进行构建,这通常能更好地处理资源文件 ...
win10专业版激活
win10专业版激活打开命令框,依次执行下面的命令,分别是安装win10专业版密钥,设置kms服务器,激活win10专业版系统,执行最后一个命令后,会提示【Professional edition成功地激活了产品】,表明当前系统已经变成win10专业版,并成功激活; 1slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX 1slmgr /skms kms.digiboy.ir 1slmgr /ato 1slmgr /xpr 查看激活日期 或者 永久激活 1irm https://get.activated.win | iex 2022.2.21有效的kms服务器地址 kms.dwhd.org kms.digiboy.ir www.zgbs.cc cy2617.jios.org
maven指令
maven指令mvn -v //查看版本mvn archetype:create //创建 Maven 项目mvn compile //编译源代码mvn test-compile //编译测试代码mvn test //运行应用程序中的单元测试mvn site //生成项目相关信息的网站mvn package //依据项目生成 jar 文件mvn install //在本地 Repository 中安装 jarmvn -Dmaven.test.skip=true //忽略测试文档编译mvn clean //清除目标目录中的生成结果mvn clean compile //将.java类编译为.class文件mvn clean package //进行打包mvn clean test //执行单元测试mvn clean ...
对话
对话如何成为优秀的Android开发工程师?1.了解 Java 语言:Android 是用 Java 语言编写的,因此了解 Java 语言是开发 Android 应用的基础。2.学习 Android 框架:Android 框架包括 Android 应用构建块,如活动、服务、广播接收器和内容提供程序等。3.熟悉 Android UI 开发:了解如何使用 Android 的布局和图形元素来创建有吸引力的 UI。4.了解数据存储技术:学习如何使用 SQLite 数据库或其他数据存储技术来存储和管理应用程序数据。5.熟悉网络编程:学习如何从 Android 应用程序访问网络数据和 API。6.了解版本控制系统:学习如何使用版本控制系统,例如 Git,来管理源代码。7.学习 Material Design 指南:了解 Android 的 Material Design 指南,并学习如何在应用程序中实现它。8.参与开源项目:参与开源项目可以帮助您更好地理解 Android 开发,并学习与他人合作开发的经验。9.保持学习:Android 技术不断发展,因此保持学习并跟上最新技。 如何成为有钱人...
Nano编辑操作
Nano编辑操作在 Nano 文本编辑器中删除行是一个常见的操作。你可以使用以下方法删除单行、多行或所有行。 复制shift + insert 全选Alt + A Alt + \ Alt + / Alt + 6 选中+复制+粘贴Alt + A Alt + 6 Ctrl + U 删除单行将光标放在要删除的行上,然后按 Ctrl + K 即可剪切整行。 Ctrl + K 删除多行将光标放在要删除行的起始位置,按 Ctrl + ^ 设置标记。 使用箭头键选择要删除的行。 按 Ctrl + K 剪切选定的行。 Ctrl + ^ (设置标记)箭头键 (选择行)Ctrl + K (剪切选定的行) 删除所有内容按 Alt + \ 跳转到文件开头。 按 Alt + T 删除所有内容。 Alt + \ (跳转到文件开头)Alt + T (删除所有内容)这些快捷键使得在 Nano 中删除行变得非常简单和高效。如果你需要撤销删除操作,可以使用 Ctrl + U 恢复已删除的文本。
常用 grep 选项
常用 grep 选项 grep:全称是 “Global Regular Expression Print”,意思是“全局正则表达式打印”。它的作用是搜索文本中匹配指定模式的行,并将这些行输出(打印)出来。 选项 含义 示例 -i 忽略大小写 grep -i "error" log.txt -v 反向匹配(显示不包含指定模式的行) grep -v "success" log.txt -n 显示匹配行的行号 grep -n "hello" file.txt -r 或 -R 递归搜索目录中的所有文件 grep -r "password" /home/user/ -l 只列出包含匹配项的文件名 grep -l "TODO" *.py -c 显示匹配的行数(计数) grep -c "error" log.txt -w 匹配整个单词(不是部分) grep -w "cat" file.txt(不会匹配 category...
Linux系统目录含义
Linux系统目录含义Linux系统中的目录结构遵循一种称为FHS(Filesystem Hierarchy Standard)的标准,这种标准定义了各个目录的用途和内容。下面是对您列出的每个目录的具体介绍: /boot:这个目录包含了启动Linux内核和加载器(如GRUB)所需的文件。通常包括内核映像、初始化RAM磁盘镜像等。 /cdrom:这是一个挂载点,用于挂载CD-ROM设备。不过在现代Linux系统中,这个目录可能并不常见,因为大多数发行版使用更通用的挂载点如/media或/mnt。 /data:这个目录不是标准的FHS目录,它的存在和用途取决于具体的系统配置或应用需求。它可能被用来存储特定应用程序的数据。 /dev:设备文件目录,包含所有设备文件,这些文件代表了系统上的硬件设备,如硬盘、键盘、鼠标等。 /etc:系统配置文件存放目录,几乎所有需要管理员干预的配置文件都存放在这个目录下。 /home:用户主目录,每个用户都有一个自己的子目录,用于存放个人文件和设置。 /...
Linux常用指令
Linux常用指令查内存,CPU,硬盘1free -h 1cat /proc/meminfo 1lscpu 1top 1df -h 查看全部用户1cat /etc/passwd 1echo ~fleming 区分系统和普通用户 系统用户:UID < 1000(不同发行版可能略有不同,如 Ubuntu 从 1000 开始,RHEL/CentOS 从 500 或 1000 开始) 普通用户:UID ≥ 1000查看普通用户(UID ≥ 1000):1awk -F: '$3 >= 1000 {print $1}' /etc/passwd 查看系统用户(UID < 1000):1awk -F: '$3 < 1000 {print $1}' /etc/passwd 删除用户1sudo userdel -r <name> 将用户加入到某个组1sudo usermod -aG docker fleming 刷新组权限newgrp docker 查看有sudo...
VS Code常用快捷键
VS Code常用快捷键VS Code 提供了丰富的快捷键,可以显著提高开发效率。以下是一些常用的快捷键分类整理(基于 Windows/Linux,macOS 用户可将 Ctrl 替换为 Cmd,部分快捷键可能因系统或设置不同而略有差异): 基础操作 打开命令面板:Ctrl + Shift + P(所有功能入口) 新建文件/窗口:Ctrl + N / Ctrl + Shift + N 保存文件:Ctrl + S 保存所有文件:Ctrl + K → S 关闭当前标签页:Ctrl + W 撤销/重做:Ctrl + Z / Ctrl + Y 导航与搜索 快速跳转文件:Ctrl + P(输入文件名) 搜索文本:Ctrl + F(当前文件) 全局搜索:Ctrl + Shift + F(跨文件搜索) 跳转到定义:F12(或 Ctrl + 点击) 返回/前进:Alt + ← / Alt + →(光标历史位置) 跳转到行号:Ctrl + G 编辑代码 复制/剪切当前行:Ct...
Binder机制
Binder机制这是一个非常深入的问题。答案是:在现代 Android 架构(Project Treble)中,对于供应商(Vendor)进程来说,使用 vndbinder 几乎是强制性的。 以下是原因以及如果不使用它会面临的后果: 1. 为什么“必须”用它?Android 将 Binder 通信分成了三个独立的“世界”(Domains),它们物理上隔离,使用不同的设备驱动: **/dev/binder (Framework 域)**:仅供 System 分区进程(如 ActivityManager)使用。 **/dev/vndbinder (Vendor 域)**:专门供 Vendor 分区进程(如你的 musicanalyzer 和各种 HAL)互相通信。 **/dev/hwbinder (Hardware 域)**:主要用于旧版的 HIDL 接口。 强制原因:Google 的 VTS (Vendor Test Suite) 测试有一项硬性规定:禁止 Vendor 进程直接连接到 /dev/binder。 如果你尝试让 musicanalyzer 注册到系统的 serv...




