易码技术论坛

 找回密码
 加入易码
搜索
查看: 207624|回复: 9

[原创]删除僵尸文件

[复制链接]
发表于 2005-12-17 16:58:00 | 显示全部楼层
恩,不错。不过还是有些麻烦。
发表于 2005-12-17 20:03:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-12-17 21:15:00 | 显示全部楼层
NC3000有没有方法删除看不见占用空间的文件(和你说的一样)

请回复:

wqxvan@163.com


 楼主| 发表于 2005-12-18 14:09:00 | 显示全部楼层
3楼的帖子我看了好晕呀!HEHE...........

fat里的信息.....

0100(文件号) efef(文件属性) c0(是否可用)7a 0000(创建时间)

7a00 00(修改时间)00 0000 0100(文件占用区块数)

xxxx xxxx xxxx xxxx   (文件占用的区块)

xxxx xxxx xxxx xxxx  

要释放空间的话,只需要把第一行的C0改为80或40就可以了!

呵呵,还不知道80和40的区别呢.........


[em02][em02][em02][em02][em02][em02][em02]
发表于 2005-12-18 14:41:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2006-3-29 03:52:00 | 显示全部楼层
好复杂,我直接备份文件再格式化
发表于 2006-4-1 10:35:00 | 显示全部楼层
1020N的可以用这种方法吗
发表于 2006-4-2 02:15:00 | 显示全部楼层
格式化适用于所有机型
 楼主| 发表于 2006-4-6 08:23:00 | 显示全部楼层
呵呵,改为40或80后再整理一下空间......(系统会自动搞定,哦别忘了如果文件属性不正确要改为EFEF哦........)

哈哈,需要那么废力吗.............

配合我的"MyFSee.BAS"就更方便了 ......(具体说明请看readme文件)呵呵.........
 楼主| 发表于 2005-11-27 12:07:39 | 显示全部楼层 |阅读模式
  前段时间看到网上为删除僵尸文件闹得不可开交.而我也经常遇到.公布一些个人方法.
1.重启~适用于Ftp下载被迫中断.
2.读取(可用PM复制一次)~适用于创建文件时的意外情况.
3.注册表修改法(以上方法失败时)
在0a4000-0fbfff内查找该文件号或非法属性值.并将属性改为正常.由于UEditor.bas无法读取这类文件。因此,文件号的获得就要通过独取该文件所在目录的文件列表获取(可用wqxhex.bin的nand read功能).
4.写nand.(用于3失败时)
用到此法是由于在fat中找不到这类文件.但在目录中可以看到.否则请尽量使用以上方法.
首先读取该文件所在目录列表.改此文件为FF(包括文件号)然后写回原来的Block.注意:文件列表中其他信息切勿改动.以免造成重大错误.
5.重传系统
用于格式化系统后仍有不能删除的文件(也可用以上方法解决).当然,不包括sysdir...~_~!
6.不能删除&添加文件目录
同样的!找到目录号.并读取该目录占用的Nand.看到开头有乱码了吗?把它们清了.(改为FF)然后写回Nand.(从那读出的就写回哪理去HeHe!).最后的最后End!!!
★建议使用Nc4.0豪华版中写入内核的wqxhexnc.bin
以上方法仅在Nc2600c上测试通过
不会的可别乱试呀!弄坏了星星我是不会赔的!HeHe!
您可以进行转载,但请注明作者及出处.
完成于2005/09/18
           by:lnoY

以下代码完全公开:
(僵尸文件删除代码部分)
由于是高三学生.时间有限.无法完成以下程序.顾此功开:
lda #$00
sta $46
sta $47
sta $48
sta $49
lda #$c0
sta $4a
lda #$0a
sta $44
lda #$0f
sta $45
lda #$ff
sta $42
lda #$bf
sta $43
lda #$00
sta $40
lda #$40
sta $41
lda $44
sta $00
/至此完成fat表地址及非法属性值放到$40开使处
ldy #$00
laa:lda ($40),y
cmp $46,y
bne lab
cpy #$05
beq --转到修改程序
lae:iny
jmp laa
lab:ldy #$00
lda $40
cmp $42
beq lad 跳到比较地址高位
lda $40
cmp #$ff
bne lac
inc $41
lac:inc $40
jmp laa
lad:lda $41
cmp $43
bne lae
lda $44
cmp $45
beq laf
inc $44
jmp l
laf:rts
注:$45的c0不可缺(c0在fat中表示文件是否可用).



以上代码依据第2法原理编写.还未完成部分
.将程序主体复制到$2000开头处
.修改非法属性值为正常。
望各位高手能共同努力,完成此程序…
程序还缺把主程序复制到$2000处以及修改内存的部分.

您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-29 03:45 , Processed in 0.011236 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表