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

 eXeL@B —› Программирование —› Вопрос по лоадеру-2
Посл.ответ Сообщение

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

Создано: 23 января 2014 17:32
· Личное сообщение · #1

Коллеги, еще раз спасибо за наставления в теме --> Link <-- все работало как надо и было хорошо...
Теперь ситуация изменилась - возникло два вопроса.

Для начала цель:
Приложение упаковано UPX.
Нужно загрузить его с помощью лоадера и пропатчить код.
Остальное такое же как по ссылке выше.

Вопрос:
При загрузке упакованного/распакованного приложения загрузчик не находит адреса нужных функций как это было реализовано в вышеуказанной теме - подскажите куда копать в таком случае и где их, адреса импортируемых функций, искать...

Спасибо.

З.Ы. Извините старую тему закрыл по глупости...

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

Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 23 января 2014 17:44 · Поправил: Vovan666
· Личное сообщение · #2

figgler
Ну дык и перечитай ссылку выше....
Ставишь хук на последний jmp и пошел-поехал код патчить.



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

Создано: 23 января 2014 17:48 · Поправил: Rio
· Личное сообщение · #3

Code:
  1. 00469DA5    61              POPAD
  2. 00469DA6    8D4424 80       LEA EAX,DWORD PTR SS:[ESP-80]
  3. 00469DAA    6A 00           PUSH 0
  4. 00469DAC    39C4            CMP ESP,EAX
  5. 00469DAE  ^ 75 FA           JNZ SHORT Project1.00469DAA
  6. 00469DB0    83EC 80         SUB ESP,-80
  7. 00469DB3    EB 11           JMP SHORT Project1.00469DC6
  8. 00469DB5    90              NOP
  9. 00469DB6    90              NOP
  10. 00469DB7    90              NOP
  11. 00469DB8    D09D 4600E09D   RCR BYTE PTR SS:[EBP+9DE00046],1
  12. 00469DBE    46              INC ESI
  13. 00469DBF    009C30 45000000 ADD BYTE PTR DS:[EAX+ESI+45],BL
  14. 00469DC6    C605 AC334500 9>MOV BYTE PTR DS:[4533AC], 0x90
  15. 00469DCD  ^ E9 DA85FEFF     JMP Project1.004523AC

после распаковки записываем по адресу 004533AC (у тебя естественно другой) напрмер инструкцию nop и прыгаем на OEP



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

Создано: 23 января 2014 18:35 · Поправил: figgler
· Личное сообщение · #4

Может чего не понял или вопрос не правильно задал - спрошу еще раз - При загрузке упакованного/распакованного приложения загрузчик не находит адреса нужных функций как это было реализовано в вышеуказанной теме.

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

Это происходит и в запакованной версии и в заранее распакованной...

Или оно не находит адреса так как еще не распаковалось? Но тогда почему не находит в распакованной версии...?




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

Создано: 23 января 2014 20:58 · Поправил: Dr0p
· Личное сообщение · #5

> загрузчик не находит адреса нужных функций

Угадаю на личном опыте. Фейлит RtlpWalkImportDeskriptor() из за отсутствия длл флага в пе хидере. Возможно название апи немного иное, так как пишу по памяти.

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



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

Создано: 23 января 2014 21:06
· Личное сообщение · #6

Речь не о ДЛЛ...



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 23 января 2014 21:16
· Личное сообщение · #7

Закройте, чтоль тему, тс, нифига не учится....



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

Создано: 23 января 2014 21:36 · Поправил: figgler
· Личное сообщение · #8

Vovan666 извини конечно за тупость, но все же... уже и предидущую тему сто раз перечитал и перепробовал все что в голову пришло - ну вот тупо не вижу... в чем фишка?

Даже достаточно будет намекнуть почему с РАСПАКОВАННЫМ файлом поиск функций не работает - хотя раньше (до того как файл начали паковать ЮПХ) все работало...

Провел тест - взял файл который РАБОТАЕТ, запаковал , распаковал - НЕ работает...



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

Создано: 23 января 2014 22:19
· Личное сообщение · #9

figgler пишет:
Провел тест - взял файл который РАБОТАЕТ, запаковал , распаковал - НЕ работает...

ты сам ответил:
>>распаковал - НЕ работает...



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

Создано: 23 января 2014 23:37
· Личное сообщение · #10

figgler пишет:
Провел тест - взял файл который РАБОТАЕТ, запаковал , ...

-- на этом этапе работает (после упаковки)? Если нет - то UPX не подходит. Может, и не только UPX.





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

Создано: 23 января 2014 23:52 · Поправил: figgler
· Личное сообщение · #11

В общем я все еще туплю - если уважаемые гуру объяснят почему так происходит (в смысле не почему я туплю, а почему запакованное/распакованное приложение перестает работать с загрузчиком) буду весьма рад...

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

Завтра закрою тему.
Спасибо.



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 24 января 2014 02:41 · Поправил: Vovan666
· Личное сообщение · #12

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



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

Создано: 24 января 2014 04:36 · Поправил: figgler
· Личное сообщение · #13

Vovan666 пишет:
Тему нахера создавал-то?

Хотел и хочу понять почему программа неупакованная, лоадером грузится нормально (нормально в моем случае это создан процесс, остановлен, найдены необходимые адреса в таблице импорта и тд), а упакованная UPXom также как и потом распакованная (эта же) делает все тоже самое кроме связанного с таблицей импорта.

На текущий момент проблему решил используя загрузку нужной длл в лоадер после чего получаю адреса функций длл и патчу их. При этом такой метод в старом приложении не срабатывает , там я находил адреса функций через таблицу импорта. Вот и интересно почему так.




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

Создано: 24 января 2014 20:24
· Личное сообщение · #14

figgler

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

Да не гуру, вам к гадалкам. Цигане это умеют. Я вот не могу угадать. Не работает" это не описание и даже не симптом.

Отладчик не православненько как обычно


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