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

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

Ранг: 26.9 (посетитель), 1thx
Активность: 0.050.01
Статус: Участник

Создано: 23 февраля 2014 06:13
· Личное сообщение · #1

В процессе снятия Themida с помощью скрипта LCF-AT получен дамп, в котором нерабочий импорт.
CFF Explorer функции отображает, но ImpREC их все бракует - помечает Invalid. В свою очередь ImpREC находит только один валидный модуль с Kernel32.dll.
Такой дамп можно как-то реанимировать? Есть ли методика?

--> Dump <--



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

Создано: 24 февраля 2014 15:02
· Личное сообщение · #2

Используй CHimpRec, у меня, к примеру, на 64 битной семь криво импрек определяет импорт функций ntdll, а химпом спокойно все восстанавливал без проблем.

-----
TEST YOUR MIGHT




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

Создано: 24 февраля 2014 15:13
· Личное сообщение · #3

scylla попробуй




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

Создано: 24 февраля 2014 16:31
· Личное сообщение · #4

Chris пишет:
Такой дамп можно как-то реанимировать? Есть ли методика?

Смотрим в книгу видим фигу....Сам скрипт не глядел но походу скрипт LCF-AT восстонавливает импорт сам.
Сама таблица
Code:
  1. 007BEE74 >77114880  oleaut32.SysFreeString
  2. 007BEE78 >7711A3EC  oleaut32.SysReAllocStringLen
  3. 007BEE7C >77114B39  oleaut32.SysAllocStringLen
  4. 007BEE80  00000000
  5. 007BEE84 >77DC6FEF  ADVAPI32.RegQueryValueExW
  6. 007BEE88 >77DC6A9F  ADVAPI32.RegOpenKeyExW
  7. 007BEE8C >77DC6C17  ADVAPI32.RegCloseKey
  8. 007BEE90  00000000
  9. 007BEE94 >7E3A07EA  USER32.MessageBoxA
  10. 007BEE98 >7E37B1B0  USER32.CharNextW
  11. 007BEE9C >7E369E36  USER32.LoadStringW

Ну и вызова их
Code:
  1. 00402C28   $- FF25 58EF7B00 JMP [7BEF58]                             ; kernel32.CloseHandle
  2. 00402C2E      8BC0          MOV EAX,EAX
  3. 00402C30   $- FF25 54EF7B00 JMP [7BEF54]                             ; kernel32.GetStdHandle
  4. 00402C36      8BC0          MOV EAX,EAX
  5. 00402C38   $- FF25 50EF7B00 JMP [7BEF50]                             ; kernel32.WriteFile
  6. 00402C3E      8BC0          MOV EAX,EAX
  7. 00402C40   $- FF25 4CEF7B00 JMP [7BEF4C]                             ; kernel32.GetCurrentDirectoryW
  8. 00402C46      8BC0          MOV EAX,EAX
  9. 00402C48   $- FF25 48EF7B00 JMP [7BEF48]                             ; kernel32.SetCurrentDirectoryW
  10. 00402C4E      8BC0          MOV EAX,EAX
  11. 00402C50   $- FF25 44EF7B00 JMP [7BEF44]                             ; kernel32.FindClose


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





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

Создано: 24 февраля 2014 17:08
· Личное сообщение · #5

Chris
лично у меня Imprec и Scylla подтупливали на одной сурьезной цели, неверно определяли оффсет и размер. chimprec - вроде все определяет сам. но, scylla с тех пор прилично обновлялась

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





Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 24 февраля 2014 17:17
· Личное сообщение · #6

Chris
Скрипт у неё классный, но я ни разу за всё время не смотрел на дампы, которые создаются её скриптом. Сразу после окончания работы скрипта, стоя на ОЕП я дампил сциллой и ею же прикручивал импорт, (спс SReg, что подсадил на эту замечательную туль ) предварительно посмотрев, определены ли верно границы.

-----
ds


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

Ранг: 26.9 (посетитель), 1thx
Активность: 0.050.01
Статус: Участник

Создано: 24 февраля 2014 21:38
· Личное сообщение · #7

unknownproject пишет:
Используй CHimpRec

ajax пишет:
неверно определяли оффсет и размер

Пробовал по-всякому: менял оффсет и размер, всем, что было найдено, фиксил дамп - не запускается.
drone пишет:
scylla попробуй

Пробовал, результата нет. Правда, в отличие от других, которые не запускаются молча, фиксиный ею дамп при запуске выдаёт наг:
"Точка входа в процедуру SetClassLongW не найдена в библиотеке DLL kernel32.dll"
ClockMan пишет:
Смотрим в книгу видим фигу...походу скрипт LCF-AT восстонавливает импорт сам.

Так в том и вопрос, что восстановленный скриптом импорт не работает. Таблицу видел, её же исправно показывает CFF Explorer.
DimitarSerg пишет:
Сразу после окончания работы скрипта, стоя на ОЕП я дампил сциллой и ею же прикручивал импорт

Дык, так и делал. Все пробовал: ImpREC, Scylla, CHimpREC. Но из-за того, что дамп получался не рабочий, дальше пройти было никак.




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

Создано: 24 февраля 2014 23:51
· Личное сообщение · #8

Chris пишет:
"Точка входа в процедуру SetClassLongW не найдена в библиотеке DLL kernel32.dll"

SetClassLongW - из user32.dll вообще-то. Какие-то ошибки допущены. Либо скрипт не для той версии, либо сами ошиблись.

Смотрите иксепшены в отладчике, и если не поможет, то по очереди трейсите сдампленную и в оригинальной ставьте хард бряк на адрес "забракованного" адреса, определите местоположение в коде так называемого (как я понял) "апи логгера", который возможно не один.

Я - не спец по распаковке, но скрипты облегчают жизнь, даже если не всё правильно делают сами.

-----
IZ.RU



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


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