能力值:
( LV2,RANK:10 )
|
-
-
2 楼
notepad.exe %s
带参数打开的.怎么断我也不知道.那位知道的说下啊!比如如何找到一个程序里面可以用那些函数.怎么带参数.
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
会调用的!
Windows系统中txt文件与记事本Notepad.exe是默认关联的,双击txt文件时,Explorer.exe将会创建进程Notepad.exe,并将该txt文件的完整路径(假设是C:\1.txt)传递给Notepad.exe;与我们在OllyDbg中调试Notepad.exe时,在“调试”菜单中的“参数”里添上C:\1.txt来运行Notepad.exe的效果基本相同,只是父进程不同。
可以这样验证CreateFileW被调用了
1、用OllyDbg载入Windows XP的Notepad.exe,在“调试”菜单中的“参数”里添上txt文件的完整路径名;
2、在 01004A07 处设置断点;
3、F9运行,程序将中断在01004A07 Call CreateFileW;
这时主窗口的消息循环还没有开始运行呢!而你的后两种方法都要到主窗口的消息循环运行之后才可能发生!
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
多谢3楼。 OllyDbg我没用过,所以不很理解你的测试,呵呵。
我用API Hook来测试的,得到下面的结果:
当双击打开txt文本文件时:
第一步. 系统读取Notepad.exe到内存(用了内存映射文件),过程如下:
CreateFile
ReadFile(4次)
CreateFileMapping
MapViewOfFile
(以上四个函数都是对Notepad.exe操作的)
第二步. 对txt文本文件调用CreateFile。(没有调用ReadFile等其他函数)
我在第二步里截获CreateFile,让它先不被调用,但文件的内容还是显示出来了。第一步和第二步中间有管道操作,我不懂管道,不知道时干生么用的。
你的意思是不是说:在第一步里,对文件的CreateFileW就已经被调用了?
之后txt件怎样被读到内存中的呢?
|
|
|