Не запаковывается файл UPX'ом.

Тема в разделе "WASM.BEGINNERS", создана пользователем KondraT, 7 дек 2008.

  1. KondraT

    KondraT Member

    Публикаций:
    0
    Регистрация:
    22 янв 2006
    Сообщения:
    175
    Создаю файл, в конце секции .data которого записываю другой файл, ну, к примеру, TCPVIEW.EXE. Правлю в соответствии с размером записанного файла данные в заголовке.

    Файл при запуске распаковывает в темп TCPVIEW.EXE и запускает. Загрузчик винды не ругается, вроде все пучком, работает. Но вот запаковать файл UPXом или FSG! некоторые файлы не могу. UPX пишет, что section size problem, FSG! вылетает вообще.

    Файл прикрепил, поможите кто могёт. Спасибо.
     
  2. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    KondraT
    Куда?
     
  3. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    KondraT
    может быть стоит просто поксорить сам TCPVIEW, а потом запихнуть в секцию?

    интересно вот это нормально пакует:
    Код (Text):
    1. format pe gui
    2. entry main
    3.  
    4. section '.text' code readable executable
    5. main:
    6.         xor eax, eax
    7.         ret
    8.  
    9. section '.data' data readable writeable
    10. mumu:   file 'test.exe'
    исходник в студию.
     
  4. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    KondraT
    набредил я тут.

    вообщем проблема в том что вы не правильно отредактировали реальный и виртуальный размер секции .data

    у вас:
    V. Size: 0x17399
    R. Size: 0x17400 <- Ошибка, реальный размер секции больше чем на самом деле в файле 'test.exe'

    я выставил так:
    V. Size: 0x17000
    R. Size: 0x17000

    все нормально упаковал.
     
  5. KondraT

    KondraT Member

    Публикаций:
    0
    Регистрация:
    22 янв 2006
    Сообщения:
    175
    Arthur, запаковался, но сам ехе стал не рабочий.

    На самом деле всё оказалось намного прощё: не выровнял SizeOfImage = 1A339h по SectionAlign - 1B000h.
    Проверил, что виндовому загрузчику нравится, думал и пакерам сойдет, но оказалось, что им это значение надо ровнять.
     
  6. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    Да не запакованный не запускается, а вот упакованный работает :)

    UPX рулез, новая методика защиты :)
     
  7. KondraT

    KondraT Member

    Публикаций:
    0
    Регистрация:
    22 янв 2006
    Сообщения:
    175
    Ничего не пойму... Записал в конец .data секции другой файл (dumpingicq.exe, вобщем, не важно какая). Теперь при запаковке UPX ругается что NotCompressibleException. Хотя, опять же, файл полностью работоспособный и виндовый загрузчик его грузит, PETools тоже всё норм вроде:

    [​IMG]

    Размер образа выровнял... Что ему еще надо не пойму.
    FSG тоже не жмет. Файл прикрепил. Спасибо кому не лень посмотреть.
     
  8. KondraT

    KondraT Member

    Публикаций:
    0
    Регистрация:
    22 янв 2006
    Сообщения:
    175
    А вот если уменьшить размер RAW size на 200h - 18000h тогда жмёт...
    Сам RAW размер-то правильный! .data секция от 800h до 1А000h. 800h+1A000h=1A800h, что есть размер всего файла.