[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[代码合集] [已解决]批处理能不能根据16进制的地址来截取一个文件

比如有个文件   我想截取16进制地址0010到1000之间的数值   这个有什么办法能做到  用第三方工具也可以
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 CrLf 于 2012-11-2 14:10 编辑

debug 就可以了
  1. @echo off
  2. more +3 %0|debug test.txt
  3. pause&exit
  4. m 110 1100 100
  5. rcx
  6. ff0
  7. w
复制代码
不过要注意几点:
1、debug 不支持长文件名,也就是可能需要把文件名转为短名
2、debug 中的 ds段地址为实际地址+10h,所以 m 命令中使用的偏移地址需要加上 100h
3、cx寄存器存储控制写入时的数据量,在例子中就是 1000h-10h=ff0h,不懂的话可以用 h 1000 10 来查看二者差值,这个需要自行换算
1

评分人数

TOP

谢谢  运行出现下图

TOP

本帖最后由 wc726842270 于 2012-11-2 07:26 编辑

把ZM的改了一下,试一下吧
  1. @echo off
  2. more +3 %0|debug test.txt
  3. pause&exit
  4. n new.txt
  5. rcx
  6. ff0
  7. w110
  8. q
复制代码
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

回复 2# CrLf


    关于第二点能否指教一下,我仅是了解了少部份汇编语句,但是其它的就少了
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

回复 3# shchaoge


    漏写目标地址,已修改

TOP

标题

回复 5# wc726842270


    不妨看下这篇文章:http://blog.chinaunix.net/uid-20778955-id-539949.html

TOP

谢谢2位   用wc726842270搞定啦

TOP

这个办法  文件大了  怎么就不行啦

TOP

多谢ZM,一会研究一下
另外这个是指定字节的,对于内存的数据错误操作的话,可么和病毒相比了,
前一阵子用了/E就对一个软件修改了,幸好有备份,反正360是出了提示的(检查时出的提示)
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

返回列表