项目作者: Iliakis-M

项目描述 :
PE decomposer/composer
高级语言: JavaScript
项目地址: git://github.com/Iliakis-M/PEcomp.git
创建时间: 2021-05-22T16:40:13Z
项目社区:https://github.com/Iliakis-M/PEcomp

开源协议:

下载


PEcomp

Compose/Decompose Windows Portable Executables (Images/Objects - PE/COFF/DLL/ROM) [No CIL yet]

V.H. - 2021

Usage

  1. const PEC = require("pecomp");
  2. PEC.read("file.exe").then(p => {
  3. console.log(p.hdr.str);
  4. console.error(p.err);
  5. });

Output

  1. pecomp src/HxD.exe
  2. VALUES DISPLAYED IN LE ENDIANNESS.
  3. ----------------------------------- MSDOS STUB -----------------------------------
  4. pe_magic (2b : e_magic) = MZ (4d5a)
  5. bytes_last_page (2b : e_cblp) = 0 (0000)
  6. pages (2b : e_cp) = 0 (0000)
  7. relocs (2b : e_crlc) = 0 (0000)
  8. header_size_paragraphs (2b : e_cparhdr) = 4 (04000f)
  9. min_extra_paragraphs (2b : e_minalloc) = 15 (0f00)
  10. max_extra_paragraphs (2b : e_maxalloc) = 65535 (ffff)
  11. rel_stack_seg (2b : e_ss) = 0 (0000)
  12. init_stack_ptr (2b : e_sp) = 184 (b800)
  13. pe_checksum (2b : e_csum) = 0 (0000)
  14. init_instr_ptr (2b : e_ip) = 0 (0000)
  15. rel_cs_addr (2b : e_cs) = 0 (0000)
  16. reloctable_addr (2b : e_lfarlc) = 64 (4000)
  17. overlay_num (2b : e_ovno) = 26 (1a00)
  18. reserve1 (8b : e_res) = 0000000000000000
  19. oem_id (2b : e_oemid) = 0 (0000)
  20. oem_info (2b : e_oeminfo) = 0 (0000)
  21. reserve2 (20b: e_res2) = 0000000000000000000000000000000000000000
  22. pe_addr (4b : e_lfanew) = 256 (00010000)
  23. pe_sig (4b : sig) = PE (50450000)
  24. ----------------------------------- COFF -----------------------------------
  25. machine (2b : machine) = AMD64 (6486)
  26. sector_num (2b : sectnum) = 9 (0900)
  27. timestamp (4b : timestamp) = 1612991993 (f94d2460)
  28. symtable_ptr (4b : symtabptr) = 0 (00000000)
  29. symbol_num (4b : symbnum) = 0 (00000000)
  30. opt_hdr_size (2b : optionalsize) = 240 (f000)
  31. characteristics (2b : chrctrs) = RELOCS_STRIPPED[1]|EXECUTABLE_IMAGE[2]|LARGE_ADDRESS_AWARE[32] (2300)
  32. ----------------------------------- OPT -----------------------------------
  33. opt_magic (2b : o_magic) = PE+ (0b02)
  34. link_major (1b : o_major) = 8 (08)
  35. link_minor (1b : o_minor) = 0 (00)
  36. code_sz (4b : o_code_sz) = 5467648 (006e5300)
  37. initdat_sz (4b : o_initdat_sz) = 1437184 (00ee1500)
  38. uninitdat_sz (4b : o_uninitdat_sz) = 0 (00000000)
  39. entry (4b : o_entry) = 5471024 (307b5300)
  40. base (4b : o_base) = 4096 (00100000)
  41. section_alignment (4b : o_sectalign) = 4096 (00100000)
  42. file_alignment (4b : o_filealign) = 512 (00020000)
  43. major_os_ver (2b : o_majosver) = 5 (0500)
  44. minor_os_ver (2b : o_minosver) = 1 (0100)
  45. major_img_ver (2b : o_majimver) = 5 (0500)
  46. minor_img_ver (2b : o_minimver) = 2 (0200)
  47. major_subs_ver (2b : o_majsubsver) = 5 (0500)
  48. minor_subs_ver (2b : o_minsubsver) = 1 (0100)
  49. win_32_res (4b : o_win32res) = 0 (00000000)
  50. image_sz (4b : o_imgsz) = 6979584 (00806a00)
  51. headers_sz (4b : o_hdrsz) = 1024 (00040000)
  52. checksum (4b : o_chksum) = 6919630 (ce956900)
  53. subsystem (2b : o_subs) = WINDOWS_GUI (0200)
  54. dll_characteristics (2b : o_dllchrctrs) = DYNAMIC_BASE[64]|NX_COMPAT[256] (4001)
  55. loader_flags (4b : o_ldflag) = 0 (00000000)
  56. rvas_szs (4b : o_rva_sz) = 16 (10000000)
  57. imagebase (8b : o_imbase) = 4194304 (0000400000000000)
  58. stack_reserve (8b : o_stackres) = 1048576 (0000100000000000)
  59. stack_commit (8b : o_stackcomm) = 16384 (0040000000000000)
  60. heap_reserve (8b : o_heapres) = 1048576 (0000100000000000)
  61. heap_commit (8b : o_heapcomm) = 8192 (0020000000000000)
  62. ----------------------------------- RVAs (16) ------------------------------------
  63. Index|Sector: Address (Size)
  64. 2|Import: 6344704|00d06000 (23024|f0590000)
  65. 3|Resource: 6631424|00306500 (355840|006e0500)
  66. 4|Exception: 6381568|00606100 (246048|20c10300)
  67. 10|Thread_Loc: 6377472|00506100 (40|28000000)
  68. 13|Address_Imp: 6350472|88e66000 (5408|20150000)
  69. 14|Delay_Imp: 6369280|00306100 (3466|8a0d0000)
  70. ----------------------------------- SECT -----------------------------------
  71. .text:
  72. addr: 4096 | sz: 5467328
  73. data: 1024 | initsz: 5467648
  74. relocs: 0 | num: 0
  75. lines: 0 | num: 0
  76. characteristics: CNT_CODE[32]|MEM_EXECUTE[536870912]|MEM_READ[1073741824] (1610612768)
  77. .data:
  78. addr: 5472256 | sz: 816944
  79. data: 5468672 | initsz: 817152
  80. relocs: 0 | num: 0
  81. lines: 0 | num: 0
  82. characteristics: CNT_INITIALIZED_DATA[64]|MEM_READ[1073741824]|MEM_WRITE[2147483648] (3221225536)
  83. .bss:
  84. addr: 6291456 | sz: 50044
  85. data: 6285824 | initsz: 0
  86. relocs: 0 | num: 0
  87. lines: 0 | num: 0
  88. characteristics: MEM_READ[1073741824]|MEM_WRITE[2147483648] (3221225472)
  89. .idata:
  90. addr: 6344704 | sz: 23024
  91. data: 6285824 | initsz: 23040
  92. relocs: 0 | num: 0
  93. lines: 0 | num: 0
  94. characteristics: CNT_INITIALIZED_DATA[64]|MEM_READ[1073741824]|MEM_WRITE[2147483648] (3221225536)
  95. .didata:
  96. addr: 6369280 | sz: 3466
  97. data: 6308864 | initsz: 3584
  98. relocs: 0 | num: 0
  99. lines: 0 | num: 0
  100. characteristics: CNT_INITIALIZED_DATA[64]|MEM_READ[1073741824]|MEM_WRITE[2147483648] (3221225536)
  101. .tls:
  102. addr: 6373376 | sz: 716
  103. data: 6312448 | initsz: 0
  104. relocs: 0 | num: 0
  105. lines: 0 | num: 0
  106. characteristics: MEM_READ[1073741824]|MEM_WRITE[2147483648] (3221225472)
  107. .rdata:
  108. addr: 6377472 | sz: 40
  109. data: 6312448 | initsz: 512
  110. relocs: 0 | num: 0
  111. lines: 0 | num: 0
  112. characteristics: CNT_INITIALIZED_DATA[64]|MEM_READ[1073741824] (1073741888)
  113. .pdata:
  114. addr: 6381568 | sz: 246048
  115. data: 6312960 | initsz: 246272
  116. relocs: 0 | num: 0
  117. lines: 0 | num: 0
  118. characteristics: CNT_INITIALIZED_DATA[64]|MEM_READ[1073741824] (1073741888)
  119. .rsrc:
  120. addr: 6631424 | sz: 346260
  121. data: 6559232 | initsz: 346624
  122. relocs: 0 | num: 0
  123. lines: 0 | num: 0
  124. characteristics: CNT_INITIALIZED_DATA[64]|MEM_READ[1073741824] (1073741888)

Binary Installation

  1. npm install -g &&
  2. pecomp file<Path>
  3. # tests:
  4. pecomp
  5. # Usage:
  6. # /usr/bin/pecomp file<Path> - Read Header of PE file.
  7. pecomp HxD.exe