📄 bootlacestart.s
字号:
msg_sectors_per_track: .ascii "\r\nError: Too few sectors(per track) to hold GRLDR.MBR.\r\n\r\n\0"msg_geometry_S: .ascii "\r\nDisk geometry calculated according to the partition table:\r\n\r\n" .ascii " Sectors per track = \0"msg_geometry_H: .ascii ", Number of heads = \0"msg_success: .ascii "\r\n\r\nSuccess.\r\n\r\n\0"msg_fstype_fat32_deny: .ascii "\r\n\r\nError: Filesystem type is FAT32 but --fat32 was not specified.\r\n\r\n\0"msg_fstype_fat32_allow: .ascii "\r\n\r\nFilesystem type is FAT32.\r\n\r\n\0"msg_fstype_ntfs_deny: .ascii "\r\n\r\nError: Filesystem type is NTFS but --ntfs was not specified.\r\n\r\n\0"msg_fstype_ntfs_allow: .ascii "\r\n\r\nFilesystem type is NTFS.\r\n\r\n\0"msg_fstype_fat12_deny: .ascii "\r\n\r\nError: Filesystem type is FAT12 but --fat12 was not specified.\r\n\r\n\0"msg_fstype_fat12_allow: .ascii "\r\n\r\nFilesystem type is FAT12.\r\n\r\n\0"msg_fstype_fat16_deny: .ascii "\r\n\r\nError: Filesystem type is FAT16 but --fat16 was not specified.\r\n\r\n\0"msg_fstype_fat16_allow: .ascii "\r\n\r\nFilesystem type is FAT16.\r\n\r\n\0"msg_fstype_ext2_deny: .ascii "\r\n\r\nError: Filesystem type is EXT2 but --ext2 was not specified.\r\n\r\n\0"msg_fstype_ext2_allow: .ascii "\r\n\r\nFilesystem type is EXT2.\r\n\r\n\0"msg_unsupported_fstype: .ascii "\r\n\r\nError: Unsupported filesystem type.\r\n\r\n\0"msg_fstype_mbr_deny: .ascii "\r\n\r\nError: Cannot overwrite the MBR of a harddrive(or HD image) with --floppy.\r\n\r\n\0"//msg_no_ntfs_boot_record:// .ascii "\r\n\r\nError: Filesystem type is NTFS, but no ntfs boot record was found.\r\n\r\n\0"msg_usage: .ascii "BOOTLACE writes GRLDR BOOT RECORD to MBR or to the boot area of a file system.\r\n" .ascii "Usage: bootlace.com [OPTIONS] DEVICE_OR_FILE\r\n" .ascii "Options: --read-only, --floppy[=N], --boot-prevmbr-first, --boot-prevmbr-last,\r\n" .ascii "--no-backup-mbr, --force-backup-mbr, --mbr-enable-floppy, --mbr-disable-floppy,\r\n" .ascii "--mbr-enable-osbr, --mbr-disable-osbr, --duce, --time-out=T, --hot-key=K, \r\n" .ascii "--preferred-drive=D, --preferred-partition=P, --sectors-per-track=S, --heads=H,\r\n" .ascii "--start-sector=B, --total-sectors=C, --install-partition=I, --lba, --chs,\r\n" .ascii "--fat12, --fat16, --fat32, --vfat, --ntfs, --ext2\r\n" .ascii "DEVICE_OR_FILE: Filename of the device or image. For DOS, a BIOS drive number\r\n" .ascii "(in hex 0xHH or decimal DDD format)can be used to access the drive.\r\n\0"msg_end: .align 4Cmax: .long 0Hmax: .long 0Smax: .long 0i: .long 0j: .long 0X: .long 0Y: .long 0C: # long, but high word is always 0 .word 0, 0 .word 0, 0 .word 0, 0 .word 0, 0 .word 0, 0 .word 0, 0 .word 0, 0 .word 0, 0 .word 0, 0H: .long 0 .long 0 .long 0 .long 0 .long 0 .long 0 .long 0 .long 0H8: .long 0L: .long 0, 0 .long 0, 0 .long 0, 0 .long 0, 0 .long 0, 0 .long 0, 0 .long 0, 0 .long 0, 0L8: .long 0, 0probed_sectors_per_track: .long 0probed_heads: .long 0number_digits: .ascii " \0" /* 10 spaces */delimit_space: .ascii " \0" /* 4 spaces */delimit_newline: .ascii "\n\0"backup_mbr: /* 0 no backup, Will not touch PREV_MBR * 1 autobackup * 2 forcebackup. Will overwrite the old PREV_MBR */ .long 1 /* default is autobackup */mbr_floppy: /* 0 enable floppy * 1 disable floppy * 2 enable floppy */ .long 0 /* default is enable floppy */mbr_osbr: /* 0 enable osbr * 1 disable osbr * 2 enable osbr */ .long 0 /* default is enable osbr */duce: /* 0 enable unconditional command-line entrance * 1 disable unconditional command-line entrance * 2 enable unconditional command-line entrance */ .long 0 /* default is enable unconditional command-line entrance */boot_prevmbr: /* 0 boot prevmbr last * 1 boot prevmbr first * 2 boot prevmbr last */ .long 0 /* default is boot prevmbr last */preferred_drive: .long 0xff /* default is No Drive */preferred_partition: .long 0xff /* default is Whole drive */install_partition: .long 0xffffffff /* default is partition 0xff */sectors_per_track: .long 0xffffff3f /* default is 63 */heads: .long 0xffff00ff /* default is 255 */start_sector: .long 0xffffffff /* default is invalid */total_sectors: .long 0 /* default is invalid */time_out: .long 0xffffff05 /* low byte default is 5 seconds */hot_key: .long 0xffff3920 /* low word default is space bar */read_only: /* 0 read only * 2 read/write */ .long 2 /* default is read/write */floppy: /* 0xffffffff for hard drive image(with leading MBR) * 0x000000ff for floppy image * value < 0xff for partition image */ .long 0xffffffff /* default is for hard drive MBR */lba: /* 1 for lba, 0 for chs, -1 for `not specified'. */ .long 0xffffffff /* default is `not specified' */fstypes: /* bit 0: fat12 */ /* bit 1: fat16 */ /* bit 2: fat32 */ /* bit 3: ntfs */ /* bit 4: ext2 */ .long 0xfffffff7 /* default is all types except ntfs */sectors_to_write: /* default is number of sectors in GRLDR.MBR */ .long ((pre_stage2_start - _start1) / 512)current_partition: .long 0 .align 0x200#define GRLDR_INSTALL#include "grldrstart.S" .code32 //.bss .align 0x200mbr_63_sectors: //. = . + ((63+1)*512) .align 0x200_string_table: .ascii "\0" .ascii ".shstrtab\0" .ascii ".text\0" .ascii ".data\0" .ascii ".bss\0" .align 4_sh_offset: # SHT_UNDEF section .long 0 # sh_name = No name .long 0 # sh_type = Inactive .long 0 # sh_flags = No flags .long 0 # sh_addr = No address .long 0 # sh_offset = No file offset .long 0 # sh_size = No size .long 0 # sh_link = No link information .long 0 # sh_info = No auxiliary information .long 0 # sh_addralign = No alignment .long 0 # sh_entsize = No entries # .text .long 0x0b # sh_name .long 1 # sh_type = SHT_PROGBITS .long 7 # sh_flags = WRITE,ALLOC, EXEC .long (_start_linux - _start + 0x08048000) # sh_addr(in process space) .long (_start_linux - _start) # sh_offset(from beginning of file) .long (pre_stage2_start - _start_linux) # sh_size .long 0 # sh_link .long 0 # sh_info .long 0x200 # sh_addralign .long 0 # sh_entsize # .data .long 0x11 # sh_name .long 1 # sh_type = SHT_PROGBITS .long 3 # sh_flags = WRITE, ALLOC .long (pre_stage2_start - _start + 0x08048000) # sh_addr(in process space) .long (pre_stage2_start - _start) # sh_offset(from beginning of file) .long 0 # sh_size (no data present) .long 0 # sh_link .long 0 # sh_info .long 4 # sh_addralign .long 0 # sh_entsize # .bss .long 0x17 # sh_name .long 8 # sh_type = SHT_NOBITS .long 3 # sh_flags = WRITE, ALLOC .long (pre_stage2_start - _start + 0x08048000) # sh_addr(in process space) .long (pre_stage2_start - _start) # sh_offset(from beginning of file) .long (0x7e00 + 0x200) # sh_size .long 0 # sh_link .long 0 # sh_info .long 0x200 # sh_addralign .long 0 # sh_entsize # .shstrtab .long 1 # sh_name .long 3 # sh_type = SHT_STRTAB .long 0 # sh_flags = no write,no alloc,no exec .long 0 # sh_addr = not present in memory .long (_string_table - _start) # sh_offset (where strtab begins at) .long (_sh_offset - _string_table) # sh_size (size of the string table) .long 0 # sh_link .long 0 # sh_info .long 1 # sh_addralign .long 0 # sh_entsize//-------------------------------------------------------------------#if 0 /* begin backup sh.S for MandrakeISOinstall-10.0 *//* Use the following command to compile and build: * * gcc -s -nostdlib -o sh sh.S * */ .globl _start .text_start: /* fork() */ xorl %eax, %eax incl %eax incl %eax int $0x80 testl %eax, %eax jz 1f /* exit(0) */ xorl %ebx, %ebx xorl %eax, %eax incl %eax int $0x801:#if 0 /* setpgid(0,0) */ xorl %ebx, %ebx xorl %ecx, %ecx xorl %eax, %eax movb $57, %al int $0x80#else /* setsid() */ xorl %eax, %eax movb $66, %al int $0x80#endif1: /* sleep(1) */ xorl %eax, %eax movb $162, %al movl $(time_sleep), %ebx xorl %ecx, %ecx int $0x80 /* access("/bin/sh", F_OK) */ xorl %eax, %eax movb $33, %al movl $(shell_path), %ebx xorl %ecx, %ecx int $0x80 orl %eax, %eax jnz 1b /* loop when not exist */ /* execve("/bin/sh", argv, NULL) */ xorl %eax, %eax movb $11, %al movl $(shell_path), %ebx movl $(argv), %ecx movl $(envp), %edx int $0x80 /* exit(1) */ xorl %ebx, %ebx incl %ebx xorl %eax, %eax incl %eax int $0x80time_sleep: .long 1 .long 0shell_path: .string "/bin/sh"arg0: .string "mix_ISOs"arg1: .string "/tmp/mix_ISOs"argv: .long arg0 .long arg1envp: .long 0#endif /* end backup sh.S for MandrakeISOinstall-10.0 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -