diff options
author | midipix <writeonce@midipix.org> | 2017-01-19 20:51:58 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2017-01-19 15:59:50 -0500 |
commit | e13223465ce70e387991ecb424f3ac34e7f4d974 (patch) | |
tree | 97e72191e57bf46e28aa1bdd7cab2126c3fd7728 /src/internal | |
parent | 9d2131a4dd7e9ba6e5e11becbfd8081a6fdcd15a (diff) | |
download | pemagine-e13223465ce70e387991ecb424f3ac34e7f4d974.tar.bz2 pemagine-e13223465ce70e387991ecb424f3ac34e7f4d974.tar.xz |
ldso: added pe_get_peb_command_line(), pe_get_peb_environment_block().
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/pe_os.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/internal/pe_os.h b/src/internal/pe_os.h index 54275e3..f8a787a 100644 --- a/src/internal/pe_os.h +++ b/src/internal/pe_os.h @@ -59,6 +59,54 @@ struct os_iosb { }; +struct os_proc_params { + uint32_t alloc_size; + uint32_t used_size; + uint32_t flags; + uint32_t reserved; + void * hconsole; + uintptr_t console_flags; + void * hstdin; + void * hstdout; + void * hstderr; + struct pe_unicode_str cwd_name; + void * cwd_handle; + struct pe_unicode_str __attr_ptr_size_aligned__ dll_path; + struct pe_unicode_str __attr_ptr_size_aligned__ image_file_name; + struct pe_unicode_str __attr_ptr_size_aligned__ command_line; + wchar16_t * environment; + uint32_t dwx; + uint32_t dwy; + uint32_t dwx_size; + uint32_t dwy_size; + uint32_t dwx_count_chars; + uint32_t dwy_count_chars; + uint32_t dw_fill_attribute; + uint32_t dw_flags; + uint32_t wnd_show; + struct pe_unicode_str wnd_title; + struct pe_unicode_str __attr_ptr_size_aligned__ desktop; + struct pe_unicode_str __attr_ptr_size_aligned__ shell_info; + struct pe_unicode_str __attr_ptr_size_aligned__ runtime_data; +}; + + +struct os_peb { + unsigned char reserved_1st[2]; + unsigned char debugged; + unsigned char reserved_2nd[1]; + void * reserved_3rd[2]; + struct pe_peb_ldr_data* peb_ldr_data; + struct os_proc_params * process_params; + unsigned char reserved_4th[104]; + void * reserved_5th[52]; + void * post_process_init_routine; + unsigned char reserved_6th[128]; + void * reserved_7th[1]; + uint32_t session_id; +}; + + typedef int32_t __stdcall os_zw_query_object( __in void * handle, __in int obj_info_class, |