|
GetModuleHandleA in Sharp - Вопросы и ответы, обсуждения - Ваши вопросы по C# только в данном разделе |
30.03.2012, 12:56
|
#1
|
|
|
|
Старший сержант
|
Регистрация: 19.07.2011
Сообщений: 234
Популярность: 3898
Сказал(а) спасибо: 658
Поблагодарили 589 раз(а) в 236 сообщениях
|
GetModuleHandleA in Sharp
Приветствую!
У меня возник такой вопрос:
как мне сделать в трейнере чтобы функция бралась из длл-ки "NxCharacter.2.8.1.dll"
если трейнер сделан по исходнику этого гайда:
http://zhyk.ru/forum/showthread.php?t=151271
в С++ функция выглядит так:
DWORD респаун_мод1 = (DWORD)GetModuleHandleA("NxCharacter.2.8.1.dll") + 0x1134B;
Буду очень благодарным за ответ)
|
|
|
01.04.2012, 18:25
|
#2
|
|
|
|
Разведчик
|
Регистрация: 01.06.2010
Сообщений: 9
Популярность: 161
Сказал(а) спасибо: 2
Поблагодарили 1 раз в 1 сообщении
|
Re: GetModuleHandleA in Sharp
Последний раз редактировалось Didox; 01.04.2012 в 18:30.
|
|
|
02.05.2012, 11:46
|
#3
|
|
|
|
Разведчик
|
Регистрация: 22.11.2011
Сообщений: 33
Популярность: 869
Сказал(а) спасибо: 76
Поблагодарили 92 раз(а) в 27 сообщениях
|
Re: GetModuleHandleA in Sharp
пишет что dll не есть COM
как ещё можно?
|
|
|
02.05.2012, 16:48
|
#4
|
|
|
|
Рыцарь-защитник
|
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
|
Re: GetModuleHandleA in Sharp
Как вариант написать на C++ .dll которая запишет бейс nxCharacter, он будет статическим
и потом
Код:
int base = 0xXXXXXX;
int adres1 = 0xXXXXXX;
int finishadres1 = base += adres1;
// Memory.Write(adres1.....);
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
|
|
|
Пользователь сказал cпасибо:
|
|
06.05.2012, 15:59
|
#5
|
|
|
|
Разведчик
|
Регистрация: 22.11.2011
Сообщений: 33
Популярность: 869
Сказал(а) спасибо: 76
Поблагодарили 92 раз(а) в 27 сообщениях
|
Re: GetModuleHandleA in Sharp
очень сложно, нужно по-другому..
|
|
|
07.05.2012, 16:52
|
#6
|
|
|
|
Разведчик
|
Регистрация: 14.12.2011
Сообщений: 13
Популярность: 52
Сказал(а) спасибо: 22
Поблагодарили 26 раз(а) в 24 сообщениях
|
Re: GetModuleHandleA in Sharp
Гдето Так
[DllImport("NxCharacter.2.8.1.dll")]
private static extern SomeType FunctionFromDll(SomeType someArg,...);
|
|
|
07.05.2012, 19:02
|
#7
|
|
|
|
Разведчик
|
Регистрация: 22.11.2011
Сообщений: 33
Популярность: 869
Сказал(а) спасибо: 76
Поблагодарили 92 раз(а) в 27 сообщениях
|
Re: GetModuleHandleA in Sharp
и что это?
куда его вставить?
|
|
|
07.05.2012, 20:28
|
#8
|
|
|
|
Сержант
|
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: GetModuleHandleA in Sharp
mc228)[2], вставлять в тело класса
Код:
[DllImport("NxCharacter.2.8.1.dll")] //импорт из длл лежащей в system32 или в папке с приложением
private static extern [type] [function name]([type] param); //что импортируем
//[type] тип возвращаемый функцией
//[function name] имя функции в длл
//[type] param тип параметра и сам параметр, если такой имеется
Далее используем как обычный метод, например
Код:
int i = MyImportedFunc();
________________
Talk is cheap. Show me the code
— Linus Torvalds
Последний раз редактировалось Yukikaze; 07.05.2012 в 20:30.
|
|
|
07.05.2012, 21:59
|
#9
|
|
|
|
Рыцарь-защитник
|
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
|
Re: GetModuleHandleA in Sharp
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
|
|
|
07.05.2012, 22:10
|
#10
|
|
|
|
Сержант
|
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: GetModuleHandleA in Sharp
Nickitee, вообще то автор не требует инжекта ибо делал трейнер по гайду с форума, а там про это ничегошеньки не сказано, не?
________________
Talk is cheap. Show me the code
— Linus Torvalds
|
|
|
07.05.2012, 22:17
|
#11
|
|
|
|
Рыцарь-защитник
|
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
|
Re: GetModuleHandleA in Sharp
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
|
|
|
07.05.2012, 22:18
|
#12
|
|
|
|
Разведчик
|
Регистрация: 22.11.2011
Сообщений: 33
Популярность: 869
Сказал(а) спасибо: 76
Поблагодарили 92 раз(а) в 27 сообщениях
|
Re: GetModuleHandleA in Sharp
|
|
|
07.05.2012, 22:26
|
#13
|
|
|
|
Рыцарь-защитник
|
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
|
Re: GetModuleHandleA in Sharp
|
Цитата: |
|
|
|
|
|
|
|
|
|
как его тогда получить обьясни если можешь..
|
|
|
|
|
|
OllyDbg->Открываем .exe (или что у вас там)->View->Executable modules->Смотрим там нашу nxCharacter.dll, 1 колонка (Base) это и есть наш бейс адрес dll-ки.
Добавлено через 6 минут
Точно не уверен (Ибо давно обновлял PB).
Код:
int nxCharacterBase = 0x01550000;
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
Последний раз редактировалось Nickitee; 07.05.2012 в 22:32.
Причина: Добавлено сообщение
|
|
|
08.05.2012, 08:41
|
#14
|
|
|
|
Разведчик
|
Регистрация: 22.11.2011
Сообщений: 33
Популярность: 869
Сказал(а) спасибо: 76
Поблагодарили 92 раз(а) в 27 сообщениях
|
Re: GetModuleHandleA in Sharp
я нашел базовый адрес:
Код:
int nxCharacterBase = 0x011E0000;
Теперь как мне правильно составить код с VAMemory?
У меня получился вот такой код:
Код:
VAMemory memory = new VAMemory("PointBlank.exe");
int BaseAddress = 0x011E0000;
int num = 0x1134B;
int num2 = BaseAddress + num;
byte[] pBytes = new byte[] { 0x8B, 0x45, 0xFF };
memory.WriteByteArray((IntPtr)num2, pBytes);
Добавлено через 10 часов 41 минуту
хм...адрес не статистический ( т.е меняеться постоянно )
что делать?
Последний раз редактировалось mc228)[2]; 08.05.2012 в 19:22.
Причина: Добавлено сообщение
|
|
|
08.05.2012, 20:10
|
#15
|
|
|
|
Сержант
|
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: GetModuleHandleA in Sharp
mc228)[2], получить baseaddress dll'ки можно так:
Код:
private static IntPtr GetModuleBaseAddress(string AppName, string ModuleName)
{
IntPtr BaseAddress = IntPtr.Zero;
Process[] myProcess = null;
ProcessModule myProcessModule = null;
myProcess = Process.GetProcessesByName(AppName);
if (myProcess.Length > 0)
{
ProcessModuleCollection myProcessModuleCollection;
try
{
myProcessModuleCollection = myProcess[0].Modules;
}
catch { return IntPtr.Zero; }
for (int i = 0; i < myProcessModuleCollection.Count; i++)
{
myProcessModule = myProcessModuleCollection[i];
if (myProcessModule.ModuleName.Contains(ModuleName))
{
BaseAddress = myProcessModule.BaseAddress;
break;
}
}
}
return BaseAddress;
}
Если в C++ код выглядел так
Код:
DWORD респаун_мод1 = (DWORD)GetModuleHandleA("NxCharacter.2.8.1.dll") + 0x1134B;
то в C# будет таким
Код:
IntPtr респаун_мод1 = GetModuleBaseAddress("YOUR_PROCESS", "NxCharacter.2.8.1.dll") + 0x1134B;
________________
Talk is cheap. Show me the code
— Linus Torvalds
Последний раз редактировалось Yukikaze; 08.05.2012 в 20:25.
|
|
|
Пользователь сказал cпасибо:
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Помогите!] Ссылка на С Sharp.
|
[Freeze] |
Общение и обсуждение, архив Point Blank |
3 |
22.03.2012 17:22 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 03:47.
|
|