文件名:poweroff.S
.data
.text
.global _start
_start:
movl $0x4321FEDC,%edx
movl $85072278,%ecx
movl $0xfee1dead,%ebx
movl $88,%eax
int $0x80
#as poweroff.S
#ld a.out -o a
#./a
哈哈,看到了什么?试一下吧!
#objdump -S a
a: file format elf32-i386
Disassembly of section .text:
08048094 <_start>:
8048094: ba dc fe 21 43 mov $0x4321fedc,%edx
8048099: b9 96 19 12 05 mov $0x5121996,%ecx
804809e: bb ad de e1 fe mov $0xfee1dead,%ebx
80480a3: b8 58 00 00 00 mov $0x58,%eax
80480a8: cd 80 int $0x80
哈哈,编译完和源代码还真一点都不差!
系统直接调用内核关电操作。在FreeBSD下可能需要改一下魔法值,手头上没freebsd的代码了,最近一直在研究NETBSD。
注意,此代码可能会给你的文件系统和应用带来不可预知的损伤。
阅读(1226) | 评论(3) | 转发(0) |