可以换一种方式下断点! 看看这个吧!
  (1) 用 winice 載入 Win95
  (2) 執行  WINZIP 先選擇註冊
  (3) 先填 NAME : 隨意  CODE : 78787878(習慣)
  (4) 按 Ctrl_D 進入 winice
  (5) S 30:0 L FFFFFFFF '78787878'      WINICE 會搜出一個位址 ss:ssssssss  (6) BPM ss:ssssssss  <- 設斷點
  (7) 按 F5 把控制權還給 WINZIP
  (8) 在 WINZIP 下按 OK ! 被 WINICE 攔截, 如下
  (9) 用 BD * 暫停以前的斷點
  (10) 用 BPM ES:EDI-8 設另外一個. ; <- 因為你打 8 個字, 所以減 8
  (11) 按 F5 返回 WINZIP 一下子又被攔了下來
      
主要是得到你所输入的值的地址,凡是涉及到这个地址的读写操作都会被拦截。
这种方法有一点不好,就是你要随时注意数据是否被拷到其他的地方进行比较!祝好运!    ^&^

解决方案 »

  1.   


    Borland的很多函数是自己写的,很难追,呵呵
    不过总有办法,用这个试试: 
    bpx hmemcpy

    s 30:0 lffffffff '输入的信息'
    然后
    bpm 搜索到的地址 r
      

  2.   


    wjyasd大哥真快,刚才还没看见您的帖子,等我写好了发出去之后忽然又有了,呵呵
      

  3.   

    Chice_wxg(Chice) 大哥谦虚了,你比我要大,“大哥”二字不甘接受,谢谢了!
      

  4.   

    有的程序代码是动态拷贝过来的,softice设置断点无效,但是一步一步执行是可以到的,我也遇到过这种问题,不知道如何设置断点,内存断点也许是解决方法:)
      

  5.   

    静态的方法:用DeDe反汇编。当然前提是没加壳或者已经脱壳。
    反汇编之后分析汇编代码,然后选择合适的地方作为断点,再把这断点用于SoftICE