
Security News
Follow-up and Clarification on Recent Malicious Ruby Gems Campaign
A clarification on our recent research investigating 60 malicious Ruby gems.
abootcrafter is a Rust-based tool designed to manipulate android boot images like a real blacksmith. It allows you to display information about boot images, extract their components, update existing boot images, or create new ones based on provided configurations and files.
Archives of precompiled binaries for abootcrafter are available for Windows, macOS, Linux and Android. Linux, Android and Windows binaries are static executables.
abootcrafter can also be installed with cargo
.
$ cargo install abootcrafter
Alternatively, one can use cargo binstall
to install a abootcrafter
binary directly from GitHub:
$ cargo binstall abootcrafter
abootcrafter info bootimg --input-boot-file <INPUT_BOOT_FILE>
--input-boot-file
or -i
: Path to the input boot image file.abootcrafter extract bootimg --input-boot-file <INPUT_BOOT_FILE> --output-dir <OUTPUT_DIR>
--input-boot-file
or -i
: Path to the input boot image file.--output-dir
or -o
: (Optional) Directory where the extracted components will be saved. If not specified, the components will be extracted to a default directory.abootcrafter update bootimg --input-boot-file <INPUT_BOOT_FILE> [OPTIONS]
--input-boot-file
or -i
: Path to the input boot image file.--kernel-file
or -k
: (Optional) Path to a new kernel image file.--ramdisk-file
or -r
: (Optional) Path to a new ramdisk image file.--second-file
or -s
: (Optional) Path to a new second stage image file.--recovery-dtbo-file
: (Optional) Path to a new recovery DTBO image file (v1 to v2 only).--dtb-file
: (Optional) Path to a new DTB image file (v2 only).--cmdline
: (Optional) New command line parameters.--extra-cmdline
: (Optional) Extra command line parameters.abootcrafter create bootimg-v0 --output-boot-file <OUTPUT_BOOT_FILE> --kernel-file <KERNEL_FILE> --ramdisk-file <RAMDISK_FILE> [OPTIONS]
--output-boot-file
or -o
: Output boot image file.--kernel-file
or -k
: Kernel file to use for creating the boot image.--ramdisk-file
or -r
: Ramdisk file to use for creating the boot image.--second-file
or -s
: (Optional) Second file to use for creating the boot image.--page-size
: (Optional) Page size to use for creating the boot image [default: 2048] [possible values: 2048, 4096, 8192, 16384].--kernel-addr
: (Optional) Physical load address of the kernel [default: 0x00008000].--ramdisk-addr
: (Optional) Physical load address of the ramdisk [default: 0x01000000].--second-addr
: (Optional) Physical load address of the second [default: 0x00000000].--tags-addr
: (Optional) Physical load address of the tags [default: 0x00000100].--os-version
: (Optional) Android OS Version of the boot image [default: ].--name
: (Optional) Product name of the boot image [default: ].--cmdline
: (Optional) Kernel command line of the boot image [default: ].--id
: (Optional) timestamp / checksum / sha1 / etc [default: ].--extra-cmdline
: (Optional) Extra kernel command line of the boot image [default: ].abootcrafter create bootimg-v1 --output-boot-file <OUTPUT_BOOT_FILE> --kernel-file <KERNEL_FILE> --ramdisk-file <RAMDISK_FILE> [OPTIONS]
--output-boot-file
or -o
: Output boot image file.--kernel-file
or -k
: Kernel file to use for creating the boot image.--ramdisk-file
or -r
: Ramdisk file to use for creating the boot image.--second-file
or -s
: (Optional) Second file to use for creating the boot image.--recovery-dtbo-file
or -D
: (Optional) Recovery DTBO file to use for creating the boot image.--page-size
: (Optional) Page size to use for creating the boot image [default: 2048] [possible values: 2048, 4096, 8192, 16384].--kernel-addr
: (Optional) Physical load address of the kernel [default: 0x00008000].--ramdisk-addr
: (Optional) Physical load address of the ramdisk [default: 0x01000000].--second-addr
: (Optional) Physical load address of the second [default: 0x00000000].--tags-addr
: (Optional) Physical load address of the tags [default: 0x00000100].--os-version
: (Optional) Android OS Version of the boot image [default: ].--name
: (Optional) Product name of the boot image [default: ].--cmdline
: (Optional) Kernel command line of the boot image [default: ].--id
: (Optional) timestamp / checksum / sha1 / etc [default: ].--extra-cmdline
: (Optional) Extra kernel command line of the boot image [default: ].--recovery-dtbo-offset
: (Optional) Offset of the recovery DTBO partition [default: 0x0000000000000000].abootcrafter create bootimg-v2 --output-boot-file <OUTPUT_BOOT_FILE> --kernel-file <KERNEL_FILE> --ramdisk-file <RAMDISK_FILE> [OPTIONS]
--output-boot-file
or -o
: Output boot image file.--kernel-file
or -k
: Kernel file to use for creating the boot image.--ramdisk-file
or -r
: Ramdisk file to use for creating the boot image.--second-file
or -s
: (Optional) Second file to use for creating the boot image.--recovery-dtbo-file
or -D
: (Optional) Recovery DTBO file to use for creating the boot image.--dtb-file
or -d
: (Optional) Device tree file to use for creating the boot image.--page-size
: (Optional) Page size to use for creating the boot image [default: 2048] [possible values: 2048, 4096, 8192, 16384].--kernel-addr
: (Optional) Physical load address of the kernel [default: 0x00008000].--ramdisk-addr
: (Optional) Physical load address of the ramdisk [default: 0x01000000].--second-addr
: (Optional) Physical load address of the second [default: 0x00000000].--tags-addr
: (Optional) Physical load address of the tags [default: 0x00000100].--os-version
: (Optional) Android OS Version of the boot image [default: ].--name
: (Optional) Product name of the boot image [default: ].--cmdline
: (Optional) Kernel command line of the boot image [default: ].--id
: (Optional) timestamp / checksum / sha1 / etc [default: ].--extra-cmdline
: (Optional) Extra kernel command line of the boot image [default: ].--recovery-dtbo-offset
: (Optional) Offset of the recovery DTBO partition [default: 0x0000000000000000].--dtb-addr
: (Optional) Physical load address of the device tree [default: 0x0000000000000000].abootcrafter create bootimg-v3 --output-boot-file <OUTPUT_BOOT_FILE> --kernel-file <KERNEL_FILE> --ramdisk-file <RAMDISK_FILE> [OPTIONS]
--output-boot-file
or -o
: Output boot image file.--kernel-file
or -k
: Kernel file to use for creating the boot image.--ramdisk-file
or -r
: Ramdisk file to use for creating the boot image.--os-version
: (Optional) Android OS Version of the boot image [default: ].--cmdline
: (Optional) Kernel command line of the boot image [default: ].abootcrafter create bootimg-v4 --output-boot-file <OUTPUT_BOOT_FILE> --kernel-file <KERNEL_FILE> --ramdisk-file <RAMDISK_FILE> [OPTIONS]
--output-boot-file
or -o
: Output boot image file.--kernel-file
or -k
: Kernel file to use for creating the boot image.--ramdisk-file
or -r
: Ramdisk file to use for creating the boot image.--os-version
: (Optional) Android OS Version of the boot image [default: ].--cmdline
: (Optional) Kernel command line of the boot image [default: ].Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Contributions are welcome! Please feel free to open issues or pull requests to improve this tool.
FAQs
Unknown package
We found that abootcrafter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.
Research
/Security News
A malicious Go module posing as an SSH brute forcer exfiltrates stolen credentials to a Telegram bot controlled by a Russian-speaking threat actor.