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

 eXeL@B —› Протекторы —› Помогите с Pecompact 3.xx
Посл.ответ Сообщение

Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 декабря 2011 13:55 · Поправил: sas123
· Личное сообщение · #1

Кто сталкивался с распаковкой библиотек сжатых Pecompact 3.xx,
расскажите пожалуйста порядок действий.
В --> этой <-- теме ув. тов. PE_Kill давал распакованный файл и написал что остались релоки,
но восстановить две секции RVA я так и не смог, даже импортируя правильные заголовки через IMPREC,
они или зашифрованы или битые.
Большая просьба, покажите на --> этом <-- примере,
как првильно распаковать Pecompact 3.xx,
те кто думают что он распаковывается также, как pecompact 2.xx,
ошибаются или докажите обратное на dll-ке.




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 27 декабря 2011 14:16
· Личное сообщение · #2

sas123
Покажи свои наработки или иди в запросы на взлом,здесь тебе никто нечем необязон...

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 27 декабря 2011 14:27
· Личное сообщение · #3

sas123 пишет:
В --> этой <-- теме ув. тов. PE_Kill давал распакованный файл и написал что остались релоки

Я там полностью рабочий файл выкладывал.

sas123 пишет:
те кто думают что он распаковывается также, как pecompact 2.xx,
ошибаются или докажите обратное на dll-ке.

Круто, все кинуль доказывать. Я кстати в той теме написал, что если не хочешь именно УЧИТЬСЯ анпакать, то в запросы и не будет флудотопа.

-----
Yann Tiersen best and do not fuck




Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 декабря 2011 14:35 · Поправил: sas123
· Личное сообщение · #4

Написал маленький скриптик (в аттаче) под olly (нужен плагин OllyAdvancedс включенными функциями IsDebuggerPresent и IsDebuggerPresent).
который на OEP отображает заголовки API функций из самой dll:
Запустив его и пройдя по F9 и F7 оказываемся на OEP c расшифрованными заголовками (imprec видит все функции).
проблема: снять дамп или правильно импортировать IAT.




2480_27.12.2011_EXELAB.rU.tgz - _2_.txt



Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 декабря 2011 14:43 · Поправил: sas123
· Личное сообщение · #5

PE_Kill пишет:
Я там полностью рабочий файл выкладывал.

там нерабочие WS2_32 и OLEAUT32 и заголовки битые или зашифрованы.
p.s. sas123 пишет:
..или докажите обратное на dll-ке.

Я это написал к тому что метод распаковки PEC2 не подойдет к PEC3 в корне,
т.к. на OEP названия функция зашифрованы,
а на pec2 достаточно добраться до OEP, снять дамп и восстановить ресурсы,
здесь это не пройдет.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 27 декабря 2011 16:05 · Поправил: PE_Kill
· Личное сообщение · #6

sas123 пишет:
т.к. на OEP названия функция зашифрованы

Пек никогда ничего не шифрует. У него всё оформлено плагинами, значит применили просто один из плагинов. Оно и в 2.х так.

sas123 пишет:
там нерабочие WS2_32 и OLEAUT32 и заголовки битые или зашифрованы.

И что это значит?

-----
Yann Tiersen best and do not fuck




Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 декабря 2011 16:22 · Поправил: sas123
· Личное сообщение · #7

PE_Kill пишет:
И что это значит?



до следующей секции не будет заголовков функций API.
p.s. знаю что dll сжата чистым PEC без использования плагинов.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 27 декабря 2011 16:29
· Личное сообщение · #8

Почитай что такое импорт по ординалам. Там и не должно быть имен API.

-----
Yann Tiersen best and do not fuck




Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 декабря 2011 16:55 · Поправил: sas123
· Личное сообщение · #9

Импорт по ординалом изначально используется в сжатом файле,
а также присутствуют virtualalloc и virtualfree в kernel32.dll.
Я к тому что в том виде, что Вы дали, dll была не рабочей,
если через ImpRec импортировать недостающие заголовки к WS2_32 и OLEAUT32,
то dll запускается, но работает некорректно,
может есть способ импортировать их корректно без ImpREC.
Можете поделиться секретом как распаковали прошлую dll, думаю многим это будет полезно?
p.s. в аттаче 2 дерева импорта к новой dll валидное и невалидное (не хватало 2-х функций).

0471_27.12.2011_EXELAB.rU.tgz - imprec.rar




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 27 декабря 2011 17:49
· Личное сообщение · #10

sas123 пишет:
Импорт по ординалом изначально используется в сжатом файле,

sas123 пишет:
если через ImpRec импортировать недостающие заголовки к WS2_32 и OLEAUT32,

ЧТО ТАКОЕ ЗАГОЛОВКИ? Если импорт идет по ординалам, то это не значит, что у ординалов нет имени. Короче толкучка воды. Что не работает неясно, формат PE не знаем, но утверждаем какие то непонятные тезисы...

-----
Yann Tiersen best and do not fuck




Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 декабря 2011 17:58
· Личное сообщение · #11

Заголовки - я имел ввиду названия API функций к библиотекам WS2_32 и OLEAUT32.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 28 декабря 2011 11:04
· Личное сообщение · #12

Что-то я никак не пойму суть проблемы, аффтор юзает какие-то свои термины, чем вводит в заблуждение. Ну, хочется поюзать импрек, бывает, ну тогда ситуация мне видится примерно так. Нашёл ОЕР, нашёл вызов какой-то API функции, по ней определил начало и конец IAT. Прекрасно, открыл импрек и вписал туда эти значения. А то, что цель изначально юзала ординалы - ну ладно, так или иначе обращения к API из кода программы идут, а значит где-то есть сами адреса, по которым можно создать новый массив из IMAGE_IMPORT_DESCRIPTOR's, то бишь таблицу импорта. Что именно не получается?

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 28 декабря 2011 12:32
· Личное сообщение · #13

ARCHANGEL у него что то не работает, но вот что он не хочет говорить, и пытается что то сделать, опять же непонятно что. Т.е. основная мысль топика - ЧТО ТО НЕ РАБОТАЕТ. Ну а дальше ждем экстрасенсов.

-----
Yann Tiersen best and do not fuck




Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 декабря 2011 16:28 · Поправил: sas123
· Личное сообщение · #14

ARCHANGEL пишет:
так или иначе обращения к API из кода программы идут, а значит где-то есть сами адреса, по которым можно создать новый массив из IMAGE_IMPORT_DESCRIPTOR's, то бишь таблицу импорта. Что именно не получается?

Для импорта использовал скрипт Mr. eXoDia:
Code:
  1. //-----CHANGE DATA ONLY HERE!---
  2. mov addr_start, 6D4DE12F //(Place your start addr here)
  3. mov addr_end, 6D5052AF //(Place your end addr here)
  4. mov redirect_base, 00840000 //(put the address of your first import here)
  5. //------------------------------
  6.  
  7. add addr_end,7 //DO NOT REMOVE THIS!
  8. jmp loop
  9.  
  10. skip:
  11. msg "Invalid (?) import found, try GetProcAddress or IsDebuggerPresent"
  12. add redirect_base,7
  13. add addr_start,4
  14.  
  15. loop:
  16. mov import, [redirect_base+1], 4
  17. cmp 70000000, import
  18. ja skip
  19. mov [addr_start], import
  20. add addr_start,4
  21. add redirect_base,7
  22. cmp addr_start,addr_end
  23. jnz loop
  24. ret
  25. //----------------------------------------

Не получается найти начало и конец таблицы импорта addr_start и addr_end,
в аттаче все Found intermodular calls.
А imprec (таблица импорта под него 5-ю постами выше) не получается использовать,
т.к. не выходит снять корректный дамп и почему это происходит можно почитать здесь (посты от redblkjck) .


483f_28.12.2011_EXELAB.rU.tgz - imc.txt


 eXeL@B —› Протекторы —› Помогите с Pecompact 3.xx
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати