Open 13584452567 opened 5 hours ago
我大概看了一下rust embed的实现,它是直接将文件内容在编译期以二进制bytes的方式嵌入在静态代码块中,而且这些静态变量也没有导出符号,没法直接读取到。 最简单直接的方式就是给ksub添加ko文件导出方法,而且也需要在linux环境执行才行 感觉还是手动从release下载实在点
我大概看了一下rust embed的实现,它是直接将文件内容在编译期以二进制bytes的方式嵌入在静态代码块中,而且这些静态变量也没有导出符号,没法直接读取到。 最简单直接的方式就是给ksub添加ko文件导出方法,而且也需要在linux环境执行才行 感觉还是手动从release下载实在点
好的,感谢你的回复。那我这里准备直接放弃Apk的修补支持了。
我大概看了一下rust embed的实现,它是直接将文件内容在编译期以二进制bytes的方式嵌入在静态代码块中,而且这些静态变量也没有导出符号,没法直接读取到。 最简单直接的方式就是给ksub添加ko文件导出方法,而且也需要在linux环境执行才行 感觉还是手动从release下载实在点
好的,感谢你的回复。那我这里准备直接放弃Apk的修补支持了。
给你一个思路,其实boot修补的过程可以通过adb push到手机在/data/local/tmp
目录下进行,ksub提供了修补boot的cli可以直接使用,这样只需要一个ksud和一个magiskboot外加一个需要修补的boot文件就行了
ksud和magiskboot都可以从apk中提取出来,然后push到手机,然后执行ksud的patch命令就行了
我大概看了一下rust embed的实现,它是直接将文件内容在编译期以二进制bytes的方式嵌入在静态代码块中,而且这些静态变量也没有导出符号,没法直接读取到。 最简单直接的方式就是给ksub添加ko文件导出方法,而且也需要在linux环境执行才行 感觉还是手动从release下载实在点
好的,感谢你的回复。那我这里准备直接放弃Apk的修补支持了。
给你一个思路,其实boot修补的过程可以通过adb push到手机在
/data/local/tmp
目录下进行,ksub提供了修补boot的cli可以直接使用,这样只需要一个ksud和一个magiskboot外加一个需要修补的boot文件就行了 ksud和magiskboot都可以从apk中提取出来,然后push到手机,然后执行ksud的patch命令就行了
但是这样的话,为什么不直接用ksu manager修补呢?
主要目标是完全离机修补镜像,不太能够指望手机环境。为了这个还特地实现了magiskboot,否则没法在loong64下正常运行。
感谢你提供的思路!
我大概看了一下rust embed的实现,它是直接将文件内容在编译期以二进制bytes的方式嵌入在静态代码块中,而且这些静态变量也没有导出符号,没法直接读取到。 最简单直接的方式就是给ksub添加ko文件导出方法,而且也需要在linux环境执行才行 感觉还是手动从release下载实在点
好的,感谢你的回复。那我这里准备直接放弃Apk的修补支持了。
给你一个思路,其实boot修补的过程可以通过adb push到手机在
/data/local/tmp
目录下进行,ksub提供了修补boot的cli可以直接使用,这样只需要一个ksud和一个magiskboot外加一个需要修补的boot文件就行了 ksud和magiskboot都可以从apk中提取出来,然后push到手机,然后执行ksud的patch命令就行了但是这样的话,为什么不直接用ksu manager修补呢?
主要目标是完全离机修补镜像,不太能够指望手机环境。为了这个还特地实现了magiskboot,否则没法在loong64下正常运行。
感谢你提供的思路!
完全离机那就只能下载ko文件来修补了
我大概看了一下rust embed的实现,它是直接将文件内容在编译期以二进制bytes的方式嵌入在静态代码块中,而且这些静态变量也没有导出符号,没法直接读取到。 最简单直接的方式就是给ksub添加ko文件导出方法,而且也需要在linux环境执行才行 感觉还是手动从release下载实在点
好的,感谢你的回复。那我这里准备直接放弃Apk的修补支持了。
给你一个思路,其实boot修补的过程可以通过adb push到手机在
/data/local/tmp
目录下进行,ksub提供了修补boot的cli可以直接使用,这样只需要一个ksud和一个magiskboot外加一个需要修补的boot文件就行了 ksud和magiskboot都可以从apk中提取出来,然后push到手机,然后执行ksud的patch命令就行了但是这样的话,为什么不直接用ksu manager修补呢?
主要目标是完全离机修补镜像,不太能够指望手机环境。为了这个还特地实现了magiskboot,否则没法在loong64下正常运行。
感谢你提供的思路!
完全离机那就只能下载ko文件来修补了
不过,可以考虑一下给libksud加一个自解压方法嘛?我或许可以最小化一个qemu环境来运行它进行自解压
我大概看了一下rust embed的实现,它是直接将文件内容在编译期以二进制bytes的方式嵌入在静态代码块中,而且这些静态变量也没有导出符号,没法直接读取到。 最简单直接的方式就是给ksub添加ko文件导出方法,而且也需要在linux环境执行才行 感觉还是手动从release下载实在点
好的,感谢你的回复。那我这里准备直接放弃Apk的修补支持了。
给你一个思路,其实boot修补的过程可以通过adb push到手机在
/data/local/tmp
目录下进行,ksub提供了修补boot的cli可以直接使用,这样只需要一个ksud和一个magiskboot外加一个需要修补的boot文件就行了 ksud和magiskboot都可以从apk中提取出来,然后push到手机,然后执行ksud的patch命令就行了但是这样的话,为什么不直接用ksu manager修补呢? 主要目标是完全离机修补镜像,不太能够指望手机环境。为了这个还特地实现了magiskboot,否则没法在loong64下正常运行。 感谢你提供的思路!
完全离机那就只能下载ko文件来修补了
不过,可以考虑一下给libksud加一个自解压方法嘛?我或许可以最小化一个qemu环境来运行它进行自解压
既然你都可以做到让它自解压,那为什么不考虑直接在qemu环境里完成patch呢,同样是执行ksud
我大概看了一下rust embed的实现,它是直接将文件内容在编译期以二进制bytes的方式嵌入在静态代码块中,而且这些静态变量也没有导出符号,没法直接读取到。 最简单直接的方式就是给ksub添加ko文件导出方法,而且也需要在linux环境执行才行 感觉还是手动从release下载实在点
好的,感谢你的回复。那我这里准备直接放弃Apk的修补支持了。
给你一个思路,其实boot修补的过程可以通过adb push到手机在
/data/local/tmp
目录下进行,ksub提供了修补boot的cli可以直接使用,这样只需要一个ksud和一个magiskboot外加一个需要修补的boot文件就行了 ksud和magiskboot都可以从apk中提取出来,然后push到手机,然后执行ksud的patch命令就行了但是这样的话,为什么不直接用ksu manager修补呢? 主要目标是完全离机修补镜像,不太能够指望手机环境。为了这个还特地实现了magiskboot,否则没法在loong64下正常运行。 感谢你提供的思路!
完全离机那就只能下载ko文件来修补了
不过,可以考虑一下给libksud加一个自解压方法嘛?我或许可以最小化一个qemu环境来运行它进行自解压
既然你都可以做到让它自解压,那为什么不考虑直接在qemu环境里完成patch呢,同样是执行ksud
我懂了,非常感谢你的回复
Describe your problem.
如题,我是一个桌面端工具箱的开发者。目前工具箱支持了kernelSU的内核替换和ko修补boot的安装方式,现在想要进一步支持直接选择apk然后对boot.img进行修补。这个过程中遇到了一个小问题,ksu不像magisk那样直接把所需的资源文件压缩在apk内而是使用了rust-embed嵌入了libksud.so,同时还启用了压缩。我尝试使用binwalker从libksud.so中分离ko文件但是失败了。直接观察文件二进制并未发现规律。我想知道有没有什么方法可以从libksud.so中解压出打包进去的ko文件?比如通过一个外部的rust程序来完成这一步骤或是直接进行bin分离操作