能力值:
( LV2,RANK:10 )
|
-
-
2 楼
因为有的文件记录的某个属性记录长度只占2字节(虽说定义的是四字节,但几乎就没有使用后2字节), 我遇到过很多这样的问题。。。不知道还有没有其他问题哈哈。。我是来取结构的。。。
pAttribHead = (PATTRIBUTE_RECORD_HEADER)((DWORD)pAttribHead + (WORD)pAttribHead->RecordLength);
加上这个就不便秘了。。
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
还是不行啊。悲剧中,求助中。求好心人。谢谢 雪yaojun 继续求助中
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
啥错误??我用vs2005只改了那里就完全正常了。
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
还是一样,读取文件不全啊!!在win7中各种报错!
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
饿,但是。目录和文件都没有遍历完全的说,不知道是啥情况哇,不知道代码哪里还有问题,俺急需遍历完全所有的文件和目录
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
检查所有属性记录的大小,一般来说超过 00 02 00 00 就是错误了。。
pAttribHead = (PATTRIBUTE_RECORD_HEADER)((DWORD)pAttribHead + pAttribHead->RecordLength); 就这个。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
没有修复USA
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
读取MFT记录之后,Update Sequence Array需要修复
$INDEX_ROOT中获取到了MFT记录号之后的读取是错的.
$INDEX_ALLOCATION中对记录的INDX的读取需要用到$BITMAP中的位图来判断该记录是否有效
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
|
能力值:
( LV3,RANK:20 )
|
-
-
13 楼
求修改代码啊。。。不懂中
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
里头 要
有各种判断的,是不能通结构体直接读取到文件目录!
|
能力值:
(RANK: )
|
-
-
15 楼
|
能力值:
( LV4,RANK:50 )
|
-
-
16 楼
帮顶~帮顶~帮顶~
|
能力值:
( LV3,RANK:20 )
|
-
-
17 楼
//
//判断格式是否正确
//
PFILE_RECORD_HEADER pHead = (PFILE_RECORD_HEADER)lpBuffer;
if ( pHead->Ntfs.Type != 0x454C4946 )
{
// printf( "invalid file record!\n" );
return BADE_FILE;
}
PUSHORT Sqn = new USHORT[pHead->Ntfs.UsaCount];
PUSHORT pSqnAddr = (PUSHORT)((DWORD)lpBuffer + pHead->Ntfs.UsaOffset);
*(USHORT*)((DWORD)lpBuffer + 510) = pSqnAddr[0];
*(USHORT*)((DWORD)lpBuffer + 1022) = pSqnAddr[1];
我加了更新 USA了 ,但是还是不对啊
|
能力值:
( LV12,RANK:1000 )
|
-
-
18 楼
B树结构搞懂没有?mft碎片的情况?usn回填是防止datarun 数据太长被截断,你就会丢失一部分数据或直接程序崩溃。mft碎片会直接影响你定位文件记录,尤其是后面的碎片。B树结构还是很好玩的,可惜我那本书懒得出版了。efs解密算法可以当论文发表了,出书太浪费。
|
能力值:
( LV3,RANK:20 )
|
-
-
19 楼
b+ tree 这个貌似搞懂了。 mft碎片这个严重不懂和各种不懂啊!继续求天意love和各位师傅的指点啊。。。
|
|
|