能力值:
( LV2,RANK:10 )
|
-
-
2 楼
从来都没有人遇到做这样的软件吗?用exe文件启动另外一个exe?
|
能力值:
( LV9,RANK:410 )
|
-
-
3 楼
呵呵,这个是最简单的进程调用。涉及不到虚拟机。
跟踪一下,你会发现它调用的方式,它有一些附加参数,你跟踪到这些附加参数,就可以直接启动后面这个文件了。
比如 b.exe -abcdef -mnbvc
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
push eax ; /pProcessInfo
lea eax, [ebp-58] ; |
push eax ; |pStartupInfo
push ebx ; |CurrentDir
push ebx ; |pEnvironment
push 20 ; |CreationFlags = NORMAL_PRIORITY_CLASS
push ebx ; |InheritHandles
push ebx ; |pThreadSecurity
push ebx ; |pProcessSecurity
push esi ; |CommandLine
push ebx ; |ModuleFileName
mov [ebp-58], edi ; |
call [<&KERNEL32.CreateProcessA>] ; \CreateProcessA
这是我跟踪到的代码,那上面哪个是参数呢?有没有相关的文章推荐一篇。谢谢。
|
能力值:
(RANK:210 )
|
-
-
5 楼
能不能用od的附加调试呢
先用WTRC.exe启动WTRCsys.exe
然后用od附加到WTRCsys
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
0012FE7C 00000000 |ModuleFileName = NULL
0012FE80 008A06E0 |CommandLine = "wtrcSYS.exe "
0012FE84 00000000 |pProcessSecurity = NULL
0012FE88 00000000 |pThreadSecurity = NULL
0012FE8C 00000000 |InheritHandles = FALSE
0012FE90 00000020 |CreationFlags = NORMAL_PRIORITY_CLASS
0012FE94 00000000 |pEnvironment = NULL
0012FE98 00000000 |CurrentDir = NULL
0012FE9C 0012FEB0 |pStartupInfo = 0012FEB0
0012FEA0 0012FEF4 \pProcessInfo = 0012FEF4
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
能详细一点吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
经过这几天调试,发现主界面其实是一个动态库实现的。这个动态库好像可以通过什么判断是否显示出来。这个程序启动是这样的。a.exe启动b.exe,b.exe启动C.dll,C.dll判断是否显示界面。直接启动b,则不显示主界面。但是在任务管理器可以看到b.exe。主界面是由c.dll完成的。这样的东东实在好复杂,给个思路吧。
c.dll是通过什么判断要不要显示主界面呢?从b.exe加载c.dll的过程来看,好像没有给它传递参数呀?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
不懂,关注中,期待有人给出答案
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
期待有人写出详细的破文
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
有没有哪位达人给个思路呀?自己顶了
|
|
|