图片来源:《空之境界-未来福音》截图 解锁bootloader、刷机部分基本照抄的LineageOS官方教程,有基本的英语阅读能力的话建议直接看官方教程 工具 刷机要用到adb和fastboot, Arch Linux下安装“android-tools”即可 其他Linux发行版可以参考Linux查询文件所属包和查看包所包含文件,来查找adb和fastboot命令属于哪个包 进入开发者模式 设置->关于手机,连点7次版本号,成功会有“您现在处于开发者模式”的提示 打开USB调试 设置->系统->开发者选项,开启“USB调试” 解锁bootloader 解锁OEM 设置->系统->开发者选项,开启“OEM解锁” 连接到电脑 插入数据线连接到电脑,手机会有弹窗“允许USB调试吗?”,点击允许。可通过命令查看是否已连接 进入fastboot模式 或者也可以通过在关机状态下按住“音量+”+ “音量-” + “电源按键”直接启动进入fastboot模式 确认手机正常连接到fastboot 解锁 执行命令后手机会显示相关警告,通过音量键选择“UNLOCK THE BOOTLOADER”解锁,解锁会导致手机重启,如果没重启可以手动重启一次,确保能正常进入系统 刷机 刷入Lineage Recovery 访问https://download.lineageos.org/guacamole下载一加7Pro对应的Recovery镜像(img后缀) 参考“解锁bootloader”时的步骤进入fastboot模式,并确保连接正常 刷入Recovery 执行成功后在手机上用音量键选择到“Recovery mode”并按电源键进入Recovery模式。或者也可以在关机状态下按住“音量-”+ “电源键”启动并进入Recovery模式 进入Recovery模式后,执行电脑上执行“adb devices”确认是否正常连接,如果没有的话Recovery主菜单选择 Advanced->Enable ADB Ensuring all firmware partitions are consistent 没有相关知识,这部分没看懂,总之是解决潜在问题 访问https://mirrorbits.lineageos.org/tools/copy-partitions-20220613-signed.zip下载相关文件 进入 Apply Update->Apply from ADB ,执行: 返回Recovery主菜单,Advanced->Reboot to recovery 重启进入Recovery模式 刷入LineageOS 访问https://download.lineageos.org/guacamole下载一加7Pro对应的LineageOS镜像(zip后缀) 进入Recovery模式,格式化以去除磁盘加密,Factory reset->Format data / factory reset->Format data 返回Recovery主菜单,进入 Apply Update->Apply from ADB ,执行: 执行可能会卡在“47%”的进度,最后报错,属正常现象,其实刷成功了 如果不需要安装下面的google相关应用和获取root权限的话,这里直接回到Recovery主菜单,选择“Reboot system now”就完成了 如果卡在开机界面无法启动(正常第一次启动不会超过15分钟,我的1分钟左右就进入使用引导了),很有可能是漏了上面某个步骤,可以长按“音量+”+“电源键”10秒强制关机,然后重新进入fastboot或者recovery重新进行上面的步骤 Google Apps(可选) 官方用的是https://wiki.lineageos.org/gapps里的安装包(MindTheGapps 和 OpenGapps),包含一些我不需要的应用,这里选择BiTGApps保证最小化安装( Google Play Store和运行必要的服务) 访问https://bitgapps.github.io/download.html获取安装包(arm64,android11),进入Recovery模式(如果刷了LineageOS没重启过,返回Recovery主菜单,Advanced->Reboot to recovery 重启进入Recovery模式),进入Apply Update->Apply from ADB,执行: 由于BiTGApps没有使用LineageOS 的密钥签名,手机会弹出警告,选择yes即可,安装完成后重启手机即可 获取Root权限 通过刷入magisk来获取和管理root权限 访问https://magiskapp.com/apk/下载最新版magisk安装包(页面加载完成后,需要等待15秒左右才会出现“Download Magisk App (Latest)”按钮) 访问https://github.com/topjohnwu/magisk/releases下载最新版magisk安装包 手机正常开机,然后电脑上使用 adb 安装 magick 应用(或者也可以自己传到手机上像正常应用一样安装) 安装完成后打开Magisk应用,会提示“需要修复环境”,点击确认,之后会自动重启。 进入Recovery模式,进入Apply Update->Apply from ADB,电脑上还是使用刚才下载的安装包,将文件后缀由apk改为zip,执行: 由于magisk没有使用LineageOS 的密钥签名,手机会弹出警告,选择yes即可,安装完成后重启手机即可 如何卸载Magisk 打开手机上的Magisk应用,点击 卸载 Magisk->完全卸载,之后会自动重启进入Recovery模式。 Recovery模式下, 进入 Apply […]
Linux
图片来源:https://www.pixiv.net/artworks/101295432 Linux下从网卡读取数据需要root权限,以普通用户身份运行的Wireshark无法抓包 临时方案 使用root权限启动Wireshark 不太安全的方案 利用“SUID”让所有用户执行特定二进制程序时能够拥有root权限,SUID简单介绍可参看 SUID、SGID和SBIT 推荐方案 给 /usr/bin/dumpcap 添加抓包的权限,添加一个新用户组wireshark,使所有组内用户能够执行 /usr/bin/dumpcap,有的Linux发行版(比如ArchLinux、Ubuntu)用包管理器安装wireshark后,其实默认就是这个方案,只是不会自动将用户加入wireshark用户组而已 查看/usr/bin/dumpcap 如果输出类似上面这样, 文件所属组为wireshark,组成员具有可读和可执行权限,则只需要将当前用户加入wireshark用户组,然后注销重新登录即可 如果不是话,就要自己手动执行创建用户组等全部操作,然后注销重新登录 参考:
图片来源:https://www.pixiv.net/artworks/101077465 Debain,Ubuntu,Deepin等使用deb包的发行版 已安装的包 根据文件名(命令名)查找包名 根据包名查看其所包含文件 未安装的包 要查找未安装的包需要额外工具 apt-file (使用 sudo apt install apt-file 安装),使用前可以先更新本地缓存 sudo apt update 根据文件名(命令名)查找包名 根据包名查看其所包含文件 RHEL,Centos,Fedora等使用rpm包的发行版 根据文件名(命令名)查找包名 或 根据包名查看其所包含文件 要查询未安装的包所包含的文件需要额外工具 repoquery (使用 sudo yum install yum-utils 或 sudo dnf install dnf-utils 安装) Arch,Manjaro等使用 pacman 的发行版 根据文件名(命令名)查找包名 或 根据包名查看其所包含文件 或
图片来源:https://www.pixiv.net/artworks/95096478 X Window剪贴板 X提供了3个剪贴板,分别是“Primery selection” 、“Secondar selection”和 “Clipboard”,它们使用不同的区域存储数据,其中“Secondar selection”现在几乎没有应用使用。 Clipboard 这个就是平常熟悉的剪贴板,和windows下一样 Primery selection “Primery selection”不需要使用额外的快捷键,鼠标选中自动复制,按下鼠标滚轮粘贴 Secondar selection 一般来说用不上,要使用的话可以借助“xclip”来读取和写入数据 写入数据到“Secondar selection” 读取“Secondar selection”存储的数据并输出 配置 罗技官方的G HUB软件只支持Windows和MacOS, Linux下可以使用piper来自定义G502的按键 打开piper ,按需设置各个按键即可,非常无脑。 通用的复制粘贴 这里我选择把“G4”和“G5”绑定到粘贴(Shift + Insert)和复制(Ctrl + Insert),不使用“Ctrl + V”和“Ctrl + C”是因为Linux的模拟终端软件为了防止和SHELL中的快捷键冲突通常会把复制和粘贴设置成“Ctrl + Shift + C”“Ctrl + Shift + V”。如果你还使用了GoldenDict,可以把GoldenDict默认的“Ctrl + C + C”弹窗翻译换成 “Ctrl + Ins + Ins”,选中单词或句子后,双击“G5”即可翻译,体验非常棒。 访问剪贴板历史 这个需要配合剪贴板管理器,比如KDE默认的剪贴板管理器,可以将访问剪贴板历史的操作绑定到快捷键 然后在piper中把G502的滚轮左/右点击操作绑定到“Ctrl + Alt + Shift + N”“Ctrl + Alt + Shift +P”,这样通过“G4”“G5”和滚轮左/右点击操作配合就可以实现多值的复制粘贴操作
图片来源:https://www.pixiv.net/artworks/82352687 要抓取一些由于众所周知的原因无法直接使用的软件的报文或者要抓取软件在不同国家/城市下报文时,可以配置透明代理,在软件客户端不感知代理环境的情况下抓取尽量真实的流量 配置透明代理 以Ubuntu为例,采用v2ray + v2rayA内置透明代理。这个方案配置上比较简单,但日常使用体验上个人感觉比v2ray + qv2ray + cgproxy的方案略差一些 安装v2ray 由于Ubuntu和v2ray官方都没有提供软件源,这里选择第三方的铜豌豆Linux软件源 添加软件源 安装v2ray 安装v2rayA 添加公钥 添加 v2rayA 软件源 安装v2rayA 配置 启动v2rayA并设置开机自启 如果不想开机自启,可以在需要用的时候手动启动 访问http://127.0.0.1:2017/,第一次访问设置帐号密码 点击左上“导入”按钮填写节点链接地址或者订阅地址,点击确认。至于如何获取节点链接地址或者订阅地址,请自己想办法 点击右上角设置,配置参考如下图,也可以根据需要自行修改,修改完成点击“保存并应用”(第四项转发DNS请求有助于让流量更真实,但如果代理节点在国外可能会影响国内网站的访问速度,甚至可能出现无法访问的情况,请根据需要修改) 选择一个节点连接,然后点击左上角启动即可。由于我导入的是订阅地址,会生成一订阅名相关的标签,节点在该标签里,如果导入的是节点地址,节点会出现在“Server”标签里阅地址 设置完成后,访问http://www.ip111.cn/测试一下 抓包 Wireshark Linux安装wireshark之后可能会出现找不到网卡无法抓包的情况,解决方案参考这个:https://blog.geekgo.tech/linux/linux%e4%b8%8bwireshark%e6%97%a0%e6%b3%95%e6%8a%93%e5%8c%85%e9%97%ae%e9%a2%98/ 一般情况下不建议直接将透明代理和要抓包的软件安装在同一设备上,因为: 建议的做法是在配置了透明代理的LinuxPC上开启无线热点,将要抓包的软件安装在其他设备上并连接热点,使用wireshark直接抓取入口无线网卡的报文即可(无线网卡名称一般以“wl”开头,如“wlan0”) 无线网卡 如果你是在Linux PC上配置的透明代理环境,并且恰巧你的主版没有内置无线网卡,那就需要一张USB无线网卡,但市面上很多宣传支持Linux的USB无线网卡实际只是能连接WIFI,并不支持AP模式开热点。目前我测试过的有rt5370芯片和 rt3070芯片的无线网卡linux上都是可以开热点的,也不用折腾第三方驱动,价格在30-40软妹币之间,抓包分析用足够了。 查看无线网卡是否支持AP模式 支持AP模式的话,“Supported interface modes”下会有一行“* AP” 参考:
图片来源:https://www.pixiv.net/artworks/99335528 SUID SGID SBIT 全称 set UID set GID Sticky Bit 解释 s标志出现在文件拥有者的x权限位置上 :-rwsr-xr-x s标志出现在文件群组的x权限位置:-rwxr-sr-x t标志出现在其他人的x权限位置:drwxr-sr-t 添加命令 chmod u+s file chmod g+s file_or_dir chmod o+t dir 有效对象 二进制可执行文件 二进制可执行文件,文件夹 文件夹 效果 文件执行者在该程序运行期间将获得程序拥有者的权限 对于文件:文件执行者在该程序运行期间将获得程序所在群组的权限; 对于文件夹:使用者在该文件夹下时,有效群组将变成该文件夹的群组 当使用者在该文件夹下创建文件或文件夹时,仅有自己与 root 才有权力删除该文件 这三个权限都是建立在可执行权限之上,当可执行标志位为空时设置,如果设置了SUID、SGID和SBIT,会显示为大写:rwSr-Sr-T 参考: 《鸟哥的Linux私房菜——基础学习篇(第四版)》
图片来源:《空之境界》截图 添加archlinuxcn主仓库和密钥 添加archlinuxcn主仓库到“/etc/pacman.conf”,“Server”后面的连接也可以从https://github.com/archlinuxcn/mirrorlist-repo里选一个 更新现有仓库 导入密钥 可选操作:使用archlinuxcn镜像列表 安装archlinuxcn镜像列表,这个包只有一个文件 “/etc/pacman.d/archlinuxcn-mirrorlist”,根据需要自行修改该文件,移除要使用的源最前面的 # 即可 修改“/etc/pacman.conf”,把之前在“/etc/pacman.conf”添加的内容删掉,改成这样 参考: