co3site
V2EX  ›  C

这个问题折磨了好几天

  •  
  •   co3site · Jul 19, 2019 · 2439 views
    This topic created in 2489 days ago, the information mentioned may be changed or developed.
    #include <iostream>
    #include <windows.h>
    using namespace std;
    
    int main()
    {
    	STARTUPINFO si = {0};
    	si.cb = sizeof(STARTUPINFO);
    
    	PROCESS_INFORMATION pi;
    
    	TCHAR cmdline[] = TEXT("C:\\Program Files\\Internet Explorer\\iexplore.exe");
    
            //以挂起形式创建进程
    	BOOL status = CreateProcess(NULL,  cmdline,  NULL,  NULL, FASLE,  CREATE_SUSPENDED, NULL, NULL, &si, &pi);
    
    	if (status)
    	{
    		//获取创建进程的主线程 context
    		CONTEXT context = {0};
    		context.ContextFlags = CONTEXT_FULL;
    		GetThreadContext(pi.hThread, &context);
    
    		//获取程序入口点( ImageBase + OEP )
    		cout << "Entry Point(OA):" << hex << context.Eax << endl;
    
    		//从 PEB 中获取 ImageBase	
    		CHAR* baseAddress = (CHAR*)(context.Ebx + 8);
    		CHAR buffer[8] = { 0 };
    		ReadProcessMemory(pi.hProcess, baseAddress, buffer, 4, NULL);
    		cout << "ImageBase:" << hex << buffer << endl;
    
    		//恢复进程(主线程)
    		ResumeThread(pi.hThread);
    
    		//关闭句柄
    		CloseHandle(pi.hThread);
    		CloseHandle(pi.hProcess);
    	}
    	return 0;
    }
    

    如上,是以挂起的形式创建的进程,但就是获取不到相应的挂起主线程的 CONTEXT 结构数据,看了好多博客都是可以这样获取的呀,难道是我最近太衰了吗,连编译器都要与我为难一番,(′д` )…彡…彡
    测试环境:WIN10 + VS2019

    5 replies    2019-08-12 17:05:40 +08:00
    co3site
        1
    co3site  
    OP
       Jul 19, 2019 via Android
    @livid 请问我这个账号什么时候才能够恢复正常,就因为之前说了一件人尽皆知的新闻吗?现在真正想发帖询问都不行了
    xiofee
        2
    xiofee  
       Jul 19, 2019
    ```cpp
    cout << "ImageBase:" << hex << *(uint32_t*)(buffer) << endl;
    ```
    co3site
        3
    co3site  
    OP
       Jul 19, 2019 via Android
    @xiofee 不是这个问题,是整个 CONTEXT 拿不到数据
    xuddk727
        4
    xuddk727  
       Jul 30, 2019
    win10 的话多半是权限问题,可 getlasterror 查看原因
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5596 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 07:05 · PVG 15:05 · LAX 00:05 · JFK 03:05
    ♥ Do have faith in what you're doing.