-
-
做了一个给IceExt用的小程序(附源码)给大家,把RAW变成TXT,希望对大家有用。
-
2004-6-20 22:30
6602
-
做了一个给IceExt用的小程序(附源码)给大家,把RAW变成TXT,希望对大家有用。
刚刚开始用IceExt,觉得很好用!
IceExt有个!dumpscreen功能,使得不用跑到softice外面运行loader来保存屏幕信息,反汇编代码等等,很方便!有点象TRW2000下的反汇编输出到文件的命令。
但是IceExt保存的是RAW格式,虽然有个siwrender工具将其变成BMP格式,但是不能拷贝粘贴字符串,有时候还是不太方便。
我看了一下IceExt保存的RAW格式文件,还好格式比较简单,前一个字节保存字符信息,后一个字节保存颜色信息。
于是做了这个小程序,把颜色信息都扔掉了,只留下了字符,在dos窗口下运行,显示保存的屏幕信息,也可以重定向到文件。
使用方法:
raw2t 源文件 [宽度 高度]
宽度和高度可以在softice窗口中用 width 和 hight 命令来查看。默认情况下分别是80和55(我的softice配置)。源程序一并给出,你也可以自己修改。
程序没有做太多的纠错功能,毕竟我们是学习crack的人,不是傻瓜用户。
源程序 raw2t.c
01 [color=#FF0000]#include[/color] <stdio.h>
02 [color=#FF0000]#include[/color] <stdlib.h>
03 [color=#FF0000]#include[/color] <memory.h>
04
05
06 [color=#0000FF]int[/color] main([color=#0000FF]int[/color] argc, [color=#0000FF]char[/color]* argv[])
07 {
08 [color=#0000FF]int[/color] width = 80, hight = 55;
09 [color=#0000FF]int[/color] i, j;
10 [color=#0000FF]char[/color] *strLine;
11 FILE *[color=#808000]fs[/color];
12
13 [color=#0000FF]if[/color]( argc < 2 ) {
14 printf([color=#FF00FF]"Convert IceExt raw files to text. Version 0.1 Made by kunlong."[/color]);
15 printf([color=#FF00FF]"\r\nUsege: %s raw_filename [width hight]"[/color], argv[0]);
16 printf([color=#FF00FF]"\r\nor : %s raw_filename [width hight] > destination_filename"[/color], argv[0]);
17 printf([color=#FF00FF]"\r\nDefault width:80\r\nDefault hight:55\r\n"[/color]);
18
19 [color=#0000FF]return[/color] 0;
20 }
21
22 [color=#0000FF]if[/color]( argc == 4 ) {
23 width = atoi( argv[2] );
24 hight = atoi( argv[3] );
25 }
26
27 strLine = malloc( width+1 );
28 memset(strLine, 0, width+1);
29
30 [color=#808000]fs[/color] = fopen( argv[1], [color=#FF00FF]"r"[/color] );
31 [color=#0000FF]if[/color]( [color=#808000]fs[/color] == NULL ) {
32 perror( [color=#FF00FF]"open failed on input file"[/color] );
33
34 [color=#0000FF]return[/color] 1;
35 }
36
37 fseek([color=#808000]fs[/color], 0, SEEK_SET);
38
39 [color=#0000FF]for[/color]( i = 0; i < hight; i++ ) {
40 [color=#0000FF]for[/color]( j = 0; j < width; j++ ) {
41 strLine[j] = fgetc([color=#808000]fs[/color]);
42 fseek([color=#808000]fs[/color], 1, SEEK_CUR);
43 }
44 puts(strLine);
45 }
46
47 free(strLine);
48 fclose( [color=#808000]fs[/color] );
49
50 [color=#0000FF]return[/color] 0;
51 }
52
顺便试了一下老罗的工具,不错呀!嘿嘿。
[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界