各位大虾:我的文件是在DOS下用NORTON中的DISKREET加密的,我用SOFTICE也试过,但一起动DISKREET再切换到SOFTICE则连命令框都没有了,应该是被保护了(我对解密可是一点也不懂的).
我想自已编一个软件一个个去试,得到密码窗口的句柄,再得到输入密码文本的类,再用发送字符的方式去试,
但在DOS下没有消息机制,有高手告诉我要写一个门的内存驻留程序,不知你们有没有办法,我已在CSDN上发过贴,
虽还没解决,但已结了两帖,希望大家继续关注!

解决方案 »

  1.   

    这位兄弟,DOS下是没有窗口句柄这样的说法的,写TSR程序是最直接的办法,不过也不用得到窗口句柄那么麻烦,只需要定义一个热键如CTRL+F4,进入可以输密码的界面以后按CTRL+F4激活后台驻留程序,开始模拟键盘输入试密码就OK了,不过如何检查密码成功了还是个问题.
    DISKREET没用过,不过一般的DOS程序都有命令行方式的, 不知道DISKREET有没有, 如果没有只有GOOD LUCK了,呵呵.
      

  2.   

    DOS这些解密以前的人几乎都研究透了,老实说,你所说的解密是很初级的,但我绝没有泼冷水的意思,好好努力吧!
      

  3.   

    andy_lau:能不能把你和你老师的东东透一点.
    njtu_shiyl:请多指点.
      

  4.   

    可惜已经对DOS下的加密不感兴趣了,若是WIN9X的就能帮忙。不过提示一下:SofeICE名气太大,很多软件都对其有防范。用国人的骄傲Trw2000的DOS版,好像是TRWXXX的应可以切入的。
      

  5.   

    是全DOS的吗?你的SofeICE什么版本?
    如果全部东西都是DOS的话,把程序放到windows上的SHELL里头去跑,SofeICE用FOR WIN的版本就能调试。如果程序无法在SHELL跑,你就用反汇编。试试加密单字节的文件然后比较看看能否找出加密的算法来(与代码一起看),这个不容易的。你说的程序没用过,不知跟窗口的句柄有什么关系?是DOS还是WINDOWS?看不懂你需要什么?到底是要解密还是要做密码测试机?
    不过要告诉你,DOS里的TSR程序不是那么容易写的,也没有窗体,看看21中断处理再说吧。还有,SOFTICE低级的调试工具,是看不出源程序的类的,顶多只能看到几条API,在DOS里除了SOFTICE还可以用GAMETOOLS(很土的工具),如果你对汇编不熟悉还是放弃了吧。
      

  6.   

    3236:谢谢提示!   是全DOS的,SofeICE用DOS版本的,切换到SofeICE画面,连命令输入框都没有了,用WIN版本的,找不到DISKREET程序项,
    做密码测试机的目的就是要解密,SOFTICE不是懂(正在学)所以想通过此方法解决,汇编还懂点.
      

  7.   

    不用谢,希望你能早日解决问题!for win版的softice肯定能捕捉到程序运行的,因为程序是在Shell里头跑的,应该会独占Shell的,你可以试试捕捉这个Shell的进程。我明白你要写密码测试机的想法了,但如果是纯DOS程序是没有窗体句柄的,也没有消息循环,它自己定制的窗体有自己的代码,不象现有的“窗体密码捕捉器”做的那么简单,你要破的话不容易啊。告诉你一个方向,你可以写驻留程序捕捉中断21,因为90%的DOS程序都是用DOS中断服务取得输入的,服务号我都忘了,具体自己查吧;但若不是的话,你写驻留程序的方法可能行不通了,只能直接修改原程序,找一个突破口。希望你能成功吧~
      

  8.   

    忘了说,记得中断21好象不能被直接替换的,是需要很多处理的。
    不过其它还有一些方法,例如写键盘缓冲区的,或直接挂8259芯片的中断。
    太土了,我几乎都忘掉咯。另外,你可以试试在Win2K上跑,看能否正常运行,测试它是否用了特权指令。我只知道NORTON做的软件向来都很绝,可能会强制替换掉你的服务子程序,要多下工夫,祝你好运,呵呵。
      

  9.   

    http://tongtian.net/cgi-bin/leoboard.cgi到这里来看看
      

  10.   

    3236:
        for win版的softice可能能捕捉到程序运行,但norton在WINDOWS下运行不正确.只能在DOS6.22下才能运行正确.
    你说的方法我不是很懂,我先找点资料自已试试,不行再向你请教.
      

  11.   

    norton在WINDOWS下运行不正确这个问题是可以解决的,主要是因为磁盘管理权问题。我记得好想有一条什么lock的命令,运行了后连PCTOOLS 5.0都能跑的,呵呵,都忘了。加油吧
      

  12.   

    DOS年代的东西相对要简单的多
      

  13.   

    如果不想太复杂,密码也比较简单
    用时钟中断写键盘缓冲区
    用键盘中断检查退出,比如什么ctrl+'F4'退出程序什么的
    --------------------------------------------------
    如果想复杂,就只有直接跟踪了