首页
社区
课程
招聘
返璞归真--NT下调试DOS程序
发表于: 2005-5-17 15:29 4617

返璞归真--NT下调试DOS程序

2005-5-17 15:29
4617
本想潜心考研,可是这几天时在学得郁闷,便又坐在电脑前摆弄起软件来,当了个共享的东东,没想到是16位的dos程序,OllyDbg不好使了,由于我是XP系统,只能装上SoftICE,可发现SoftICE无法load,bpint断点无法拦截。于是我请教了很多人,但答案都不很满意(基本上都说dos程序要在9x下调试),在也难怪,现在还调试dos程序的机会太少了,没有经验吧,况且调试的大多也在9X系统下,NT下也没有了TR & TRW2000这样优秀的工具(唉,真希望作者可以出新品!)
   
    论坛上搜索,发现以前也有过类似的问题,于是便想了一招,其实这不是什么新鲜玩意,只是一个思路而已。:D
   
    言归正传:
   
    启动softice   
   
    开始->运行->cmd 进入命令提示符
   
    将目录切换到你所要调试的程序目录;
   
    输入debug 程序名.exe 回车;
   
    命令 t (看看其装入地址xxxx:xxxx);
   
    u xxxx:xxxx (记下下一命令地址 xxxx:yyyy);
   
    ctrl+d调出softice,bpx xxxx:yyyy,F5返回windows ;
   
    如果此时在命令提示符下输入u xxxx:xxxx,你会看到xxxx:yyyy地址的命令代码变成了INT 3,为什么?softice干的好事!:D
   
    命令提示符下输入g ;
   
    这时程序开始运行了,但马上就会被softice拦截下来。
   
    OK,此时softice正式接管了程序,后面的事就看你的了,祝你好运!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 239
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
说白了就是插入 INT 3

其实用16进制的编辑工具,在EXE文件头插入CC 使用softice的BPINT3 一样可使softice接管程序。

关于DOS下EXE文件的头可通过多个工具得到,如TD等都可看到。
2005-5-17 15:46
0
雪    币: 159
活跃值: (339)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
支持...
2005-5-17 19:00
0
游客
登录 | 注册 方可回帖
返回
//