Сейчас на форуме: tyns777, cppasm, dutyfree (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Проблемы с дампом PE TOOLS
Посл.ответ Сообщение

Ранг: 1.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 23 октября 2017 14:41
· Личное сообщение · #1

Здравствуйте. Подскажите пожалуйста. Есть ситуация. Взял на компе произвольную программу что бы попробовать ее распаковать. Открыл PE Tools выбираю DUMP FULL. Смотрю что появляется файл размером 236Кб.

Но файл приложения имеет Вес 25МБ.

Поковырял устройство программы что в ней лежит. Получается что программа имеет встроенную вирт машину для работы Python.

После PE TOOLS взял екзешник который сдампился открыл через Olly врубил дебаг попадаю сразу в такой код на строку 76D2742B
Подскажите как с этим можно бороться программно. Насколько я понимаю стоит защита от сдампливания.
CPU Disasm
Address Hex dump Command Comments
76D27420 /$ 8BFF MOV EDI,EDI ; HEXDATA KERNEL32.InterlockedIncrement(pTarget)
76D27422 |. 55 PUSH EBP
76D27423 |. 8BEC MOV EBP,ESP
76D27425 |. 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
76D27428 |. 33C0 XOR EAX,EAX
76D2742A |. 40 INC EAX
76D2742B |. F0:0FC101 LOCK XADD DWORD PTR DS:[ECX],EAX
76D2742F |. 40 INC EAX
76D27430 |. 5D POP EBP
76D27431 \. C2 0400 RETN 4



Ранг: 222.2 (наставник), 115thx
Активность: 0.140.01
Статус: Участник

Создано: 23 октября 2017 15:27
· Личное сообщение · #2

Проверьте чем упакована программа, для этого отлично подойдёт инструмент DiE упакована ли программа вообще? Так же стоит обратить внимание на структуру файла. Если вашей программой используется интерпретатор(в Вашем случае это Python) то стоит обратить внимание на оверлей, в этом случае данные из оверлея дамперы не в состоянии переносить на автомате, но это можно делать вручную. А вообще лучше выложить исследуемый файл, что б можно было что-то посмотреть.

-----
все багрепорты - в личные сообщения




Ранг: 1.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 23 октября 2017 15:37
· Личное сообщение · #3

Peid говорит что Microsoft Visual C++ 8.0 [Overlay] *

Добавлено спустя 12 минут
HandMill так не интересно будет, если выложить файл, могут написать ответ) А как руками можно сдампить из оверлея? есть какая то документация?

Добавлено спустя 14 минут
HandMill или может какую то книжку посоветуете полистать что бы процесс понять



Ранг: 222.2 (наставник), 115thx
Активность: 0.140.01
Статус: Участник

Создано: 23 октября 2017 17:17 · Поправил: HandMill
· Личное сообщение · #4

vladimirMe пишет:
какую то книжку посоветуете полистать что бы процесс понять

если PEiD так говорит, то файл скорее всего не упакован вовсе(можно быть в этом уверенным с высокой долей вероятности), убедитесь проверкой в DiE, он скажет более точно чем PEiD. Но можно быть уверенным что насчёт overlay(это то о чём я писал в первом сообщении) инструмент PEiD Вам не соврал. Сперва Вам нужно ознакомиться что вообще такое этот самый оверлей, на который указывает PEiD, и с чем его едят. Темы про оверлей на форуме уже были. Если вкратце то оверлей это всё остальное пространство файла, которое не вписалось в размер, предусмотренный PE форматом(расположен обычно за последним адресом, имеющим отношение к PE формату). Вам нужно загрузить этот EXE в дизассемблер IDA Pro или OllyDBG и найти и изучить ссылки на оверлей, обычно работа с оверлеем производится при помощи вызова функций чтения файлов ReadFile / ReadFileEx / CreateFileMapping. Если Вы не в курсе о том как работают эти функции то нужно ознакомиться и с этим. К использованию инструмента PE TOOLS прибегать вовсе не нужно.

-----
все багрепорты - в личные сообщения




Ранг: 58.1 (постоянный), 42thx
Активность: 0.060.01
Статус: Участник

Создано: 24 октября 2017 06:44 · Поправил: hlmadip
· Личное сообщение · #5

А зачем дампить если программа не запакована? И дампить следует стоя на OEP, с последующим фиксом импорта.



Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 24 октября 2017 09:22
· Личное сообщение · #6

