12
刚刚去过 发新帖
楼主: 恢复者aa - 

[求助] 求带比较的winhex脚本编写

[复制链接]

该用户从未签到

3

主题

33

回帖

19

积分

[INTOHARD]工兵

Rank: 1

积分
19
 楼主| 发表于 2017-9-20 20:15:12 | 显示全部楼层
scq330 发表于 2017-9-20 10:35
我大概改了一下,你看看

谢谢大神,我按你的方法,确实可以了,但有一个问题,就是每当遇到第二扇区为非比较值的时候,便自动重复了前一个文件,而后才跳到下一个文件头,
比如第一个文件A,头112233445566 第二扇区头778899
      第二个文件b,头112233445566 第二扇区头008899
      第三个文件C,头112233445566 第二扇区头778899
按上面的顺序排列 根据程序代码要求实现的功能是 取出 A文件,过滤b文件,再取出c文件 按顺序应该出来 A和C两个文件

但是代码实际出来的结果是,按顺序出来 A A C 出来三个,等于第二个重复了,每当出现一个非比较值的时候,就会出现上一次重复,请问大神这里有办法解决吗? 有没办法在出现非比较值的时候直接跳过下一个文件头的查找,不要重复? 求解,感谢感谢。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    2018-5-18 22:56
  • 签到天数: 609 天

    [LV.9]二品侍郎

    16

    主题

    1144

    回帖

    6005

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    6005
    发表于 2017-9-20 21:46:00 | 显示全部楼层
    恢复者aa 发表于 2017-9-20 20:15
    谢谢大神,我按你的方法,确实可以了,但有一个问题,就是每当遇到第二扇区为非比较值的时候,便自动重复了前 ...

    代码如下,你试试
    1. assign m4 778899
    2. assign m1 0                                 
    3. {  
    4.                                              
    5. find 0x112233445566 down        //这里要注意查找的16进制数据和在winhex里面看到的不一样,要高低位反转                  
    6. iffound

    7.     assign m2 currentpos   
    8.         move 512
    9.         read m5 3
    10.        
    11. endif     //在这里读取到m5的数值就要中断第一个if判断了

    12. ifequal m4 m5         //比较m4 m5,如果值为真,进行下面的操作     
    13.    
    14.         move 576000                                                                                    
    15.         assign m3 currentpos
    16.         block m2 m3  
    17.         inc m1  
    18.         copyintonewfile "H:\recovery\video.+m1"   
    19.        
    20. else  //如果比较结果不是我们要的,则起跳

    21.         move 576000   //直接光标向后移动57600,这个数你可以自己改,如果是不确定的数,可以跳512或者跳更大的值,按你自己的情况修改
    22.        
    23. endif       //这里结束比较,结果无论真假都回去上面接着查下去,由下面的循环数据决定

    24. }[2]   //这个循环数据不好确定
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    33

    回帖

    19

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    19
     楼主| 发表于 2017-9-20 22:34:09 | 显示全部楼层
    scq330 发表于 2017-9-20 21:46
    代码如下,你试试

    太好了,终于搞掂了,哥们,你太棒了,真心感谢你。赞一个
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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