Сейчас на форуме: Dart Raiden, Alf (+6 невидимых)

 eXeL@B —› Основной форум —› армадилина
Посл.ответ Сообщение

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

Создано: 05 сентября 2004 09:24
· Личное сообщение · #1

Щас вот сижу копаю прогу с армой, линг на которую мне дал saniassin. Sothink SWF Decompiler... OEP нашел(у меня спец. свой скрипт для олли), нечитаемую секцию кода сдампил думпером Астерикса, а дальше стал париться с импортом.
IAT Elimination я понял что такое. ну тут можно подменить адрес на свой, в этом ниче сложного нет. Но в этой проге импорт перемешан, то есть в одном FThunk могут быть функции с разных библиотек... это что, тоже фича армы или же такой компилятор(по данным saniassin - Visual C++ 7.0). Вот вроде в проге, предложенной MC707(Asterisk Password) ВРОДЕ с импортом в этом плане все фпоряде(но таки elimination есть).



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

Создано: 05 сентября 2004 10:28
· Личное сообщение · #2

IAT в SWFDecompiler`е можно восстановить так:
Арма сначала создаёт нормальную IAT (можно отловить, поставив бряк на адрес с IAT), скопируй её куда-нить, а затем в цикле записи адресов ф-ций в секцию кода я дописывал цикл поиска адресов в нормальной IAT.
Главное создать нормальную и покорёженную (т.е. Eliminated) IAT без переходников (как я не помню уже )



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

Создано: 05 сентября 2004 10:44
· Личное сообщение · #3

так функции не будут перепутаны?



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

Создано: 05 сентября 2004 10:57
· Личное сообщение · #4

Дык я ж говорю, что надо цикл поиска адресов в нормальной IAT написать (типа mov ecx, адрес ф-ции в Eliminated IAT, mov ebx, адрес первой ф-ции в нориальной IAT, cmp ebx, ecx add ebx,4 и т.д.)




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 05 сентября 2004 11:03
· Личное сообщение · #5





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

Создано: 05 сентября 2004 11:03
· Личное сообщение · #6

значит ты распаковал прогу эту?



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 05 сентября 2004 11:05
· Личное сообщение · #7

> секцию кода сдампил думпером Астерикса

О, значит дампер ещё актуален?
Тогда может релизнуть новую версию, ибо в предыдущей имеется пару багов в интерфейсе..

1178670889__dumper.png



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

Создано: 05 сентября 2004 11:08
· Личное сообщение · #8

Asterix пишет:
О, значит дампер ещё актуален?

ну не знаю, чем его заменить
как еще сдампить секцию кода, как не им?
а ведь арма вроде 3.75, раз elimination
только сразу дампить он там отказывается, а только когда потрейсишь во втором треде




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 05 сентября 2004 11:16
· Личное сообщение · #9

хм... а разве в арме с elimination бывает нормальный копимем (1000 байт) ???



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 05 сентября 2004 11:18
· Личное сообщение · #10

> только сразу дампить он там отказывается, а только когда потрейсишь во втором треде

Я делал по другому, отлавливаю момент когда страница в которой находится OEP восстановится самой армой, потом открываю эту страницу памяти в WinHEX и пихаю два байта на OEP - 0EBh, 0FEh
т.е. jmp $, потом можно дампить



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

Создано: 05 сентября 2004 11:23
· Личное сообщение · #11

Asterix пишет:
Я делал по другому, отлавливаю момент когда страница в которой находится OEP восстановится самой армой, потом открываю эту страницу памяти в WinHEX и пихаю два байта на OEP - 0EBh, 0FEh
т.е. jmp $, потом можно дампить

я между прочим также и делал - вбивал EB FE на OEP после третьего срабатывания WriteProcessMemory. но страница не дампится.




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 05 сентября 2004 11:26
· Личное сообщение · #12

дык я что-то так и не въехал - зачем нужен дампер для 2-х байтного копимема ?



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 05 сентября 2004 11:48
· Личное сообщение · #13

> я между прочим также и делал

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



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

Создано: 05 сентября 2004 12:00 · Поправил: sanniassin
· Личное сообщение · #14

Нормальную секцию кода можно дампить сразу после записи адресов ф-ций в секцию кода.



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

Создано: 05 сентября 2004 12:45
· Личное сообщение · #15

Asterix пишет:
ты забыл отпустить родительский процесс..

точно! ну тогда фтопку дампер


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


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