日期:2014-05-17  浏览次数:20817 次

高手请进 文件操作相关
1. 文件写到磁盘上的方式 这样表述可能不清楚
  比如 服务器与客户端通信 要建立一个文件在客户端。重点是这个文件
  客户接受时 是按照文件的每个比特在文件中的位置顺序接受的吗?

可以根据接受的页(当文件还未传输完毕)判断是否为PE文件吗? 
不是根据文件名后缀判断PE文件,是PE头来判断

望高手解答

谢谢您了

只有55分了 全部给您

------解决方案--------------------
服务器向客户端传输文件,应该与在本地由一个文件夹拷贝到另一个文件夹原理是差不多的

只不过本地是普通的I/O数据流,而网络传输是重定向了的I/O数据流,后者只不过对拷贝的数据先封装为网络数据包,传到对方后先解包后放在目的位置上

文件的读写是按页进行,网络拷贝则会把多个页面打成一个数据包进行传送,一般数据包根据文件在磁盘上的位置顺序进行,但对于多线程、断点传送时,每个数据包实际是带有在文件中的偏移地址的,以保证数据传到目标后按顺序组合起来即可

如仅是接收几个数据段的页面,是不能判断是否为PE文件的,PE文件是根据头信息来判断的,但windows为便于用户区分,采用后缀来区分文件类型,但这并不能保证文件就是PE文件,何况即使头是PE格式,但文件其它数据段不正确,也是不能运行的

以上先瞎猜下
------解决方案--------------------
你想进行pe文件检测?
查杀病毒木马嘛?

文件读写肯定是按字节存取的吧!不过pe文件头是不是在前几个字节这我就不知道了哦!
你可以查内存去确认下啊?