程序实现从自身的EXE文件中读取数据回放的关键是流技术的应用。其实现步骤是:
① 创建EXE文件本身的文件流FS;
② 取得数据包的偏移地址;
③ 通过数据包的头信息计算出数据包的目录信息区偏移地址;
④ 在目录信息区中查找所需的文件及对应的压缩数据的起始偏移、文件大小字节数;
⑤ 拷贝此段数据至文件流FS2;
⑥ 调用解压子程解压文件流FS2。
实现代码与数据的打包过程通过下面的步骤来完成:
① 创建目标文件的文件流FS;
② 建立代码资源文件的文件流FS1;
③ 建立压缩数据包文件的文件流FS2;
④ 把流FS1追加至FS;
⑤ 把流FS2追加至FS;
⑥ 关闭所有流,目标文件生成。