Сейчас на форуме: Rio, tyns777, zombi-vadim (+7 невидимых) |
eXeL@B —› Программирование —› Инжект .Net кода |
Посл.ответ | Сообщение |
|
Создано: 28 мая 2014 16:44 · Личное сообщение · #1 Привет всем! Появился вопрос. Имеется .net приложение, надобно внедрить код в него. Нужно это для доступа к переменным, массивам, да и что бы код ран тайм изменить. Задача заставить фремворк выполнить мой код. Это реализуемо? Если да, то как? я понимаю что значения можно из без этого изменить и что я могу сам код программы изменить. |
|
Создано: 28 мая 2014 17:39 · Личное сообщение · #2 |
|
Создано: 28 мая 2014 17:41 · Личное сообщение · #3 Да, реализуемо, множеством способов - от статического инжекта своего кода в IL сборки, до рантайм инжекта в JITнутый код. В гугле масса материалов на тему, изучайте хоть до посинения, а затем задавайте вопросы по существу, если они останутся, либо направляйтесь сразу в ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 28 мая 2014 17:42 · Поправил: vovanre · Личное сообщение · #4 |
|
Создано: 04 июня 2014 01:34 · Личное сообщение · #5 Dr0p В сети полно способов инжекта в дотнет, как нативных, так и managed либ. Особые извращенцы ещё практикуют инжект в отJITтенный код. Сам инжектил managed в managed (разными способами, в том числе через нативный CLR загрузчик) - работало нормально. В общем, дайте человку разорбраться и сделать выводы, сдюжит он или нет, благо материалов для изучения, ровно как и примеров в гуглах - пруд пруди + возможно тема для него уже вообще не актуальна. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 04 июня 2014 01:45 · Личное сообщение · #6 Dr0p пишет: Мб потестим ? Запросто, а что бы не было скучно, то я даю результат и ты сваливаешь или же не даю и сваливаю я. Ты на столько зеленый, что даже не знаешь, что так снимают многие бяки и не только в dot net. Jit поиметь это на раз два, тем более есть даже готовый код от ms, достаточно полистать блог или github, тут даже писать особо не ничего не нужно, готового кода тонны. 4kusNick все ответил правильно и он в отличии от тебя шарит в этой теме. Например через inject снимаю кодеры с того же php ( например ioncube из недавней темы, готовый соснул ), java, lua, .Net. |
|
Создано: 04 июня 2014 02:10 · Личное сообщение · #7 Dr0p пишет: Мб потестим ? На, тесть, в аттаче c075_04.06.2014_EXELAB.rU.tgz - NetInject.rar ----- IZ.RU |
|
Создано: 04 июня 2014 08:37 · Личное сообщение · #8 |
|
Создано: 04 июня 2014 09:34 · Поправил: DenCoder · Личное сообщение · #9 Можно и своим заугрузчиком + LoadLibrary, но вообще-то загрузчик там уже есть... Dr0p пишет: дллку к загрузчику и он её из памяти прогрузит Из памяти он её не грузит, к загрузчику цеплять не надо. Ё-маё, меня убивает вообще Net-процесс - это обычный процесс, в нём вызываются те же api-функции, и инжектится точно так же, как и обычный процесс. И отлаживать можно как и обычный процесс обычным дебаггером, но только в этом случае будет отлаживаться виртуальная машина, что изврат, конечно. Что отличает net-приложение от твоих на асме - в нете тонны эксепшенов, но это способ передачи информации, и может в том числе использоваться для быстрого выхода из многовложенных рекурсий/циклов. Ну не пойму, где ты там проблему разглядел? )) ----- IZ.RU |
|
Создано: 04 июня 2014 14:02 · Личное сообщение · #10 |
|
Создано: 04 июня 2014 14:02 · Поправил: DenCoder · Личное сообщение · #11 |
|
Создано: 04 июня 2014 19:03 · Личное сообщение · #12 |
|
Создано: 04 июня 2014 19:54 · Поправил: DenCoder · Личное сообщение · #13 Интересно, но ничего подобного у меня не возникало на винде XP с 69 процессами и 200 установленными приложениями. Ты, возможно себе NET 3.5 никогда и не ставил, тем более не обновлял. Стоит какой-нибудь 2.0... Гадать не буду, но проблема может крыться где-то в файлах дотнета... Вообще, к сведению, на всякий случай, давно уже на XP поддержка 4.0, а на Win7 - 4.5. ----- IZ.RU |
|
Создано: 04 июня 2014 20:09 · Личное сообщение · #14 |
|
Создано: 04 июня 2014 20:22 · Личное сообщение · #15 |
|
Создано: 04 июня 2014 22:09 · Личное сообщение · #16 vovanre Там моно, это не совсем дотнет, это его опенсорсный аналог, если говорить совсем упрощённо. Уж не в Юнити ли приложение вы инжектились? Если так, то там есть ещё более простые способы, даже кодить ничего не надо кроме самой либы, которую надо заинжектить (можно через простой Auto-Assemble асм-сниппет в Cheat Engine инжектить свою моно либу). ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 04 июня 2014 22:12 · Поправил: Dr0p · Личное сообщение · #17 TryAga1n Есно. Но я автоматом подвергаю сомнению утверждения, не сходящиеся с реальностью. Вот чувак выше дал семпл. Инжектится в лучшем случае мзпе с релоками, тобишь длл. Вот я сдампил эту хрень, прикрутил к загрузчику и получил фейл. Всё ровное ровно и грузится. Так что косяки это срущих кирпичём, я же всё оцениваю сугубо на реальных фактах. |
|
Создано: 04 июня 2014 22:21 · Личное сообщение · #18 4kusNick, упустил этот момент я. Мне нужно было для двух вещей. Игрушки на Unity и программки коммерческой. 4kusNick пишет: Если так, то там есть ещё более простые способы, даже кодить ничего не надо кроме самой либы, которую надо заинжектить (можно через простой Auto-Assemble асм-сниппет в Cheat Engine инжектить свою моно либу). Тут я подзавис. Каким боком автоасм с инжектом mono либы связан? |
|
Создано: 04 июня 2014 22:45 · Личное сообщение · #19 vovanre Вот первый пример, что нагуглился, не знаю, будет ли работать, я явно чуть иначе делал, правда это было давно и я уже подробно не вспомню свои извращения: ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 05 июня 2014 00:30 · Поправил: vovanre · Личное сообщение · #20 Dr0p, успокойтесь . Я знаю как работают трейнера CE , знаю то, что они в темп выбрасывают херову тучу шлака и запускают по три процесса с сжиранием херовой тучи памяти. Но можешь успокоиться? Хоть я и в интернете и привык ко многому, но к не обоснованному потоку дерьма я не привык. Ты не думал, что мне вдруг понадобиться решение которое я смогу объяснить простым языком совершенно далёким от компьютера людям? 4kusNick, спасибо. Я люблю извращения. не люблю смайлы, но без них не передашь эмоции. -UPD- Dr0p, что то у меня предчувствие , что будут меня тыкать в мою "не образованность", я понимаю , что знаю ещё мало, по этому спрашиваю о том, что я не смог найти или сам не смог понять. Хотя, кого это ебёт, нубы и есть нубы. |
|
Создано: 05 июня 2014 05:58 · Личное сообщение · #21 По-моему тема себя исчерпала - рабочие решения представлены, совет автору её закрыть, если вопросов больше нет, чтобы тут не разводили дальнейший срач не по теме =/ ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: vovanre |
|
Создано: 05 июня 2014 07:07 · Личное сообщение · #22 |
eXeL@B —› Программирование —› Инжект .Net кода |
Эта тема закрыта. Ответы больше не принимаются. |