Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2013, 20:38   #1
nickolasjons
Новичок
Джуниор
 
Регистрация: 10.01.2013
Сообщений: 2
Восклицание Автоматический поиск и внедрение DLL в процесс

Вот код в котором немного ошибок и я не понимаю их,
Я если честно понимаю C# 0.6%, поэтому если не сложно помогите с ним что делать.
Это код для инжекта DLL в процесс.
Я подключал библеотеки но ошибки не удаляются.Там какието Аргументы.


PHP код:
           public static bool InjectDLL(Process processString strDLLName)
      {
          
IntPtr hProcess OpenProcess(ProcessAccessFlags.Allfalseprocess.Id);
          if (
hProcess == null)
          {
              return 
false;
          }
          
IntPtr bytesout;
 
          
// Length of string containing the DLL file name +1 byte padding  
          
Int32 LenWrite strDLLName.Length 1;
          
// Allocate memory within the virtual address space of the target process  
          
IntPtr AllocMem = (IntPtr)VirtualAllocEx(hProcess, (IntPtr)null, (uint)LenWrite0x3000, (uint)Protection.PAGE_READWRITE); //allocation pour WriteProcessMemory  
          
uint tmp;
          
VirtualProtect(AllocMem, (uint)LenWrite, (uint)Protection.PAGE_READWRITEout tmp);
          
// Write DLL file name to allocated memory in target process  
          
WriteProcessMemory(hProcessAllocMemstrDLLName, (UIntPtr)LenWrite,  out bytesout);
          
// Function pointer "Injector"  
          
UIntPtr Injector = (UIntPtr)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
 
          if (
Injector == null)
          {
              
MessageBox.Show(" Injector Error! \n ");
              
// return failed  
              
return false;
          }
 
          
// Create thread in target process, and store handle in hThread  
 
          
UIntPtr tmpptr
          
IntPtr hThread = (IntPtr)CreateRemoteThread(hProcess, (IntPtr)null0InjectorAllocMem0out tmpptr);
 
          
// Make sure thread handle is valid  
          
if (hThread == null)
          {
              
//incorrect thread handle ... return failed  
             // MessageBox.Show(" hThread [ 1 ] Error! \n ");
              
return false;
          }
          
// Time-out is 10 seconds...  
          
int Result WaitForSingleObject(hThread3000);
          
// Check whether thread timed out...  
          
if (Result == 0x00000080L || Result == 0x00000102L || Result == 0xFFFFFFFF)
          {
              
/* Thread timed out... */
             // MessageBox.Show(" hThread [ 2 ] Error! \n ");
              // Make sure thread handle is valid before closing... prevents crashes.  
              
if (hThread != null)
              {
                  
//Close thread in target process  
                  
CloseHandle(hThread);
              }
              return 
false;
          }
          
// Sleep thread for 1 second  
          
System.Threading.Thread.Sleep(100);
          
// Clear up allocated space ( Allocmem )  
          
VirtualFreeEx(hProcessAllocMem, (UIntPtr)00x8000);
          
// Make sure thread handle is valid before closing... prevents crashes.  
          
if (hThread != null)
          {
              
//Close thread in target process  
              
CloseHandle(hThread);
          }
          
CloseHandle(hProcess);
          
// return succeeded  
          
return true;
      } 
nickolasjons вне форума Ответить с цитированием
Старый 11.01.2013, 10:28   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Это код инъекции, достаточно опасная вещь и наказуемая. Вы же небось для читерства его будете использовать.
Одного исправления кода мало будет для такой задачи. Есть у Вас чего инжектить-то ? На чем написано ? откуда уверенность что работать будет ?

В целом-то я переписал Ваш код в рабочий и он даже инжектит у меня Bass.dll в текстовый редактор )) ( с утреца на работе заинтересовался такой задачкой) но хотелось бы узнать, насколько сильно Вы хотите решить Вашу задачу )) ? Могу поспособствовать за вознаграждение, дело в том, что я не очень жалую читеров и поэтому предложение такого характера.
phomm вне форума Ответить с цитированием
Старый 11.01.2013, 11:25   #3
nickolasjons
Новичок
Джуниор
 
Регистрация: 10.01.2013
Сообщений: 2
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Это код инъекции, достаточно опасная вещь и наказуемая. Вы же небось для читерства его будете использовать.
Одного исправления кода мало будет для такой задачи. Есть у Вас чего инжектить-то ? На чем написано ? откуда уверенность что работать будет ?

В целом-то я переписал Ваш код в рабочий и он даже инжектит у меня Bass.dll в текстовый редактор )) ( с утреца на работе заинтересовался такой задачкой) но хотелось бы узнать, насколько сильно Вы хотите решить Вашу задачу )) ? Могу поспособствовать за вознаграждение, дело в том, что я не очень жалую читеров и поэтому предложение такого характера.
Мне не для читерства мне нужно внедрить один свой длл в программу для бага.
Ну если вы переписали его то помогите мне пожалуста или дайте сам код
nickolasjons вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
внедрение в процесс goluzov Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 30.06.2012 02:36
Внедрение в процесс goluzov Win Api 1 28.06.2012 12:12
Внедрение в процесс nevesomost Общие вопросы Delphi 2 01.01.2012 21:35
Отловить внедрение в процесс Anton911 Win Api 4 13.09.2011 11:41
Внедрение в процесс Niklan Win Api 65 25.11.2009 11:13