码迷,mamicode.com
首页 > 其他好文 > 详细

06.破坏文件

时间:2016-01-08 20:25:05      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

损坏文件:
原理:二进制的方式打开文件,逐个字节替换成随机字符;;(受百度云的启发,它把视频全部替换成了0)

两种用法:①用户手动选择文件,破坏完成后弹窗提示;②命令行调用等方式传递参数,破坏完成后不可能弹窗提示;
所以:把实现损坏文件的核心代码(一些函数)写在文件demageFileFun.ahk里,把然后在"demageFile-手动选择.ahk"和"demageFile.ahk"里include demageFileFun.ahk


  1. ;为了省事把所有变量都global了
  2. ;demageFileFun.ahk
  3. demageFile(fileName) {
  4. global
  5. openFile(fileName)
  6. writeFileTimes()
  7. file.close()
  8. }
  9. openFile(filename){
  10. global
  11. file := FileOpen(filename,"rw")
  12. FileGetSize,size,%filename%
  13. LOOPTIMES := round(RATE * size)    ;writeChar一个字节写入一次,所以多少个字节循环多少次;
  14. }
  15. writeFileTimes(){
  16. global
  17. wirteFile(0)    ;文件的开头,中间,结尾都损坏;
  18. wirteFile(round(size * 0.5))
  19. wirteFile(round(size * (1- RATE )))
  20. }
  21. wirteFile(pos) {    ;把文件指定位置的后面部分损坏掉;
  22. global
  23. file.seek(pos)
  24. loop,%LOOPTIMES%
  25. {
  26. Random, rand , 0, 127
  27. file.Writechar(rand) ;writeChar一次写入一个字节;参数rand是整数也行;
  28. }
  29. }
  30. ^escape::exitapp

  1. ;2015-12-31 星期四 12:04
  2. ;demageFile-手动选择.ahk
  3. #NoTrayIcon
  4. #singleinstance force
  5. if 1=
  6. {
  7. FileSelectFile, deFile
  8. if 1=
  9. exitapp,0
  10. } else {
  11. ;可以把文件拖放到图标上的方式来传递参数
  12. deFile =%1%
  13. }
  14. RATE := 0.2
  15. try {
  16. demageFile(deFile)
  17. msgbox 损坏成功
  18. exitapp,0
  19. } catch e {
  20. msgbox 损坏失败
  21. msgbox %e%
  22. exitapp,1
  23. } finally {
  24. file.close()
  25. }
  26. return
  27. #include demageFileFun.ahk

  1. ;2015-12-31 星期四 12:04
  2. ;demageFile.ahk
  3. #NoTrayIcon
  4. #singleinstance force
  5. if 1=
  6. {
  7. msgbox 必须传入参数:文件名
  8. exitapp,1
  9. }
  10. deFile =%1%
  11. RATE := 0.2    ;一次损坏文件的比率
  12. try {
  13. demageFile(deFile) ;这里用%1%会出错...
  14. exitapp,0
  15. } catch e {
  16. msgbox %e%
  17. exitapp,1
  18. } finally {
  19. file.close()
  20. }
  21. return
  22. #include demageFileFun.ahk

  1. 使用说明:
  2. 注意:一旦损坏,数据无法恢复;请谨慎使用!!













附件列表

     

    06.破坏文件

    标签:

    原文地址:http://www.cnblogs.com/QIAOXINGXING001/p/5114334.html

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!