Commit Graph

94 Commits

Author SHA1 Message Date
topjohnwu 9c7cf340a1 Move pattern matching to Rust 2023-06-21 16:47:20 -07:00
topjohnwu 399b9e5eba Move hexpatch to Rust 2023-06-20 18:17:26 -07:00
topjohnwu a6b1149b9f Minor cleanup 2023-06-20 14:36:07 -07:00
LoveSy 51e985ae7f Use quick-protobuf 2023-06-20 14:36:07 -07:00
LoveSy c874391be4 Box CpioEntry 2023-06-15 04:09:17 -07:00
LoveSy 7e8e013832 Fix two typo 2023-06-15 04:09:17 -07:00
topjohnwu cb3ab63815 Replace all CStr usage to Utf8CStr 2023-06-12 13:57:15 -07:00
LoveSy d15017b777 Add arg requirement for cpio extract 2023-06-12 02:40:50 -07:00
topjohnwu 23c1f0111b Improve Rust implementation
- Move mmap_file implementation into Rust
- Introduce Utf8CStr as the better c-string type to use
2023-06-12 02:40:50 -07:00
LoveSy 866386e21f Use to_string instead of to_owned 2023-06-12 02:40:50 -07:00
LoveSy bf10496fa9 Add log for restore 2023-06-12 02:40:50 -07:00
LoveSy 607e6547a7 No check rm -r 2023-06-12 02:40:50 -07:00
topjohnwu 6b21091fe2 Fix compile errors and cleanup 2023-06-12 02:40:50 -07:00
topjohnwu e58f98e844 Update cargo files 2023-06-12 02:40:50 -07:00
LoveSy b8cb9cd84d Refactor magiskboot cpio 2023-06-12 02:40:50 -07:00
topjohnwu 5e2ef1b7f4 Better bytes support in C++ 2023-06-06 17:11:42 -07:00
topjohnwu 305e8b3d14 Improve bootimg const correctness 2023-06-03 05:10:22 -07:00
topjohnwu 2a654e5d7f Improve byte_data const correctness 2023-06-03 03:16:03 -07:00
topjohnwu 57afae3425 Cleanup cpio codebase 2023-06-03 00:31:20 -07:00
topjohnwu feb44f875e Migrate PREINITDEVICE in recovery mode
Close #6917
2023-06-02 16:49:04 -07:00
topjohnwu d77a368176 Move dependency version into workspace 2023-05-28 17:30:33 -07:00
topjohnwu 5b8b48ccc1 Properly support streamable input 2023-05-26 14:07:11 -07:00
topjohnwu 659b9c6fee Support extracting any partition from payload.bin 2023-05-26 13:36:47 -07:00
LoveSy ec31cab5a7 Add zip and payload.bin support to Magisk app 2023-05-26 13:36:47 -07:00
topjohnwu 18d0cedbe2 Parse rule files with Rust 2023-05-24 19:11:56 -07:00
topjohnwu 8e8f01f8b5 Move project common code into include 2023-05-23 21:30:30 -07:00
topjohnwu f5aaff2b1e Cleanup filter_out_stream implementation 2023-05-20 01:28:10 -07:00
topjohnwu 2bcf2e76f1 Generate cxx binding in build.rs 2023-05-19 15:16:54 -07:00
topjohnwu 57bd450798 Split input and output streams 2023-05-19 04:19:43 -07:00
topjohnwu c0c9204848 Add ResultExt 2023-05-05 23:57:34 -07:00
topjohnwu 7b5ff99cd1 Reorganize code 2023-05-04 21:37:08 -07:00
topjohnwu 21ddb26db8 Perform proto codegen in build script 2023-05-04 21:37:08 -07:00
LoveSy 7bf2e3875f Support extract boot image from payload.bin 2023-05-04 21:37:08 -07:00
vvb2060 f54daa3469 Force ramdisk format to lz4_legacy for v4 2023-03-23 20:50:27 -07:00
topjohnwu 4417997749 Make sure ro mmap region is not overwritten 2023-03-21 15:50:43 -07:00
LoveSy 2eef542054 Add amonet microloader support 2023-03-21 15:50:43 -07:00
LoveSy d9f0aed571 Fix unpack -n and repack -n of ZIMAGE kernel 2023-03-17 02:00:46 -07:00
LoveSy 98813c24fb Drop trailing garbage of gzip decompress
I previously refered to minigzip from libz which copies all trailing
data to the output when decompressing. However, gzip, on the other
hand, drop trailing garbage by default. Consider ZIMAGE append
the kernel size with zero padding, we should drop trailing garbage
as well.
2023-03-17 02:00:25 -07:00
LoveSy 97ed1b16d0 Fix gzip decompression 2023-02-20 18:26:04 -08:00
残页 ae34659b26 No kernel repack if it isn't patched at all
It turns out that decompressing and recompressing the kernel is enough to break booting on many devices that use MT6763.
Fix #5124, fix #6204, fix #6566 

Co-authored-by: LoveSy <shana@zju.edu.cn>
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com>
2023-02-17 15:00:14 -08:00
Kian-Meng Ang f562710438 Fix typos
Found via `codespell -S *.xml,*.kt,./native/src/external -L crate,bu`
2023-01-18 16:35:37 +08:00
topjohnwu 4c0f72f68f Move part of libbase to Rust 2022-08-08 22:53:37 -07:00
topjohnwu 1b4a6850b8 Ensure parent folders exist before extract 2022-08-07 04:06:18 -07:00
topjohnwu b9e89a1a2d Restructure the native module
Consolidate all code into the src folder
2022-07-23 13:51:56 -07:00