Android逆向技术60——Android新root工具APatch体验

Android新root工具APatch体验

背景

体验APatch

The patching of Android kernel and Android system

设备pixel3,Android12,Kernel version 4.9.x

如何提取内核

如果你有原厂的镜像,直接忽略这一步,到后面即可。

需要root环境下执行以下命令

adb shell
su
cd /dev/block/by-name

查询boot位置

cupid:/dev/block/by-name # ls -l  | grep boot
lrwxrwxrwx 1 root root 16 1970-05-31 15:02 boot_a -> /dev/block/sda11
lrwxrwxrwx 1 root root 16 1970-05-31 15:02 boot_b -> /dev/block/sda12

如果不知道哪个分区活跃的,可以重启到bootloader查看Boot slot:a这样的提示,也有可能是b。

图片

根据自己设备情况来备份。我的设备是a分区。开始备份当前的boot。

cupid:/dev/block/by-name # dd if=/dev/block/sda11 of=/sdcard/boot_a.img
131072+0 records in
131072+0 records out
67108864 bytes (64 M) copied, 0.434110 s, 147 M/s
cupid:/dev/block/by-name #

通过上面的命令可以备份boot到sdcard中,要保存好这个boot,当你刷了其他boot无法启动手机的时候可以把这个boot刷到手机中救回来。

cupid:/dev/block/by-name # cd /mnt/sdcard/
cupid:/mnt/sdcard # ls | grep boot
boot_a.img
cupid:/mnt/sdcard #

这就是备份出来的boot了。

如果需要刷入,可以看下面步骤:

# 手机连接电脑,在电脑终端执行
adb reboot bootloader
# 进入fastboot界面后, 后面路径根据自己电脑中路径定
fastboot flash boot boot_a.img

刷入完成后,可以重启设备了。

刷AP

从https://github.com/bmax121/APatch/releases地址下面下载apk,把原来的boot放到手机中,安装app之后打卡是这样的。

图片

继续点击超级秘钥,设置秘钥,要记住。

图片

图片

点击Patch,输入秘钥。

图片

选择文件,自己备份的boot,原厂的boot。

图片

图片

修补完成之后就把这个boot刷入手机中。刷入用临时启动方式,不要直接刷入。

# 这里替换成自己本地boot路径
adb shell reboot bootloader
fastboot boot boot_path.img

└─[0] <> fastboot boot apatch_10398_ckyl_boot.img
Sending 'boot.img' (65536 KB)                      OKAY [  1.740s]
Booting                                            OKAY [  5.299s]
Finished. Total time: 7.107s

刷入成功后设备会自动重启,如果启动成功,可以继续下一步测试。再次打开管理器。

图片

点击AndroidPatch安装即可。

图片

到这里安装完成了。记下来开始测试下app检测情况,这里还是momo案例。

图片

打开一次,没有检测到root。

图片

这是还没授权的情况下。记下来授权root。再打开一次app观察。

图片

图片

关闭授权后:

图片

图片

到此结束了。

转自:Android逆向技术60——Android新root工具APatch体验

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache POI提供了许多用于处理Microsoft Office文件的工具,其中包括处理Word文档的工具。如果您想要在Word文档中添加形状,可以使用Apache POI中的XSSF库。以下是基本的代码示例: ``` XWPFDocument doc = new XWPFDocument(); XWPFParagraph para = doc.createParagraph(); // 添加形状 XWPFRun run = para.createRun(); CTAnchor anchor = run.getCTR().addNewDrawing().addNewAnchor(); anchor.setSimplePos2(false); anchor.setRelativeHeight(0); anchor.setRelativeWidth(0); anchor.setDistB(0); anchor.setDistL(0); anchor.setDistR(0); anchor.setDistT(0); CTShape shape = anchor.addNewSp(); shape.setBsln(false); shape.setZOrder(0); CTShapeNonVisual nvSpPr = shape.addNewNvSpPr(); CTNonVisualDrawingProps cnv = nvSpPr.addNewCNvPr(); cnv.setId(1); cnv.setName("Shape 1"); nvSpPr.addNewCNvSpPr().setTxBox(false); CTShapeProperties spPr = shape.addNewSpPr(); spPr.addNewXfrm().addNewOff().setX(0); spPr.getXfrm().addNewOff().setY(0); spPr.getXfrm().addNewExt().setCx(100000); spPr.getXfrm().getExt().setCy(100000); CTPath2D path = shape.addNewPath(); path.setTextPathOk(true); path.setConnectAngles(false); path.setConnectLocals(false); path.setConnectType(STPathShadeType.NONE); path.setFillRight(false); path.setLayoutMode(STPathLayoutType.NONE); path.setExtrusionOk(false); shape.addNewPrstGeom().setPrst(STShapeType.RECT); shape.addNewStyle().setLnRef("none"); shape.addNewTxBody().addNewP().addNewR().setT("Hello World!"); // 保存文档 FileOutputStream out = new FileOutputStream("example.docx"); doc.write(out); out.close(); doc.close(); ``` 这段代码将在Word文档中添加一个矩形形状,并在其中添加文本“Hello World!”。您可以根据需要更改形状的类型和文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值