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

 eXeL@B —› Программирование —› Лоадер для .NET приложения (Hook API)
Посл.ответ Сообщение


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

Создано: 11 сентября 2010 21:54
· Личное сообщение · #1

Собственно сабж. Кто нибудь делал?
Нужно засплайсить функцию в kernel32.dll

Проблема в том, что при CREATE_SUSPEND нельзя читать/писать в системные модули. EP тоже не пропатчишь, ибо там p-code. mscoree.dll так же не пропатчить в процессе, т.к. уже выше написал, что нельзя читать/писать, даже VirtualProtect не помогает.

При инжекте длл в процесс через CreateRemoteThread начинает выполняться p-code и длл при этомне грузится.

Варианты пока вижу только такие:
Debug API - слишком муторно и не люблю юзать не по назначению.
Подмена контекста основной нити - попахивает нестабильностью.

Может есть еще какие варианты?

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




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 11 сентября 2010 22:31
· Личное сообщение · #2

Ну там на EP вызывается функция из mscoree.dll (точно также как в VB вызывается ВМ), ибо файл прежде всего формата PE. Если нет проверок CRC, можно зайнлайнить. Если именно лоадер, то ставим цикл на EP.

P.S. С возвращением)




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 11 сентября 2010 22:32 · Поправил: zeppe1in
· Личное сообщение · #3

PE_Kill пишет:
При инжекте длл в процесс через CreateRemoteThread начинает выполняться p-code и длл при этомне грузится.

а потом если сделать Resume основному потоку то выполняется загрузка длл). хз почему так происходит.
Причом у Курапицы на вин7 эта схема работает нормально. я не тестил.

Инжект через подмену контекста основной нити работает на ура.
вот попробуй мою поделку трейсер) ну и свою длл сможеш заинжектить.
http://www.sendspace.com/file/86geyq
int
на еп нифига не останавливается

-----
zzz





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

Создано: 11 сентября 2010 22:42 · Поправил: PE_Kill
· Личное сообщение · #4

int пишет:
Ну там на EP вызывается функция из mscoree.dll (точно также как в VB вызывается ВМ), ибо файл прежде всего формата PE.

В том то и дело, что не вызывается, до EP не доходит, сразу после загрузки mscoree.dll начинает выполняться p-code.

int пишет:
Если нет проверок CRC, можно зайнлайнить.

CRC нет, но при изменении байткода файл вываливается в ошибку. Это вроде встроеная защита .NET если не ошибаюсь. В любом случае софт часто обновляется, нужен лодырь.

int пишет:
Если именно лоадер, то ставим цикл на EP.

Хз как ставить, попробывал зациклить EBFE на еп, вывалило
---------------------------
NET Framework Initialization Error
---------------------------
Unable to find a version of the runtime to run this application.
---------------------------
ОК
---------------------------

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




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 11 сентября 2010 22:45
· Личное сообщение · #5

Запустить под отладкой, потом отцепиться (детач). Нет?




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

Создано: 11 сентября 2010 22:51
· Личное сообщение · #6

PE_Kill пишет:
Debug API - слишком муторно и не люблю юзать не по назначению.


Посмотрел код zeppe1in - работает, только я пока не вкурил как контекст восстанавливается, старею. zeppe1in может сорсов докинешь?

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





Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

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

PE_Kill
не вопрос.



1c0f_11.09.2010_CRACKLAB.rU.tgz - NetInject.cpp

-----
zzz





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

Создано: 11 сентября 2010 22:58
· Личное сообщение · #8

О блин, только хотел написать что в иде уже разобрал всё. Но всё равно спасибо.

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




Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

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

http://www.wasm.ru/forum/viewtopic.php?pid=386205#p386205




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

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

Clerk ну мне как бы уже давно теория не интересна, сейчас несколько иные интересы. Там в .NET надо вникать так же, как в PE, очень много заморочек. Только вот целесообразности нет, если каждый день дела не имеешь.

В любом случае всем спасибо за помощь.

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




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 13 сентября 2010 09:07
· Личное сообщение · #11

офтоп: не из-за arteester'a сыр-бор?




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 18 сентября 2010 16:14
· Личное сообщение · #12

Через подмену в IAT на mscoree.dll будет тебе щастье

-----
have a nice day



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


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