Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Извлечение экзешника из экзешника

Ответить
Настройки темы
PowerShell - Извлечение экзешника из экзешника

Забанен


Сообщения: 27
Благодарности: 2

Профиль | Цитировать


Суть проблемы. В экзешнике (не SFX архив) есть другой экзешник (медицинское ПО ели важно). Раньше экзешник как и положено выплёвывал 64 битный экзешник, а теперь что-то пошло не так. Разрабы из административного центра говорят, что у них всё работает и потому просто шлют нафиг. Можно ли как-то скриптом извлечь экзешник? Использование стороннего софта вроде ResHacker заблокировано на уровне политик ограниченного использования программ.

Отправлено: 20:29, 19-06-2021

 

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Смотрите в таблицу ресурсов, находите нужный, получаете его смещение и размер. Для простоты можете обратиться к модулю peview.
Код: Выделить весь код
Install-Module peview
Пример извлечения драйвера из Process Monitor Руссиновича.
Код: Выделить весь код
┌─[E:\sandbox]
└λ Import-Module peview

┌─[E:\sandbox]
└λ Get-PeResources .\test\procmon.exe
AFX_DIALOG_LAYOUT
   HISTORY_DEPTH           (RVA:000FE428, Offset:000F4A28, Size:0x2)
   USAGE                   (RVA:000FE420, Offset:000F4A20, Size:0x2)
BINRES
   RCDRIVERNT              (RVA:000FE430, Offset:000F4A30, Size:0x16F78) # драйвер
CURSOR
   21                      (RVA:000FE180, Offset:000F4780, Size:0x134)
...

┌─[E:\sandbox]
└λ [IO.File]::WriteAllBytes(
>> 'E:\sandbox\procmon.sys', (Format-Hex .\test\procmon.exe -Offset 0xF4A30 -Count 0x16F78
>> ).Bytes)

┌─[E:\sandbox]
└λ Get-PeHeaders procmon.sys
FILE HEADER VALUES
            8664 machine (AMD64)
               8 number of sections
        6080496E time date stamp (21.04.2021 15:49:02)
               0 pointer to symbol table
               0 number of symbols
              F0 size of optional header
            2022 characteristics
                   DLL
                   EXECUTABLE_IMAGE
                   LARGE_ADDRESS_AWARE
OPTIONAL HEADER VALUES
             20B magic # (PE32+)
           14.28 linker version
...
По аналогии извлекается любой другой PE файл.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:46, 19-06-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Забанен


Сообщения: 27
Благодарности: 2

Профиль | Цитировать


Хотелось бы одной командой, но все равно спасибо. Можно помечать тему решенной.

Отправлено: 19:12, 20-06-2021 | #3


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Цитировать


А как такое может быть: у exe есть иконка, а Get-PeHeaders из указанного модуля показывает что ресурсов нет?
Скрытый текст
Код: Выделить весь код
FILE HEADER VALUES
             14C machine (I386)
               3 number of sections
        4651D825 time date stamp (21.05.2007 17:34:29)
               0 pointer to symbol table
               0 number of symbols
              E0 size of optional header
...
               0 [       0] RVA [size] of Resources Directory
               0 [       0] RVA [size] of Exception Directory
               0 [       0] RVA [size] of Certificates Directory
               0 [       0] RVA [size] of Base Relocation Directory
               0 [       0] RVA [size] of Debugs Directory
               0 [       0] RVA [size] of Architecture Directory
               0 [       0] RVA [size] of Global Pointer Directory
               0 [       0] RVA [size] of Thread Storage Directory
               0 [       0] RVA [size] of Load Configuration Directory
               0 [       0] RVA [size] of Bound Import Directory
               0 [       0] RVA [size] of Import Address Table Directory
               0 [       0] RVA [size] of Delay Import Directory
               0 [       0] RVA [size] of Com Descriptor Directory
               0 [       0] RVA [size] of Reserved Directory

Name VirtSize VirtAddr DataSize RawData  Characteristics
---- -------- -------- -------- -------  ---------------
dat0 0000C000 00001000 00000000 00000400 {MEM_WRITE, CNT_UNINITIALIZED_DATA, MEM_EXECUTE, MEM_READ}
dat1 00009000 0000D000 00008400 00000400 {MEM_WRITE, CNT_INITIALIZED_DATA, MEM_EXECUTE, MEM_READ}
dat2 00001000 00016000 00000200 00008800 {MEM_WRITE, CNT_INITIALIZED_DATA, MEM_READ}

Отправлено: 16:47, 21-06-2021 | #4


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Судя по секциям, файл пожат чем-то похожим на UPX. Возможно, что это и он есть, правда видоизменённый. В бытность актуальности PEiD можно было бы глянуть в последнем, сейчас ничего не остаётся как смотреть в hex-редактор или рыскать по БД сигнатур YARA. Последняя используется не только как инструмент в борьбе с вирусами, но и для выявления пакеров и протекторов.

Отправлено: 17:33, 21-06-2021 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Извлечение экзешника из экзешника

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Помогите восстановить оперу после запуска экзешника на 95кБ!! Dvin4ik Лечение систем от вредоносных программ 7 26-12-2011 21:11
Извлечение видео из игр Guest Игры 3 18-08-2004 12:52
Извлечение ресурсов из игр Kot Игры 8 05-01-2004 04:08
чтения экзешника Chris Программирование и базы данных 3 13-07-2002 04:45




 
Переход