vladimirMe пишет: Получается что программа имеет встроенную вирт машину для работы Python

Для питона существует несколько билдеров в один исполняемый файл и есть несколько компиляторов для сборки скриптов в натив, хз, что там у вас, но упоминания питона будет в любом случае, как и мелькание док-стрингов если их не стрипнули при сборке. Дампить там нечего, определите чем собран бинарь и ищите экстрактор скриптов, под все популярные билдеры таковые имеются, а если натив то только в IDA изучать.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 24 октября 2017 19:40
· Личное сообщение · #7

vladimirMe

> попадаю сразу в такой код на строку 76D2742B

Code:
  1. 76D2742B |. F0:0FC101 LOCK XADD DWORD PTR DS:[ECX],EAX
  2. 76D2742F |. 40 INC EAX
  3. 76D27430 |. 5D POP EBP
  4. 76D27431 \. C2 0400 RETN 4 


> Подскажите как с этим можно бороться программно. Насколько я понимаю стоит защита от сдампливания.

Тоесть вы попадаете в процедуру, которая выполняет обычный синхронный обмен значением в переменной и делаете вывод что это антидамп и спрашиваете как это обойти(что ?) путём коденга

Опустим этот бред, вернёмся к дампу. Невозможно связать дамп с динамикой - с перезапуском процесса, это приведёт к пересозданию км обьектов, новые адреса. Даже если отключить юм рандомизацию, то врядле что получится. Каким образом и для чего вы выполнили дамп и пытаетесь его завести в новом процессе - предсказать сложно. Обычно такие извраты нужны если падает клиентский софт и нет возможности для удалённой отладки.

Иначе зачем создавать себе эти проблемы, если есть рабочий процесс ?

=> суть задачи не описана, а просто скрыта.

-----
vx




Ранг: 1.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 октября 2017 11:10
· Личное сообщение · #8

я просто изначально думал что Overlay это упаковка, потом понял что нет. Просто открывал изначально файл в olly он какой то неполный там открывается. А в IDA открылся полный файл. В самой программе спрашивает пароль, когда вводишь неверный пароль, вылазит алерт соответственно Incorrect password, пробовал искать эти строки по всем файлам что в программе, фиг находит, пробовал по отдельности также фиг. Возможно ли что сделали в программе по символьное разбитие по разным адресам строк, а потом какой то алгоритм собирает символы в слово? Я примерно так понимаю, если нету статичных записей.



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 25 октября 2017 13:46
· Личное сообщение · #9

vladimirMe, ищите не строку Incorrect password, а ставьте бряки на появление ошибки о неверном пароле: ПКМ-> Search for -> All intermodular calls и ставьте бряки на MessageBoxA, ShowWindow, а затем трассируйте и ищите место проверки.



Ранг: 1.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 октября 2017 13:51
· Личное сообщение · #10

это я делал, нету реакции никакой если breakpoin ставить на MessageBoxA.



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 25 октября 2017 13:58
· Личное сообщение · #11

Было бы легче, если бы ты выложил жертву. Гадать можно еще очень долго



Ранг: 1.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 октября 2017 14:14
· Личное сообщение · #12

Жертва вот https://download.electrum.org/2.9.3/electrum-2.9.3-setup.exe . После установки открыл файл electrum-2.9.3.exe в отладчике. Открытый исходник есть под линукс.

Добавлено спустя 1 минуту
любопытно как устроен обмен с блокчейном изнутри.



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 25 октября 2017 15:05 · Поправил: TryAga1n
· Личное сообщение · #13

Твой ехешник - питоний интерпретатор. Основной код содержится в оверлее, поэтому мессаджбоксы и не ловятся, а так же строки ты не можешь найти. Думаю помимо всего там используется шифрование, поэтому банальное сравнение пароля и обход сообщения об ошибке тебе не поможет. Сначала нужно разобрать оверлей, а потом идти дальше. Скриптов там до жопы, декомпилить и декомпилить

p.s.: только что прочитал весь тред с начала, HandMill - ванга)

| Сообщение посчитали полезным: ajax


Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 25 октября 2017 15:23
· Личное сообщение · #14

TryAga1n терзала похожая мысль по оверлеям

-----
От многой мудрости много скорби, и умножающий знание умножает печаль



 eXeL@B —› Вопросы новичков —› Проблемы с дампом PE TOOLS
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати