|
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 76
|
|
.NET 3.x Программно запустить приложение на выполнение03.02.2012, 21:20. Показов 6669. Ответов 16
Метки нет (Все метки)
Привет всем!
Мне нужно что бы программа в апдейторе скачивалась и открывалась... То есть я кликнул на бутон "Ключ" У меня программа скачается и откроется... Собственно я бы мог ключ вшить в сам апдейтор но это не получится так как апдейтор написан на c#, а ключ на с++ ЗыСы: код для скачивания не нужен.. Это то я знаю=) Перерыл весь гугл=)) Очень надеюсь что хоть тут помогут..
0
|
|
| 03.02.2012, 21:20 | |
|
Ответы с готовыми решениями:
16
Как программно запустить на выполнение команду из подменю контекстного меню Запустить стороннее приложение на выполнение Программно запустить консольное приложение |
|
80 / 78 / 10
Регистрация: 29.12.2011
Сообщений: 183
|
|
| 03.02.2012, 21:24 | |
|
1
|
|
|
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 76
|
|
| 03.02.2012, 21:28 [ТС] | |
|
Спасибо конечно, но мне бы как нибудь по проще.. Конкретный код если можно=)
Ах да, и ещё что бы он сам определял где находиться программа для запуска ключа.. вернее не сам, что бы вот он запускал их папки своего расположения.. То есть, например у меня апдейтор находится в c:\UPDATER, а у кого нибудь другого он может находится в D:\Коты и кошки...
0
|
|
|
80 / 78 / 10
Регистрация: 29.12.2011
Сообщений: 183
|
|
| 03.02.2012, 21:44 | |
|
1
|
|
|
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 76
|
|
| 03.02.2012, 21:45 [ТС] | |
|
DB_key.exe
0
|
|
|
80 / 78 / 10
Регистрация: 29.12.2011
Сообщений: 183
|
|||||||||||
| 03.02.2012, 21:54 | |||||||||||
1
|
|||||||||||
|
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 76
|
|
| 03.02.2012, 22:19 [ТС] | |
|
Спасибо большое! Тыкнул тебе 3 спасибки=) Если ещё что нибудь непонятно будет - напишу=)
Добавлено через 2 минуты Всё разобрался всё работает=)) Спасибо ещё раз=)
0
|
|
|
80 / 78 / 10
Регистрация: 29.12.2011
Сообщений: 183
|
|
| 03.02.2012, 22:27 | |
|
1
|
|
|
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 76
|
|
| 03.02.2012, 22:38 [ТС] | |
|
Ладно раз у тебя есть возможность то можно ещё 1 вопрос?=)
Как сделать инжектор, другими словами внедрение Dll файла в какой либо процесс? Есть конечно это и в интернете, но только исходники, а не принцип создания.. Да и исходник кривой до невозможности....
0
|
|
|
80 / 78 / 10
Регистрация: 29.12.2011
Сообщений: 183
|
||
| 03.02.2012, 22:46 | ||
|
1
|
||
|
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 76
|
|
| 03.02.2012, 22:55 [ТС] | |
|
Да, иными словами внедрить DLL например в APB.exe или Google.exe и тд..
0
|
|
|
80 / 78 / 10
Регистрация: 29.12.2011
Сообщений: 183
|
|
| 04.02.2012, 00:44 | |
|
Тема обширная и сложная, от себя сказать особо нечего так что:
Жесткое внедрение DLL в Windows-программы Способ принудительной загрузки DLL в адресное пространство процесса Непосредственно содержание ссылки
Доброго времени суток уважаемые пользователи форума MuForum.
В связи с тем, что проблема с внедрением .dll файлов в чужое приложение достаточно актуальная, я решил написать полное руководство для новичка, по данному вопросу. Начну с инструментов которые нам потребуются для работы с внедрением .dll файла 1. OllyDbg - это отладчик уровня User Space, который приобрел большую популярность среди пользователей всего мира. Сейчас для OllyDbg написано множество плагинов, так что работать с ним одно удовольствие. OllyDbg обладает хорошей функциональностью, это делает его пригодным для решения различных задач и исследования кода любой сложности. Интерфейс отладчика полностью настраиваемый: фон рабочих окон, цвет и размер шрифта, подсветка определенных ассемблерных инструкций и многое другое. 2. Pe Explorer - программа для просмотра и редактирования PE-файлов - EXE, DLL, SYS, DRV, CPL, OCX, BPL, DPL, SCR и др. Включает в себя PE Header Viewer, Exported/Imported API Function Viewer, API Function Syntax Lookup, Resource Viewer/Editor, Dependency Scanner & Disassembler. Кроме всего прочего, с помощью PE EXPLORER можно без труда русифицировать самые разнообразные win-приложения... 3. Утилита для системных программистов, позволяющая редактировать или просто просматривать многие части исполняемых файлов, создавать дамп из памяти, оптимизировать и анализировать их. Итак, после того как мы немного ознакомились с программами которыми будем работать, можно уже приступать к работе. Первым делом запускаем наш отладчик OllyDbg и с помощью него открываем main.exe File -> Open -> main.exe После того как main.exe загрузился, мы увидим его большой ассемблерный код, что нам сейчас потребуется сделать так это запомнить или записать на бумажку либо в блокнот не важно точку входа в программу, на английском языке это звучит как EntryPoint. Как вы заметили на картинке я указал стрелочку на цифирки, которые выделены белым цветом, эти цифирки называются смещением, на английском языке это звучит как Offset, значит так, как я сказал выше нужно запомнить либо записать этот Offset который выделен белым цветом. Далее мы должны найти пустое место куда будем внедрять наш .dll файл, для этого скроллим либо нажимаем кнопку "PageDown" пока не увидим следующую картину Теперь мы готовы внедрять .dll файл, для этого нажимаем Правый клик -> Folow in Dump -> Selection, и видим как нас перенесло в нижнее окно, под названием Hex Dump. Теперь нам надо задать имя нашей .dll, для этого необходимо выделить столько точек сколько имеет символов ваша .dll учитывая и ".dll", например: f1UZ.dll имеет 8 символов, получается необходимо выделить 8 точек и нажать пробел, и в появившемся окне, в строке Ascii вписываем имя вашей .dll Нажмите ок либо Enter, теперь мы видим результат проделанной работы. Далее отсчитываем несколько строчек, и вписываем следующие команды: PUSH и указываем на первый offset где начинается красный текст, как мы видим у меня он 00801015 PUSH 00801015 Далее нам нужно вызвать функцию LoadLibraryA, для этого нажимаем Правый клик -> Search For -> Name (label) in current module либо Ctrl+N, и вспике этих функций ищем ту которая нам необходима. После того как мы её нашли, кликаем на неё один раз и нажимаем Enter, кликаем ещё один разок на CALL DWORD PTR DS:[<KERNEL32.LoadLibraryA>] и нажимаем Enter. Далее нам необходимо нажать на CALL DWORD PTR DS:[80220C], скопировать эту функцию и перейти в то место где мы внедряем наш .dll файл и вставить ниже нашей команды PUSH 00801015, то есть PUSH 008010105 CALL DWORD PTR DS:[80220C] Теперь нам нужно сделать прыжок на EntryPoint, делается это следующим образом Вписываем ниже CALL DWORD PTR DS:[80220C] JMP и тот offset который я вам говорил чтобы вы запомнили, тот offset который был выделен белым цветом. PUSH 008010105 CALL DWORD PTR DS:[80220C] JMP 007D37E6 Далее нам необходимо сохранить всю проделанную работу, для этого выделяем все изменения и нажимаем Правый клик -> Copy to executable -> Selection -> Правый клик -> Save file Забыл о самом главном, перед тем как сохранить изменения, запомните offset команды PUSH 008010105, на этот offset мы будем изменять EntryPoint Дело осталось за малым, необходимо изменить Entry Point для того чтобы .exe приложение смогло прочитать наш .dll файл. Выше я описал программу Pe Explorer, но причинам того что лимит на её использование у меня закончился, прийдется использовать другую программу под названием LordPe. Теперь запускаем программу LordPe и с помощью этой программы открываем main.exe PE Editor -> main.exe В строке Entry Point мы видим следующие цифирки, 003B23A0, если вы ещё помните, это начальный Entry Point, тот что я говорил запомнить ещё в самом начале. Сейчас мы будем его изменять. Обратите внимание на эту картинку , обратите внимание на offset команды PUSH 00801015 -> 00801026. Этот offset мы должны вписать в программу LordPe где строка Entry Point, как вы заметили я вписал не 00801026 а 00301026, почему я так сделал объясню чуть позже, собственно вы должны сделать точно так же. Нажимаем Save -> Ok и радуемся Усовершенствованный метод внедрения DLL Внедрение DLL с помощью ловушек Внедрение DLL в чужое адресное пространство. Автоматическое внедрение DLL в таблицу импорта Функциональная шпиономания (на примере Delphi) Внедрение в чужой процесс Внедрение DLL в чужое адресное пространство. Внедрение DLL и перехват API-вызовов (старина Рихтер) Внедрение DLL с помощью ловушек P.S. Советую вчитываться и избегать эффекта "много буков лень читать". Ссылки разные, но непосредственно с C# мало что связано. Надеюсь сам тоже доберусь все это основательно проштудировать. И еще вроде есть пример в одной из книг Рихтера (программирование эффективных приложений). Если конкретизировать задачу внедрение библиотеки managment (.NET) или unmanagmen code? Первое по моему слабо реализуемое, но точно можно из неуправляемого кода вызвать управляемый .NET.
1
|
|
|
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 76
|
|
| 04.02.2012, 01:15 [ТС] | |
|
Спасибо! Я много букафффф не избегаю.. Просто не всё понимаю=)) Потом сюда выложу своё детище, оценишь ок?=)
0
|
|
|
80 / 78 / 10
Регистрация: 29.12.2011
Сообщений: 183
|
||
| 04.02.2012, 01:27 | ||
|
0
|
||
|
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 76
|
|
| 04.02.2012, 02:02 [ТС] | |
|
В общем, инжектор я сделал.. Всё работает.. Только ещё 1 вопросик, нужно что бы он инжектил Автоматически, то есть я поставил галочку на "Авто-инжект" и он инжектил, сразу при запуке..
0
|
|
|
80 / 78 / 10
Регистрация: 29.12.2011
Сообщений: 183
|
||
| 04.02.2012, 11:58 | ||
|
Инжектор в студию как говориться.
P.S. Буду рад увидеть твое детище. Создавай тему на всеобщее обозрение.
1
|
||
|
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 76
|
|
| 04.02.2012, 12:13 [ТС] | |
|
0
|
|
| 04.02.2012, 12:13 | |
|
Помогаю со студенческими работами здесь
17
Приложение со всеми библиотеками, или как запустить приложение без установленного FW Как java-приложение может попросить OS запустить внешнее приложение? Запустить приложение, и получить результат, который вернуло отработавшее приложение
Запустить внешний файл на выполнение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|