Трюк с PE (NULL EntryPoint)

Тема в разделе "WASM.WIN32", создана пользователем JCronos, 22 апр 2009.

  1. JCronos

    JCronos New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2009
    Сообщения:
    98
    Приветствую.

    У некоторых файлов встречается такой прикол как PE Win32 DLL (0 EntryPoint) (PEiD)

    EntryPoint: 00000000
    File Offset: 00000000

    Ниже дамп, dumppe

    Код (Text):
    1. .EXE size (bytes)                 536E45         5467717
    2. Minimum load size (bytes)         438C45         4426821
    3. Overlay number                         0               0
    4. Initial CS:IP                  0000:0000
    5. Initial SS:SP                  0000:0140             320
    6. Minimum allocation (para)             E0             224
    7. Maximum allocation (para)           FFFF           65535
    8. Header size (para)                  FF00           65280
    9. Relocation table offset               40              64
    10. Relocation entries                  4053           16467
    11.  
    12. Portable Executable starts at                 80
    13. Signature                               00004550 (PE)
    14. Machine                                     014C (Intel 386)
    15. Sections                                    0003
    16. Time Date Stamp                         44581C82 Wed May  3 06:59:14 2006
    17. Symbol Table                            00000000
    18. Number of Symbols                       00000000
    19. Optional header size                        00E0
    20. Characteristics                             010F
    21.         Relocation information stripped
    22.         Executable Image
    23.         Line numbers stripped
    24.         Local symbols stripped
    25.         32 bit word machine
    26. Magic                                       010B
    27. Linker Version                              1.64
    28. Size of Code                            00000000
    29. Size of Initialized Data                00000000
    30. Size of Uninitialized Data              00000000
    31. Address of Entry Point                  00000000
    32. Base of Code                            00000000
    33. Base of Data                            00000000
    34. Image Base                              00400000
    35. Section Alignment                       00001000
    36. File Alignment                          00000200
    37. Operating System Version                    1.00
    38. Image Version                               0.00
    39. Subsystem Version                           4.00
    40. reserved                                00000000
    41. Image Size                              0000A000
    42. Header Size                             00000200
    43. Checksum                                00000000
    44. Subsystem                                   0002 (Windows)
    45. DLL Characteristics                         0000
    46. Size Of Stack Reserve                   00001000
    47. Size Of Stack Commit                    00001000
    48. Size Of Heap Reserve                    00010000
    49. Size Of Heap Commit                     00000000
    50. Loader Flags                            00000000
    51. Number of Directories                   00000010
    52.  
    53. Directory Name                          VirtAddr  VirtSize
    54. --------------------------------------  --------  --------
    55. Export                                  00000000  00000000
    56. Import                                  00008000  00000014
    57. Resource                                00009000  0000015C
    58. Exception                               00000000  00000000
    59. Security                                00000000  00000000
    60. Base Relocation                         00000000  00000000
    61. Debug                                   00000000  00000000
    62. Decription/Architecture                 00000000  00000000
    63. Machine Value (MIPS GP)                 00000000  00000000
    64. Thread Storage                          00000000  00000000
    65. Load Configuration                      00000000  00000000
    66. Bound Import                            00000000  00000000
    67. Import Address Table                    00000000  00000000
    68. Delay Import                            00000000  00000000
    69. COM Runtime Descriptor                  00000000  00000000
    70. (reserved)                              00000000  00000000
    71.  
    72. Section Table
    73. -------------
    74. 01  .code       Virtual Address         00001000
    75.                 Virtual Size            00006666
    76.                 Raw Data Offset         00000200
    77.                 Raw Data Size           00006800
    78.                 Relocation Offset       00000000
    79.                 Relocation Count        0000
    80.                 Line Number Offset      00000000
    81.                 Line Number Count       0000
    82.                 Characteristics         E0000020
    83.                         Code
    84.                         Executable
    85.                         Readable
    86.                         Writeable
    87.  
    88. 02  .idata      Virtual Address         00008000
    89.                 Virtual Size            00000014
    90.                 Raw Data Offset         00006A00
    91.                 Raw Data Size           00000200
    92.                 Relocation Offset       00000000
    93.                 Relocation Count        0000
    94.                 Line Number Offset      00000000
    95.                 Line Number Count       0000
    96.                 Characteristics         40000040
    97.                         Initialized Data
    98.                         Readable
    99.  
    100. 03  .rsrc       Virtual Address         00009000
    101.                 Virtual Size            00000FAE
    102.                 Raw Data Offset         00006C00
    103.                 Raw Data Size           00000200
    104.                 Relocation Offset       00000000
    105.                 Relocation Count        0000
    106.                 Line Number Offset      00000000
    107.                 Line Number Count       0000
    108.                 Characteristics         60000060
    109.                         Code
    110.                         Initialized Data
    111.                         Executable
    112.                         Readable
    Собственно вопрос в том, как подобное реализуется?
     
  2. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    оно запускается?
     
  3. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    GoldFinch
    хороший вопрос ))
     
  4. JCronos

    JCronos New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2009
    Сообщения:
    98
    GoldFinch
    Конечно запускается :)
     
  5. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    а что не обычного то?
    смотри инструкции которые находятся по адресу базы образа: 'ZM', потом джамп на нормальную точку входа
     
  6. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    TLS коллбек запускается перед EP, в нем может делаться перенаправление в кодовую секцию. Это как вариант.
     
  7. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    предположу что таблица импорта расположена в заголовке как раз на месте поля EP, хотя я не понимаю что это может дать

    раз запускается, может выложишь трассировку?
     
  8. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    ohne
    никакая инструкция не начинается с "MZ"
    TSS
    директория TLS пуста
     
  9. G13

    G13 New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2006
    Сообщения:
    499
    Атрибуты секции .rsrc не смущают? ;)
     
  10. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    GoldFinch
    ну как это )?
    боянный прикол ведь
    http://indetails.info/techs/613.html
    Код (Text):
    1. Второй способ более экстравагантный я бы сказал, там смысл у нас будет заключаться в том, что
    2. когда файл мапится в оперативную память, мапится он с адреса базы(ImageBase), который обычно
    3. равен 00400000, дальше EIP переходит на точку входа, которая в памяти у нас будет равна
    4. ImageBase + EntryPoint в PE заголовке, то есть если EntryPoint у нас равен 00001000, EIP
    5. будет на адресе 00401000, то есть это точка входа в программу у нас такая. А что же будет
    6. если взять Lord Pe и быстренько поставить EntryPoint например в 0? наша точка входа будет в
    7. 00400000, а ждут нас там опкоды 4D5Ah (те самые MZ), которые в переводе на асм будут выглядеть
    8. как
    9.  
    10. 00400000 4D DEC EBP
    11. 00400001 5A POP EDX
    12.  
    13. Что вполне нормально, в чем мы можем легко совершенно убедиться набрав в OllyDbg Ctrl + G и
    14. введем 00400000. Ну как? Есть мысли что делаем дальше? Конечно же мы ставим jmp на 00401000
    15. (в реальную точку входа) по адресу 00400002, просто щелкаем на пробел и вводим jmp 00401000
    16. и нажимаем Assemble, Cencel и получаем отличную картину
    17.  
    18. 00400000 4D DEC EBP
    19. 00400001 5A POP EDX
    20. 00400002 - E9 F90F0000 JMP 00401000
     
  11. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Код (Text):
    1. ;@echo off
    2. ;goto make
    3.  
    4. ; macro align value { rb (value-1)-($+value-1) mod value }
    5.  
    6. IMAGE_DOS_SIGNATURE  =      5A4Dh      ; MZ
    7. IMAGE_NT_SIGNATURE   =  00004550h      ; PE00
    8. IMAGE_FILE_MACHINE_I386             =      014ch  ; Intel 386
    9.  
    10. IMAGE_FILE_RELOCS_STRIPPED          =  0001h  ; Relocation info stripped from file
    11. IMAGE_FILE_EXECUTABLE_IMAGE         =  0002h  ; File is executable  (i.e. no unresolved externel references)
    12. IMAGE_FILE_LINE_NUMS_STRIPPED       =  0004h  ; Line nunbers stripped from file
    13. IMAGE_FILE_LOCAL_SYMS_STRIPPED      =  0008h  ; Local symbols stripped from file
    14. IMAGE_FILE_32BIT_MACHINE            =  0100h  ; 32 bit word machine
    15.  
    16. ; Section characteristics
    17. IMAGE_SCN_CNT_CODE                  =  00000020h  ; Section contains code
    18. IMAGE_SCN_CNT_INITIALIZED_DATA      =  00000040h  ; Section contains initialized data
    19. IMAGE_SCN_CNT_UNINITIALIZED_DATA    =  00000080h  ; Section contains uninitialized data
    20. IMAGE_SCN_MEM_EXECUTE               =  20000000h  ; Section is executable
    21. IMAGE_SCN_MEM_READ                  =  40000000h  ; Section is readable
    22. IMAGE_SCN_MEM_WRITE                 =  80000000h  ; Section is writeable
    23.  
    24. IMAGE_SUBSYSTEM_WINDOWS_GUI         =         2   ; Image runs in the Windows GUI subsystem
    25. IMAGE_NUMBEROF_DIRECTORY_ENTRIES    =        16
    26.  
    27.  
    28.  
    29. IMAGE_BASE           =  00400000h
    30. NUMBER_OF_SECTIONS   =         2
    31. FILE_ALIGNMENT       =  00000200h
    32. SECTION_ALIGNMENT    =  00001000h
    33.  
    34.  
    35. IMAGE_DOS_HEADER:     ; DOS .EXE header
    36. e_magic     dw IMAGE_DOS_SIGNATURE         ; Magic number        /*   0h  */
    37. ;e_cblp      dw 0         ; Bytes on last page of file            /*   2h  */
    38. db 52h,45h
    39. ;e_cp        dw 0         ; Pages in file                         /*   4h  */
    40. ;e_crlc      dw 0         ; Relocations                           /*   6h  */
    41. ;e_cparhdr   dw 0         ; Size of header in paragraphs          /*   8h  */
    42. db 68h
    43. dd (START - _CODE)+CODE_RVA+IMAGE_BASE
    44. db 0C3h
    45. e_minalloc  dw 0         ; Minimum extra paragraphs needed       /*  0Ah  */
    46. e_maxalloc  dw 0         ; Maximum extra paragraphs needed       /*  0Ch  */
    47. e_ss        dw 0         ; Initial (relative) SS value           /*  0Eh  */
    48. e_sp        dw 0         ; Initial SP value                      /*  10h  */
    49. e_csum      dw 0         ; Checksum                              /*  12h  */
    50. e_ip        dw 0         ; Initial IP value                      /*  14h  */
    51. e_cs        dw 0         ; Initial (relative) CS value           /*  16h  */
    52. e_lfarlc    dw 0         ; File address of relocation table      /*  18h  */
    53. e_ovno      dw 0         ; Overlay number                        /*  1Ah  */
    54. e_res       rw 4         ; Reserved words                        /*  1Ch  */
    55. e_oemid     dw 0         ; OEM identifier (for e_oeminfo)        /*  24h  */
    56. e_oeminfo   dw 0         ; OEM information; e_oemid specific     /*  26h  */
    57. e_res2      rw 10         ; Reserved words                       /*  28h  */
    58. e_lfanew    dd IMAGE_NT_HEADERS         ; File address of new exe header        /*  3Ch  */
    59. ; IMAGE_DOS_HEADER
    60.  
    61. align 4
    62. IMAGE_NT_HEADERS:
    63. Signature dd IMAGE_NT_SIGNATURE
    64. IMAGE_FILE_HEADER:
    65. Machine                 dw IMAGE_FILE_MACHINE_I386
    66. NumberOfSections        dw NUMBER_OF_SECTIONS
    67. TimeDateStamp           dd %t
    68. PointerToSymbolTable    dd 0
    69. NumberOfSymbols         dd 0
    70. SizeOfOptionalHeader    dw IMAGE_OPTIONAL_HEADER_SIZE
    71. Characteristics         dw IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_EXECUTABLE_IMAGE or \
    72.                            IMAGE_FILE_LINE_NUMS_STRIPPED or IMAGE_FILE_LOCAL_SYMS_STRIPPED or \
    73.                            IMAGE_FILE_32BIT_MACHINE
    74. ; IMAGE_FILE_HEADER
    75. IMAGE_OPTIONAL_HEADER:
    76. ; Standard fields
    77. Magic                      dw 010Bh
    78. MajorLinkerVersion         db 0
    79. MinorLinkerVersion         db 0
    80. SizeOfCode                 dd 0
    81. SizeOfInitializedData      dd 0
    82. SizeOfUninitializedData    dd 0
    83. AddressOfEntryPoint        dd 0
    84. BaseOfCode                 dd 0
    85. BaseOfData                 dd 0
    86. ; NT additional fields
    87. ImageBase                      dd IMAGE_BASE
    88. SectionAlignment               dd SECTION_ALIGNMENT
    89. FileAlignment                  dd FILE_ALIGNMENT
    90. MajorOperatingSystemVersion    dw 4
    91. MinorOperatingSystemVersion    dw 0
    92. MajorImageVersion              dw 0
    93. MinorImageVersion              dw 0
    94. MajorSubsystemVersion          dw 4
    95. MinorSubsystemVersion          dw 0
    96. Win32VersionValue              dd 0
    97. SizeOfImage                    dd (IMPORT_RVA+IMPORT_SIZE)+((SECTION_ALIGNMENT-1)-((IMPORT_RVA+IMPORT_SIZE)+SECTION_ALIGNMENT-1) mod SECTION_ALIGNMENT)
    98. SizeOfHeaders                  dd _CODE
    99. CheckSum                       dd 0
    100. Subsystem                      dw IMAGE_SUBSYSTEM_WINDOWS_GUI
    101. DllCharacteristics             dw 0
    102. SizeOfStackReserve             dd 100000h
    103. SizeOfStackCommit              dd 1000h
    104. SizeOfHeapReserve              dd 100000h
    105. SizeOfHeapCommit               dd 1000h
    106. LoaderFlags                    dd 0
    107. NumberOfRvaAndSizes            dd IMAGE_NUMBEROF_DIRECTORY_ENTRIES
    108. ;    IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]
    109. Data_Directories:
    110. IMAGE_DIRECTORY_ENTRY_EXPORT            dd 0,0      ;  0   // Export Directory
    111. IMAGE_DIRECTORY_ENTRY_IMPORT            dd IMPORT_RVA,IMPORT_SIZE      ;  1   // Import Directory
    112. IMAGE_DIRECTORY_ENTRY_RESOURCE          dd 0,0      ;  2   // Resource Directory
    113. IMAGE_DIRECTORY_ENTRY_EXCEPTION         dd 0,0      ;  3   // Exception Directory
    114. IMAGE_DIRECTORY_ENTRY_SECURITY          dd 0,0      ;  4   // Security Directory
    115. IMAGE_DIRECTORY_ENTRY_BASERELOC         dd 0,0      ;  5   // Base Relocation Table
    116. IMAGE_DIRECTORY_ENTRY_DEBUG             dd 0,0      ;  6   // Debug Directory
    117. ;      IMAGE_DIRECTORY_ENTRY_COPYRIGHT dd 0,0      ;  7   // (X86 usage)
    118. IMAGE_DIRECTORY_ENTRY_ARCHITECTURE      dd 0,0      ;  7   // Architecture Specific Data
    119. IMAGE_DIRECTORY_ENTRY_GLOBALPTR         dd 0,0      ;  8   // RVA of GP
    120. IMAGE_DIRECTORY_ENTRY_TLS               dd 0,0      ;  9   // TLS Directory
    121. IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG       dd 0,0      ; 10   // Load Configuration Directory
    122. IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT      dd 0,0      ; 11   // Bound Import Directory in headers
    123. IMAGE_DIRECTORY_ENTRY_IAT               dd 0,0      ; 12   // Import Address Table
    124. IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT      dd 0,0      ; 13   // Delay Load Import Descriptors
    125. IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR    dd 0,0      ; 14   // COM Runtime descriptor
    126.                                         dd 0,0      ; 15
    127. ; Data_Directories
    128. ; IMAGE_OPTIONAL_HEADER
    129. IMAGE_OPTIONAL_HEADER_END:
    130. IMAGE_OPTIONAL_HEADER_SIZE = IMAGE_OPTIONAL_HEADER_END - IMAGE_OPTIONAL_HEADER
    131. ; IMAGE_NT_HEADERS
    132. IMAGE_SECTION_HEADER1:
    133. Name1                    db ".text",0,0,0
    134. ;    union {
    135. ;            DWORD   PhysicalAddress
    136. VirtualSize1             dd CODE_SIZE
    137. ;    } Misc;
    138. VirtualAddress1          dd CODE_RVA
    139. SizeOfRawData1           dd _IMPORT - _CODE
    140. PointerToRawData1        dd _CODE
    141. PointerToRelocations1    dd 0
    142. PointerToLinenumbers1    dd 0
    143. NumberOfRelocations1     dw 0
    144. NumberOfLinenumbers1     dw 0
    145. Characteristics1         dd IMAGE_SCN_CNT_CODE or IMAGE_SCN_MEM_EXECUTE or IMAGE_SCN_MEM_READ
    146. ; IMAGE_SECTION_HEADER1
    147. IMAGE_SECTION_HEADER2:
    148. Name2                    db ".idata",0,0
    149. ;    union {
    150. ;            DWORD   PhysicalAddress
    151. VirtualSize2             dd IMPORT_SIZE
    152. ;    } Misc;
    153. VirtualAddress2          dd IMPORT_RVA
    154. SizeOfRawData2           dd IMPORT_SECTION_END - _IMPORT
    155. PointerToRawData2        dd _IMPORT
    156. PointerToRelocations2    dd 0
    157. PointerToLinenumbers2    dd 0
    158. NumberOfRelocations2     dw 0
    159. NumberOfLinenumbers2     dw 0
    160. Characteristics2         dd IMAGE_SCN_CNT_INITIALIZED_DATA or IMAGE_SCN_MEM_READ
    161. ; IMAGE_SECTION_HEADER2
    162. IMAGE_SECTION_HEADER2_END:
    163. times ((FILE_ALIGNMENT-1)-(IMAGE_SECTION_HEADER2_END+FILE_ALIGNMENT-1) mod FILE_ALIGNMENT) db 0
    164.  
    165. _CODE:
    166. CODE_RVA = _CODE + ((SECTION_ALIGNMENT-1)-(_CODE+SECTION_ALIGNMENT-1) mod SECTION_ALIGNMENT)
    167. szTest  db  "Test",0
    168. align 4
    169. START:
    170.     push 0
    171.     push 0
    172.     db 068h
    173.     dd (szTest-_CODE)+CODE_RVA+IMAGE_BASE
    174.     push 0
    175.     db 0FFh,015h
    176.     dd (MessageBox-_IMPORT)+IMPORT_RVA+IMAGE_BASE
    177.     push 0
    178.     db 0FFh,015h
    179.     dd (ExitProcess-_IMPORT)+IMPORT_RVA+IMAGE_BASE
    180.  
    181. _CODE_END:
    182. CODE_SIZE = _CODE_END - _CODE
    183. times ((FILE_ALIGNMENT-1)-(_CODE_END+FILE_ALIGNMENT-1) mod FILE_ALIGNMENT) db 0
    184.  
    185. _IMPORT:
    186. IMPORT_RVA = (CODE_RVA+CODE_SIZE) + ((SECTION_ALIGNMENT-1)-((CODE_RVA+CODE_SIZE)+SECTION_ALIGNMENT-1) mod SECTION_ALIGNMENT)
    187.  
    188.     dd 0,0,0,IMPORT_RVA+(kernel_name - _IMPORT),IMPORT_RVA+(kernel_table - _IMPORT)
    189.     dd 0,0,0,IMPORT_RVA+(user_name - _IMPORT),IMPORT_RVA+(user_table - _IMPORT)
    190.     dd 0,0,0,0,0
    191.  
    192. kernel_table:
    193.     ExitProcess dd IMPORT_RVA+(_ExitProcess - _IMPORT)
    194.     dd 0
    195. user_table:
    196.     MessageBox dd IMPORT_RVA+(_MessageBoxA - _IMPORT)
    197.     dd 0
    198.  
    199. kernel_name db 'KERNEL32.DLL',0
    200. user_name db 'USER32.DLL',0
    201.  
    202. _ExitProcess dw 0
    203.     db 'ExitProcess',0
    204.  
    205. _MessageBoxA dw 0
    206.     db 'MessageBoxA',0
    207. _IMPORT_END:
    208. IMPORT_SIZE = _IMPORT_END - _IMPORT
    209. IMPORT_SECTION_END = _IMPORT_END + ((FILE_ALIGNMENT-1)-(_IMPORT_END+FILE_ALIGNMENT-1) mod FILE_ALIGNMENT)
    210. times ((FILE_ALIGNMENT-1)-(_IMPORT_END+FILE_ALIGNMENT-1) mod FILE_ALIGNMENT) db 0
    211.  
    212.  
    213. ;:make
    214. ;SET PROJECTNAME=stub
    215. ;if exist %PROJECTNAME%.exe del %PROJECTNAME%.exe
    216. ;C:\Fasm\fasm.exe %PROJECTNAME%.bat %PROJECTNAME%.exe
    217. ;pause
    218. ;cls
     
  12. yuzvir

    yuzvir New Member

    Публикаций:
    0
    Регистрация:
    20 май 2005
    Сообщения:
    97
    Обычно DLL с EntryPoint = 0 используются исключительно для хранения ресурсов (правда директория импортов там тоже отсутствует)
    Хотя можно, как уже писали, и с нулевого смещения от ImageBase исполнять свой код - ничего этому не мешает.
     
  13. JCronos

    JCronos New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2009
    Сообщения:
    98
    Asterix Классно, то что нужно :)
    Всем спасибо.
     
  14. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Недвно писал статический прилинковщик dll'ок к EXE. Тоже встретил много чего интересного, например DLL может переделать себя в EXE и наоборот строчек в 5) Нужно просто проверять в maine имя главного модуля и ессли это ДЛЛ То выполять точку входа длл иначе точку входа приложения. А так как CRT поставляется в исходных кодах то млжно это сделать прямо в ней)
     
  15. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    лучше РЕ смотреть
     
  16. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    В Win7 не пашет.
     
  17. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    MSoft
    Ну я и грю что лучше сделать это в CRT или мы очём то разном?
     
  18. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    punxer
    .dll не запусится как .exe и наоборот
     
  19. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Попахивает спором)) dLL и EXE отличает только 1 бит в Файле!
     
  20. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    punxer
    ну так ты попробуй реализовать, будет интересно на это посмотреть