Народ кто сталкивался , каким образом запустить edge чтобы задать имя десткопа( свое ). edge запускаеться microsoft-edge:http://www.google.com что соответсвенно передаеться explorer.exe который уже создает процесс .... Есть ли возможность запустить edge на прямую заполнив PROCESS_INFORMATION Хукнул Експлорер, при запуске эджа молчит, остальные обычные ехе запускаються. Список функции подвергнутых хуку. kernel32.dll|BOOL CreateProcessA(LPCSTR lpApplicationName,LPSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWORD dwCreationFlags,LPVOID lpEnvironment,LPCSTR lpCurrentDirectory,LPSTARTUPINFO lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation);|FailureIfNullRet kernel32.dll|BOOL CreateProcessW(LPCWSTR lpApplicationName,LPWSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWORD dwCreationFlags,LPVOID lpEnvironment,LPCWSTR lpCurrentDirectory,LPSTARTUPINFO lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation);|FailureIfNullRet Advapi32.dll|BOOL CreateProcessAsUserA(HANDLE hToken,LPCSTR lpApplicationName,LPSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWORD dwCreationFlags,LPVOID lpEnvironment,LPCSTR lpCurrentDirectory,LPSTARTUPINFO lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation);|FailureIfNullRet Advapi32.dll|BOOL CreateProcessAsUserW(HANDLE hToken,LPCWSTR lpApplicationName,LPWSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWORD dwCreationFlags,LPVOID lpEnvironment,LPCWSTR lpCurrentDirectory,LPSTARTUPINFO lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation);|FailureIfNullRet Advapi32.dll|BOOL CreateProcessWithLogonW(LPCWSTR lpUsername,LPCWSTR lpDomain,LPCWSTR lpPassword,DWORD dwLogonFlags,LPCWSTR lpApplicationName,LPWSTR lpCommandLine,DWORD dwCreationFlags,LPVOID lpEnvironment,LPCWSTR lpCurrentDirectory,LPSTARTUPINFOW lpStartupInfo,LPPROCESS_INFORMATION lpProcessInfo);|FailureIfNullRet shell32.dll|HINSTANCE ShellExecuteA( HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd)|FailureIfUnsignedRet<33 shell32.dll|BOOL ShellExecuteExA( LPSHELLEXECUTEINFO lpExecInfo)|Out|FailureIfNullRet shell32.dll|BOOL ShellExecuteExW( LPSHELLEXECUTEINFO lpExecInfo)|Out|FailureIfNullRet shell32.dll|HINSTANCE ShellExecuteW( HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd)|FailureIfUnsignedRet<33 Kernel32.dll|UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow);|FailureIfUnsignedRet<32
хукай ntdll!NtCreateProcessEx (<no parameter info>) ntdll!NtCreateProcess (<no parameter info>) не ошибешься
))) Прикол в том что тоже тишина по ним, там все хитрее получаеться. explorer каким то образом отдает сообщение , ApplicationFrameHost.exe тот в свою очередь просто запускает поток. Что в потоке пока разбираюсь
это вероятно связано с тем, что эдж запускается в песочнице, заинжектить в него код например тож не так просто, если мне память не изменяет...
createprocessinternalw ? Давно нужно этот LPAC как то снимать. Пока лень разбираться, но думаю что это можно зделоть.
хз чтоты там пилишь и как, но память выделяется и записывается, с адм правами, так не смотрел и треды создаются. а типичная организация сендбоксов есть в сорцах тогоже фф и хрома.
вы мне вот что скажите: без уак элевации я могу хостпроцесс эджа открыть на rw memory && set contextthread?
это вопрос изысканий, я сейчас, к сожалению, занят другими проблемами, хоть и данная тема и интересна. а вот видел мою тему в win32 про call call[]?
я уже давно не видел эдж в глаза, но думал, что они уже давно от юдаблюпи отказались... тем более, что он скоро перейдет на движок хрома... поэтому и предположил про сендбокс, сорян...
Смотрел год назад примерно. На сколько актуально сейчас - не знаю. В explorer.exe всегда есть handle с полными правами на egde.exe или как его там. В edge.exe есть хэндел с полными правами на edgeCP.exe. это вкладочки вроде если не забыл. Т.е. handle можно найти, замапить в процесс секцию и создать поток. Отключить некоторые mitigation policy тоже можно было вроде.
superakira, т.е. DWORD64 mPolicy=2; // Low part - 3 strict handle checks // Low part - PROCESS_MITIGATION_POLICY (2 - ProcessDynamicCodePolicy) // High part - PROCESS_MITIGATION_DYNAMIC_CODE_POLICY (set all bits to 0) NTSTATUS St =NtSetInformationProcess(hProcess,(PROCESS_INFORMATION_CLASS)0x34,&mPolicy,8); уже не работает ? Rel, нет explorer.exe не родитель, но хэндел этого процесса открытый со всеми правами там есть.
можно поискать способ включения отладочного режима + вполне мб возможность обновления цифирьковой подписи.
superakira, самый прикол в том, что такие "безопасные" железки набьют оскомину именно пользователям. понятно, если можешь прописать свой ключ и тем самым формировать собственные списки разрешённой софтины, но подписывать всё и даже собственные плюшки чрез мокрых.. еть ахтунг. короче, либо публика будет покупать более либеральные железки, либо будет отключать усю эту гнусь. а создание динамических программ совсем не катит с таким концлагерем.