- 论坛徽章:
- 54
|
vt开机画面,默认是一个简单的FreeBSD,如果要换成自己的,需要自己制作并把相应的十六进制代码写在C语言代码中。
但是vt用的bmp跟常用的windows bmp不一致,直接把windows下的bmp文件的十六进制代码写入是倒着显示的,这还要去掉bmp头部才可以。
经过源代码的分析,写了一个简单的小程序,可以转换为vt需要的16进制模式。
熟悉PHP,反倒把Shell忘的差不多了,所以就写php程序了,修改也简单,不像C要修改还要重新编译:
输入为当前目录下aa.bmp,其实也可以写成参数,懒人就穷凑合了……- <?php
- $fp = fopen(dirname(__FILE__). '/aa.bmp', 'rb');
- $cont = fread( $fp, 40000 );
- fclose( $fp );
- $hex_str = str_split( bin2hex( $cont ) , 2 );
- $hex_str = array_slice( $hex_str, 62, 38400 );
- var_dump( count( $hex_str ));
- $tmp = '';
- $out = array();
- foreach( $hex_str as $i=>$v ){
- $m = $i % 80;
- // is the end line
- if( $m < 1 ){
- $tmp .= "\n";
- $out[] = $tmp;
- $tmp = '';
- }
- $tmp .= '0x' . $v . ',';
- }
- $out = array_reverse( $out );
- foreach ( $out as $v ) echo $v ;
- echo "\n";
- ?>
复制代码 |
|