Page 1 of 1

exetokex

Posted: Tue Dec 04, 2012 12:55 pm
by Akyltist
Собственно использование exe2kos с SDK и c SVN не позволило мне обработать кое какие файлы, поэтому написал более универсальный конвертер. Надеюсь кому то когда нибудь поможет.

Image
Скачать удалённо: http://akyltist.ucoz.org/asm/exetokex.7z

Листинг удачного преобразования:
Spoiler:

Code: Select all

E:\Kolibri\exe2kex>exetokex ww.kos
Header Information of ww.kos
MS-DOS Header
                             Signature: MZ
                        Last PAGE Size: 0090
                   Total PAGES in File: 0003
            Number of relocation items: 0000
      Size in paragraphs of EXE header: 0004
              Minimum Extra Paragraphs: 0000
              Maximum Extra Paragraphs: FFFF
                 Initial Stack Segment: 0000
                 Initial Stack Pointer: 00B8
                 Complemented Checksum: 0000
           Initial Instruction Pointer: 0000
                  Initial Code Segment: 0000
               Relocation Table Offset: 0040
                        Overlay Number: 0000

PE Header
                                 Magic: PE
                               Machine: Intel 80386
                    Number of Sections: 0002
                       Time Date Stamp: 50BB2D06
                Pointer To SymbolTable: 00000000
                     Number Of Symbols: 00000000
               Size Of Optional Header: 00E0
                       Characteristics: 010F

 Optional Header:
                                 Magic: 010B
                        Linker Version: 5.0C
                          Size of Code: 00000140
              Size of Initialized Data: 00000008
            Size of Uninitialized Data: 00000000
                Address of Entry Point: 00000000
                          Base of Code: 000001F0
                          Base of Data: 00000330
                            Image Base: 00000000
                     Section Alignment: 00000004
                        File Alignment: 00000004
              Operating System Version: 4.0000
                         Image Version: 0.0000
                     Subsystem Version: 4.0000
                             Reserved1: 00000000
                         Size of Image: 00000338
                       Size of Headers: 000001F0
                              CheckSum: 00004A6D
                             Subsystem: Aucun
                   Dll Characteristics: 0000
                  Size of StackReserve: 00100000
                   Size of StackCommit: 00001000
                   Size of HeapReserve: 00100000
                    Size of HeapCommit: 00001000
                          Loader Flags: 00000000
                Size of data directory: 00000010

Section 1   Name: ".text   "
                          Virtual Size: 00000140
                       Virtual Address: 000001F0
                      Size of raw data: 00000140
                   Pointer to Raw Data: 000001F0
                Pointer to Relocations: 00000000
               Pointer to Line Numbers: 00000000
                 Number of Relocations: 0000
                Number of Line Numbers: 0000
                       Characteristics: 60000020

Section 2   Name: "_INIT_  "
                          Virtual Size: 00000006
                       Virtual Address: 00000330
                      Size of raw data: 00000008
                   Pointer to Raw Data: 00000330
                Pointer to Relocations: 00000000
               Pointer to Line Numbers: 00000000
                 Number of Relocations: 0000
                Number of Line Numbers: 0000
                       Characteristics: C0000040

KOLIBRI HEADER
------------------------------------------------
                                Header: MENUET01
                               Version: 00000001
                            EntryPoint: 000001F0
                             ExitPoint: 00000338
                            MemorySize: 00002000
                             StackSize: 00003000
                               Reserve: 00000000
                               Reserve: 00003000
----------------------------

Complete

Re: exetokex

Posted: Tue Dec 04, 2012 6:17 pm
by Leency
Полезная программа, респект.

Re: exetokex

Posted: Thu Oct 01, 2020 11:26 pm
by maxcodehack
А в отличии от pe2kos, если компилировать msvc программы, в начале не останутся нулевые байты?
UPD
попробовал скомпилировать table, но вместо pe2kos использовать exetokex
полученный бинарник не запускается, но и лога о падении нет, только destroy app object

может тут как раз в линковщике нужны другие параметры?

Re: exetokex

Posted: Sat Dec 05, 2020 7:50 pm
by Freeman
maxcodehack wrote:А в отличии от pe2kos, если компилировать msvc программы, в начале не останутся нулевые байты?
Чтобы не было нулевых байтов в начале, нужно компилировать с Image Base = 0 или воспользоваться PE Tool перед преобразованием в формат Колибри, как делается в Delphi SDK:

Code: Select all

pet -nologo -strip -trunc -rebase 0 -osver 0.7 -into my.exe
exe2kos my.exe

Re: exetokex

Posted: Sun Dec 06, 2020 9:51 am
by maxcodehack
Я воспользовался pet, потом перевел в формат колибри, и бинарник стал больше. Думаю мне это больше не надо, есть gcc.