首页
社区
课程
招聘
[求助]CreateFileA居然能打开不存在的文件?难道是内存隐射?
发表于: 2007-8-26 01:33 7404

[求助]CreateFileA居然能打开不存在的文件?难道是内存隐射?

2007-8-26 01:33
7404
晚上调试一个GPS软件,发现他的数据文件就是一个很大的 Data.dat
但是运行的时候软件却是通过 CreateFileA 来访问
C:\Program Files\GPS Convert\Dat\1.dat -> 9.dat
而且调用 CreateFileA 的结果都是正确的,返回的都是文件句柄

我可以确定这个路径里没有Dat文件夹,也没有1.dat -> 9.dat
是不是软件通过隐射 Data.dat 了?
我对隐射不大熟悉,大家能告诉我一下吗?

还有,怎么样才能用简单的方法把文件取出来?
我想到了一个方法,就是太麻烦,用原程序得到的文件句柄,然后打开文件,读取文件里的内容,写到自己的文件里~

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费
支持
分享
最新回复 (8)
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
2
GetFileInformationByHandleEx
Retrieves file information for the specified file.

BOOL GetFileInformationByHandleEx(
  HANDLE hFile,
  FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
  LPVOID lpFileInformation,
  DWORD dwBufferSize
);

这个函数不错.
2007-8-26 01:48
0
雪    币: 439
活跃值: (684)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
检查CreateFileA的第五个参数,估计是CREATE_ALWAYS
2007-8-26 12:39
0
雪    币: 244
活跃值: (105)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
不是,这个我检查过的
是OPEN_EXIST
2007-8-26 15:01
0
雪    币: 149
活跃值: (379)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
在CMD下面用dir \a来看看是否存在
2007-8-26 17:12
0
雪    币: 244
活跃值: (105)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
呵呵,这个早就试过拉
没用的
2007-8-26 17:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
是不是程序运行过程中先产生了该文件,然后在程序又删除了它呢,这样,程序运行完后系统就没有它了
2007-9-2 11:30
0
雪    币: 244
活跃值: (105)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
呵呵,也不是拉~
CreateFileA的时候我监控着的
我想还有一个可能就是Hook
2007-9-2 21:08
0
雪    币: 483
活跃值: (152)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
压缩呢,

zip等。。
2007-9-3 00:29
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册