不行的阿..我是用binary来读文件的.放进byte数组里.
用不了len()这些方法的.

解决方案 »

  1.   

    关注!但len()肯定是不行的!
      

  2.   

    是的..不行阿..  我是用来做viking的恢复感染文件用的.希望大家帮下忙阿.
      

  3.   

    2进制读取文件,CopyMemory 把 30468 后的字节数据复制到新数组,写成文件即可
      

  4.   

    dim bytes() as byte
    open "test.exe" for binary as #1
    get #1,30469,bytes
    close #1
    open "test1.exe" for binary as #2
    put #2,,bytes
    close #2
      

  5.   

    错了上面的,不好意思粗心在open语句前面加条语句
    redim bytes(filelen("test.exe")-1)
      

  6.   

    你既然已经读入byte()中了,重新写一个文件写入30467之后的数据,在删除原文件就可以了
    chenhui530(陈辉) 兄(?)的补充有点错误,既然是读取30467之后的数据,那么应该是
    redim bytes(filelen("test.exe")-30478)
    吧?
      

  7.   

    dim bytes() as byte
    open "test.exe" for binary as #1
    redim bytes(filelen("test.exe")-1)
    get #1,30469,bytes
    close #1
    open "test1.exe" for binary as #2
    put #2,,bytes
    close #2
    这代码和我之前写的代码都一样的.是可以取得和没被感染的程序一样的字节大小..
     但用winhex工具查看.会发现在程序开头多了 00 出来.导倒程序不能运行的..
     现在我就是差这个 00 没办法去除..5555555555555..
      

  8.   

    2进制读取文件,CopyMemory 把 30468 后的字节数据复制到新数组,写成文件即可  使用CopyMemory具体是怎样实现的?我对VB调用api一点也不懂噢..麻烦一下.
      

  9.   

    对头redim bytes(filelen("test.exe")-30478)