Куча говна / Говнокод #25861 Ссылка на оригинал

0

  1. 1
Забаньте stertor'а.

Запостил: inkanus_gray inkanus_gray, (Updated )

Комментарии (39) RSS

  • Если бы. Этот день стал бы самым счастливым для меня.
    Ответить
  • Ахах
    Turbo Dump  Version 6.5.2.0 Copyright (c) 1988-2014 Embarcadero Technologies, Inc.
                        Display of File stub.bin
    
    Old Executable Header
    
    DOS File Size                                       1740h  (  5952. )
    Load Image Size                                     1460h  (  5216. )
    Relocation Table entry count                          0026h  (    38. )
    Relocation Table address                              0040h  (    64. )
    Size of header record      (in paragraphs)            000Eh  (    14. )
    Minimum Memory Requirement (in paragraphs)            052Dh  (  1325. )
    Maximum Memory Requirement (in paragraphs)            A52Dh  ( 42285. )
    File load checksum                                    0000h  (     0. )
    Overlay Number                                        0000h  (     0. )
    
    Initial Stack Segment  (SS:SP)                    0243:4000
    Program Entry Point    (CS:IP)                    0000:0180
    
    Relocation Locations (38 Entries)
    
        0000:0008    0000:0020    0000:009B    0000:00AC    0000:00CD
        0000:00D7    0000:00E7    0000:0115    0000:0142    0000:0183
        0000:018E    0000:01A6    0000:01AB    0000:01BE    0000:01C3
        0000:01D2    0000:01D7    0000:01F3    0000:01F8    0000:0211
        0000:0216    0000:021B    0000:024D    0000:0252    0000:0264
        0000:026F    0000:027C    0000:0299    0000:029E    0000:02A3
        0000:02AD    002B:0001    002B:011B    002B:0310    002B:0CE9
        002B:0D04    002B:0D1A    002B:0D39
    
    ERROR: Unknown secondary signature: 5A4D
    Ответить
    • смутно помню что MZ можно писать и как MZ, но видимо абракадабро про это не знает

      Ай да Марк Збыковски, ай да плевок в вечность
      Ответить
      • Лол, сейчас попробую вутесвопнуть и посмотреть чего получится
        Ответить
        • Нет, тепрь по другому обсирается
          Turbo Dump  Version 6.5.2.0 Copyright (c) 1988-2014 Embarcadero Technologies, Inc.
                               Display of File stub.bin
          
          Old Executable Header
          ERROR: Invalid signature for an .EXE file - found 4D5A, expected 5A4D
          Ответить
          • Прошу прощения, а что за прыщепердолинг вы обсуждаете?
            Ответить
            • Лично я змиюсь с трубо дупа, который нашел в заголовке e_lfanew = 00000000, туда сикнул и прочитал заголовок еще раз, удивившись сигнатуре MZ
              Ответить
              • А я ламер, я забыл про байтордер и 5A4D прочитал как ZM.
                А почему он два раза прочитал?
                Потому что указатель lfanew на тт же самый хедер?
                а какой магикнамбер должен быть у новово хедера?
                Ответить
                • Я проверил, оно запускается и с MZ и с ZM. Марк охуенно себя увековечил.

                  >> указатель lfanew на тт же самый хедер
                  >>
                  Ну он просто обнулен чтобы вопросов не возникало.

                  >> какой магикнамбер
                  >>
                  Их много разных бывает
                  Ответить
                  • тогда почему обосрался турбо? и что такое вторичный зоголовок?
                    Ответить
                    • вероятно потому что слепленных вместе MZ + MZ не бывает, так бы он вообще зациклился
                      Ответить
                • >> а какой магикнамбер должен быть у новово хедера?

                  PE у экзешников (а также dll, sys etc) Win32 (и Win64). 32-битные и 64-битные отличаются «моделью процессора», которая идёт вскоре после сигнатуры.

                  NE у 16-битных экзешников Windows 3.x и OS/2.

                  LE у VXD в Windows 3.x и 95/98/Me. Они 32-битные, кстати.

                  LX у 32-битных экзешников OS/2.

                  Другие сигнатуры используются расширителями DOS. Но зачастую даже у расширителей DOS сигнатуры стандартные (например, LE у DOS4GW, PE у борландовского 32RTM).
                  Ответить
                  • тогда почему обосрался турбо? и что такое вторичный зоголовок?!
                    Ответить
                    • вероятно потому что слепленных вместе MZ + MZ не бывает, так бы он вообще зациклился
                      Ответить
                    • Ну вообще e_lfanew = 00000000 означает, что второго заголовка не будет, это чистый досовский экзешник (без виндовой или какой-то ещё части).

                      Почему обосралась утилита «Turbo Dump», я не знаю. По идее она должна была ответить, что больше заголовков нет.
                      Ответить
                      • >> e_lfanew = 00000000 означает, что второго заголовка не будет
                        >>
                        А это есть в спеках?
                        Ответить
                        • Надо поглядеть.

                          Смотри, когда-то «Windows» и «OS/2» не было, файлы с сигнатурой MZ были только для «DOS». Потом под e_lfanew приспособили одно из неиспользуемых полей. Угадай, чем старые линкеры по умолчанию забивали неиспользуемые поля.
                          Ответить
                          • >> одно из неиспользуемых полей
                            >>
                            Ничего подобного. Заголовой DoS - 28 байт.
                            Ответить
                            • Ты прав. Всё, что после e_ovno (количество оверлеев), не является обязательным. e_lfanew как раз находится в необязательной части и может быть засрано чем угодно. Чтобы убедиться, что e_lfanew не перекрыто кодом, нужно проверить размер заголовка (e_cparhdr). Если размер заголовка позволяет вместить e_lfanew, то его можно читать, иначе его и смотреть бессмысленно.
                              Ответить
                            • struct DOS_Header 
                               {
                              // short is 2 bytes, long is 4 bytes
                                   char signature[2] = { 'M', 'Z' };
                                   short lastsize;
                                   short nblocks;
                                   short nreloc;
                                   short hdrsize;
                                   short minalloc;
                                   short maxalloc;
                                   void *ss; // 2 byte value
                                   void *sp; // 2 byte value
                                   short checksum;
                                   void *ip; // 2 byte value
                                   void *cs; // 2 byte value
                                   short relocpos;
                                   short noverlay;
                                   short reserved1[4];
                                   short oem_id;
                                   short oem_info;
                                   short reserved2[10];
                                   long  e_lfanew; // Offset to the 'PE\0\0' signature relative to the beginning of the file
                               }


                              я хз что эти дятлы из pre99 времен называют словом шот, но думаю что это два байта

                              как-то выходит сильно больше 28ми

                              правда, все что ниже cs может уже и новодел
                              Ответить
                              • Всё, что ниже noverlay, является новоделом.

                                relocpos — это важная инфа, она указывает на таблицу, само существование которой отличает EXE от COM. Без этой таблицы EXE-файл нельзя загрузить по произвольному адресу.

                                Использовалось ли где-то поле noverlay, я не знаю. Например, Борланд стандартные досовские оверлеи не использовал, он использовал свой формат оверлеев с сигнатурой FBOV. Оверлей можно было пришить к экзешнику подобно тому, как PE пришивается к MZ.
                                Ответить
                                      • нет, это для программитов

                                        тебе там не инересно будет, забей
                                        Ответить
                                        • >> twirpx
                                          >> для программитов
                                          Как же я угораю, с ватн­ика-программита!

                                          Кстати, у книги какая-то хуита с годом издания 1999 или 2000

                                          А еще
                                          $Revision: 2.2 $
                                          $Date: 1999/06/09 00:48:48 $
                                          вместо библиографической справки
                                          Ответить
                                    • Почти дословно повторяет майкрософтовский текст, лол.
                                      Ответить
                                      • Алсо, ни слова про NE и прочие LX, говно, короче.
                                        Ответить
                                        •                                                                ,                                         ..  ..  ..     
                                          `7MMF'  ,d8o                              69  69        ,dMMMP'                                           `bq `bq `bq   
                                            MM   6P'                                 `--'        dP                                                   YA  YA  YA  
                                            MM  ,9      ,6"Yb.  `7MM' ,M8 ,pW"Wq.`7MMF'`7MMF'    M,dW"Wb.   ,6"Yb.  `7MM"""M ,pW"Wq.`7MMpdMAo.        `Mb `Mb `Mb 
                                            MMmd<      8)   MM    MM  j  6W'   `Wb MM   ,MM      MW'   `Wb 8)   MM    MM   `6W'   `Wb MM   `Wb         8M  8M  8M 
                                            MM  `YM.    ,pm9MM    MMmd   8M     M8 MM ,' MM      MM     M8  ,pm9MM    MM    8M     M8 MM    M8         8M  8M  8M 
                                            MM   `Mb   8M   MM    MM `M  YA.   ,A9 MM'   MM      YA.   ,A9 8M   MM    MM    YA.   ,A9 MM   ,AP        ,M9 ,M9 ,M9 
                                          .JMML.  `MMa.`Moo9^Yo..JMM. YMk `Ybmd9'.JMML..JMML.     `Ybmd9'  `Moo9^Yo..JMML.   `Ybmd9'  MMbmmd'         dM  dM  dM  
                                                                                                                                      MM            .pY .pY .pY   
                                                                                                                                    .JMML.         ''  ''  ''
                                          Ответить
                                        • lol
                                          
                                          
                                                         ____                    _____     _   _   _   _    _    
                                           _   _   _ __ |  _ \ ___    _ __  _   |_   _|__ | | | | | | | |  / \   
                                          | | | | | '_ \| |_) / _ \  | '_ \| | | || |/ _ \| |_| | | |_| | / _ \  
                                          | |_| | | | | |  __/ (_) | | | | | |_| || | (_) |  _  | |  _  |/ ___ \ 
                                           \__,_| |_| |_|_|   \___/  |_| |_|\__,_||_|\___/|_| |_| |_| |_/_/   \_\
                                                                                                                 
                                          __        ___      __  ______  
                                          \ \      / (_)_ __ \ \/ /  _ \ 
                                           \ \ /\ / /| | '_ \ \  /| |_) |
                                            \ V  V / | | | | |/  \|  __/ 
                                             \_/\_/  |_|_| |_/_/\_\_|
                                          Ответить
                              • Это у ватников. У Чака Норриса, например, экзешники вообще без заголовка.
                                Ответить
                      • может турбо дампу похую на досовские икзешники в 2014 годуу?
                        Ответить
                        • А вот это всё он вывел не для досовского экзешника?
                          Initial Stack Segment  (SS:SP)                    0243:4000
                          Program Entry Point    (CS:IP)                    0000:0180


                          Значит, дампилку досовской части всё-таки сохранили, но убрали какой-то if, который проверяет отсутствие второй части.
                          Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8