精
精灵猪
Unregistered / Unconfirmed
GUEST, unregistred user!
本人想写个类似木马配置器的程序在网上看到一篇文章 地址是<br>http://bbs.caoyuan.net/viewtopic.php?t=26389<br>其中服务端的关键部分<br>seek(f, filesize(f)); //上次是将指针移动到指定位置,这次是将指针移动到文件末尾 <br>for i := 1 to 255 do str := char(0); //循环写入所有的配置数据 <br>for i := 1 to length(str) do str := HostName; <br>BlockWrite(f, str, length(HostName)); <br>Each_size[1] := char(length(HostName)); //计算出配置数据的长度 <br><br>blockwrite(f, Each_size, 1); //写入配置文件的长度到末尾,否则文件改变了长度没变会出错 <br>CloseFile(f); //最后别忘了关闭 <br>和客户端的关键部分<br>assignfile(f, paramstr(0)); //打开自己 <br>Reset(f, 1); <br>seek(f, filesize(f) - 1); //移动到末尾-1,因为最后一个字节记录的是配置长度,不是配置数据 <br>BlockRead(f, each_size, 1); //读出长度 <br>len := 0; <br>for i := 1 to 2 do len := len + ord(each_size); //计算总长度 <br>seek(f, filesize(f) - 1 - len); //将指针移动到配置数据开始的地方 <br>for i := 1 to 255 do str := ' '; <br>blockread(f, str, len); //读出所有配置数据 <br>setstr := (trim(DecryptSettings(str))); //将配置数据解密后付值给SetStr变量 <br>CloseFile(f); //关闭 <br>问题出来了 他只能读写255字节的长度 我的程序配置比较长 试过很多方法都不成 而这种写入配置的方式正好适合我的程序 可是由于长度的问题在实践过程中始终不好解决 <br>有的时候只能读出一半或者一小部分 请各位看官给出出主意 程序如何改才能支持比较长的输入 比如最长可以长到1024 请指教 小弟不盛感激!