xiangshifu
驱动小牛
驱动小牛
  • 注册日期2002-07-25
  • 最后登录2013-10-18
  • 粉丝1
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:1383回复:8

我想写一个softice,trw2000类的调试软件,好难呀!

楼主#
更多 发布于:2003-12-20 11:14
我想写一个softice类的调试软件,好难呀!
要实现3个目标:
1,单步执行
2,断下API调用和返回
3,断下WINDOWS消息

但现在只对第一个有思路,可以设置TF位
对于第二个,我想的是拦下内存读中断,如果发现CPU发出中断,要求读API入口地址的内容,即可以判断API调用,但没有找到 内存读中断 的地址,不知道有没有这个中断

对于第三个,目前还没有一点思路

大家有没有好的办法?提示提示!!
xiangshifu@hotmail.com
chacker
驱动小牛
驱动小牛
  • 注册日期2002-11-22
  • 最后登录2007-11-15
  • 粉丝0
  • 关注0
  • 积分193分
  • 威望20点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-21 14:00
如果真的这么容易,我们也会有国产softice啦!
但你有办法做到一按 Ctrl+D,windows什么都暂停,弹出一个debug窗口吗?
xiangshifu
驱动小牛
驱动小牛
  • 注册日期2002-07-25
  • 最后登录2013-10-18
  • 粉丝1
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-21 18:40
呵呵,ctrl+d 可以用键盘驱动

挂起系统可以设置 TF 陷阱

弹出debug窗口比较难,要用到自己的显卡驱动,

softice就是一个小的操作系统
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地板#
发布于:2003-12-22 09:46
呵呵,比你想象的要难的多,这也是为什么只有NUMEGA才能写出NT下的SOFTICE而我们TRW就此消失了。。。。。。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
xiangshifu
驱动小牛
驱动小牛
  • 注册日期2002-07-25
  • 最后登录2013-10-18
  • 粉丝1
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-22 16:08
我现在知道如何下断点了,用中断

但发现跟踪程序的执行很困难,我的想法是不停的中断CPU的执行,如果这样的话,系统效率太低,现在不知道怎么办了!
yuke
驱动牛犊
驱动牛犊
  • 注册日期2001-09-02
  • 最后登录2009-04-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-12-22 18:59
我想上面有位老兄说得没错,SOFTICE应该是一个小型的操作系统,还是也不是那么简单,我想它应该是一个小型的虚拟机,有兴趣的可以去测试一下。


你可以登录 http://www.110i.net,通过 110i@110i.net 和我联系,我们一起来研究和探讨一下。

再见!
[color=blue]
lifeng
驱动牛犊
驱动牛犊
  • 注册日期2001-05-01
  • 最后登录2010-07-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-22 20:42
哥几个不用太灰心,找不到softice的源代码,但可以找到privateice的源代码,在souceforge中有,是linux下的,界面用法同softice一样,同时也是内核级的调试器
reayi
驱动牛犊
驱动牛犊
  • 注册日期2002-11-06
  • 最后登录2010-03-30
  • 粉丝0
  • 关注0
  • 积分83分
  • 威望9点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-12-23 01:38
关注,支持。

xiangshifu
驱动小牛
驱动小牛
  • 注册日期2002-07-25
  • 最后登录2013-10-18
  • 粉丝1
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-12-24 12:49
我的目标是能够调试驱动程序,想在操作系统和硬件之间嵌入一层,完全监视系统的运行,不过这方面的资料太少了。有几个问题想不通
1,多任务切换,目前的CPU是支持多任务的,但不知道window具体如何实现的
2,window消息机制,这个是应用层的概念,不过作为window的核心内容之一,他一定是通过驱动完成的,但实现不知道。
3,模块之间的调用以及系统调用机制

privateice 的代码我看过,没有任何开发文档,好难懂1
不过他是知道系统代码的,估计是把程序嵌入到系统中,而不是象softice一样作为一个独立的系统运行,安全不受系统的干扰,即使是系统挂了,他还在运行,这一点在9x版中很明显
游客

返回顶部