没人理,这个问题确实太弱了,琢磨了一下自己解决了,写出来给和我一样充满好奇心的菜鸟们!
先用dd把boot sector里面的东西拷出来:
dd if=/dev/hda of=/home/boot.sect bs=512 cbs=512 count=1
写了一段java代码,把/home/boot.sect转化为十六进制表示的文件bootsecthex.txt:
import java.io.*;
public class WatchHex{
public static void main(String args[]){
String fileName="";
String outFileName="bootsecthex.txt";
byte[] content;
try{
fileName=args[0];
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Please run it with a fileName argument!");
System.exit(0);
}
try{
File infile=new File(fileName);
File outfile=new File(outFileName);
int length=(int)infile.length();
content=new byte[length];
DataInputStream dis=new DataInputStream(new FileInputStream(infile));
DataOutputStream dos=new DataOutputStream(new FileOutputStream(outfile));
int count=dis.read(content);
dis.close();
for(int i=0;i<count;i++){
short s=(short)content;
if(s<0)s+=256;
String str=Integer.toHexString(s);
if(str.length()==1)str="0"+str;
dos.writeChars(str+" ");
}
dos.close();
}
catch(Exception e){
System.out.println("error!");
System.exit(0);
}
}
}
呵呵,确实看到了512B的最后两个字节是55AA.