1.要跟踪DOS程序用 softice 下的 dldr <路径\程序名> 。
跟踪DOS程序最好2.0版2.softice for win95 2.0 要拦截Dos下的读文件用 bpint 21 ah=4d
softice 3.0以后用 bpint 21 if(ah=4d)
要拦截 Windows下的程序用 bpx createfilea
跟踪DOS程序最好2.0版2.softice for win95 2.0 要拦截Dos下的读文件用 bpint 21 ah=4d
softice 3.0以后用 bpint 21 if(ah=4d)
要拦截 Windows下的程序用 bpx createfilea
解决方案 »
- ipv6程序,getaddrinfo给addrinfo赋值问题
- 【MFC】如何通过控件ID控制控件?
- 哪位大侠搞过音频剪辑,有什么好的想法请往这边砸~~~ 重谢
- 散分,
- 父窗口为桌面的窗口无法获得焦点。
- 我想在线程中使用回调函数,该怎么做呢?
- 为什么模板类不可以写在DLL里??
- 请问:如何判断本机是否装了Win2000 SP2(/Win2000 SP3)?如何判断本机是否装了IE6补丁?如何判断本机是否装了VC的那个SP5补丁?
- 请熟悉网络编程的出来把Socket、Winsock、Socks4/5等几个概念捋一捋清楚。
- 请问: .h与.cpp中的#include有何区别?各有何意义?能重复吗?
- RichEditCtrl 中输入汉字出现乱码 ?
- 只用数组还是还要用多线程?
32位程序: d ss:esp
16位程序: d ss:sp再通过堆栈的找到createprocess的第二个参数就行了嘛
:BPX CREATEFILEA
倒是触发了,可是如何找到文件名称的,几个PUSH传递的参数里都没有发现还有,要触发createprocess应该包括哪个DLL库,我把范例里面的都包括了,可是还不行啊,老是标志没有定义:(老兄,再帮帮忙
63 24 6a 00 00 00 00 00 ...
第一个参数的地址就为 006a2463
用 d 6a2463 就可看见 createfilea的第一个参数了。
createprocessa也是一样的
不是 d ss:esp+4 creatfilea
我用
:bpx createfilea
拦截到了几个文件名称,可是一个主要的库文件名称没有拦截到:(
是不是还有其它的API也可以创建文件?:bpx createprocessa
没有拦截成功,这是一个运行在win3.11上的程序A,它调用了一个文件B.EXE,我用task命令发现它被调用,而且执行B,则提示缺少命令行,我用
:bpx winexec
也没有拦截到
难道也还有其它的API也可调用一个可执行文件?再次向您请教
16位程序运行其它程序还有 Yield() 函数2.要想得到程序的命令行还有一种方法:
在每个程序加载的时候都会调用 GetCommandLine(),
还可试一试 pbx getcommandline
我用yield()截取到了调用程序,知道了调用的程序名称,那如何知道命令行呢?:pbx getcommandlinea没有触发:(在跟踪打开文件名称时:
:bpx OpenFile 或
:bpx _lopen
还是没有触发,是不是在操作一些文件的时候可以不调用这些API或函数呢?大师出马,一个顶两,再帮帮我这个菜鸟
若拦截的程序是16位的offset用下列方式查看参数的地址
d ss:sp+2
d ss:sp+4
d ss:sp+6
... 若拦截的程序是32位的offset用下列方式查看
用下列方式查看参数的地址
d ss:esp+4
d ss:esp+6
...打开文件的方式很多,再试一试
bpx fopen
32位offset是用
d ss:esp+4
d ss:esp+8
d ss:esp+12
...
在yield触发之后,在ss:sp+12的地址再加上0x69是参数值。
感激不尽!可是库文件一直没有触发出来,
明显是在操作库文件时,ReadFile触发正常
是不是有可能从ReadFile找到文件名称,也就是根据文件句柄找到文件名称?继续请教大师:)