ZOCKIR Опубликовано 3 ноября, 2011 Поделиться Опубликовано 3 ноября, 2011 Сразу мне не понять это, но потихоньку набираю опыта по VC#.Ниже прикрепил демо_трейнер со звуком, звук вместе с екзешником, но как внедрить в exe звук пока не понял, есть направление?демо_трейнер:gtatrn.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 3 ноября, 2011 Поделиться Опубликовано 3 ноября, 2011 как внедрить в exe звук пока не понял, есть направление?Используй ресурсы, вот статейка. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 4 ноября, 2011 Поделиться Опубликовано 4 ноября, 2011 Я так и делаю, статейку читал с этого начинал, все файлы в папке ресурс, в ресурсах в свойствах делаю внедренный ресурс объем трейнер прибавляется но все равно приходиться таскать с собой музон. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 4 ноября, 2011 Поделиться Опубликовано 4 ноября, 2011 Вот пример.trainerActivated.wav помещаем в ресурсы.using System;using System.Media;using System.Windows.Forms;namespace PlaySound{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private readonly SoundPlayer _soundPlayer = new SoundPlayer(); private void Button1Click(object sender, EventArgs e) { _soundPlayer.Stream = Properties.Resources.trainerActivated; _soundPlayer.Play(); } }} Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 4 ноября, 2011 Поделиться Опубликовано 4 ноября, 2011 Как всегда работает твой пример.Сделал так, чем отличие между _ и без него?soundPlayer.Stream = Properties.Resources.AGAiN; soundPlayer.Play(); Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 4 ноября, 2011 Поделиться Опубликовано 4 ноября, 2011 Символ "_" это условное обозначение того, что переменная закрыта и объявлена внутри класса, а не внутри функции. Такой стиль используют многие программисты C#. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 4 ноября, 2011 Поделиться Опубликовано 4 ноября, 2011 Ну все, братцы геймхакеры, вот вам и Трейнер все очень просто Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 29 ноября, 2011 Поделиться Опубликовано 29 ноября, 2011 Всем привет.Вот такая проблемка, как писать модульную адрес указателя. Что хочу сделать, как понятно всем адреса меняются в игре, адрес указателя указать как модульная или как в c# это делается?Вот из моего проекта код.Memory oMemory = new Memory(); Process[] oProcess; bool GameRun = false; bool UnlimitedHealth = false; string HealthPointer = "01DF4D4C"; int[] HealthOffset = { 0x240, 0x14, 0x8 }; int HealthToFill = 800; bool UnlimitedVigor = false; string VigorPointer = "01DF4D4C"; // witcher2.exe+00D14D4C указать вот эту. int[] VigorOffset = { 0x240, 0x14, 0x10 }; int VigorToFill = 6; bool UnlimitedMedallion = false; string MedallionPointer = "01DF4D4C"; int[] MedallionOffset = { 0x240, 0x14, 0x254 }; int MedallionToFill = 1;И таймер Process[] aProcesses = Process.GetProcessesByName("witcher2"); if (UnlimitedHealth) { oMemory.ReadProcess = oProcess[0]; oMemory.Open(); int pointerAdress = Addr.ToDec(HealthPointer); int[] pointerOffset = HealthOffset; int bytesWritten; byte[] valueToWrite = BitConverter.GetBytes((float)HealthToFill); string sWritten_Address = oMemory.PointerWrite((IntPtr)pointerAdress, valueToWrite, pointerOffset, out bytesWritten); oMemory.CloseHandle(); } Process[] aProcessces = Process.GetProcessesByName("witcher2"); if (UnlimitedVigor) { oMemory.ReadProcess = oProcess[0]; oMemory.Open(); int pointerAdress = Addr.ToDec(VigorPointer); int[] pointerOffset = VigorOffset; int bytesWritten; byte[] valueToWrite = BitConverter.GetBytes((float)VigorToFill); string sWritren_Address = oMemory.PointerWrite((IntPtr)pointerAdress, valueToWrite, pointerOffset, out bytesWritten); oMemory.CloseHandle(); } Process[] aProcesscces = Process.GetProcessesByName("witcher2"); if (UnlimitedMedallion) { oMemory.ReadProcess = oProcess[0]; oMemory.Open(); int pointerAdress = Addr.ToDec(MedallionPointer); int[] pointerOffset = MedallionOffset; int bytesWritten; byte[] valueToWrite = BitConverter.GetBytes((float)MedallionToFill); string sWritten_Address = oMemory.PointerWrite((IntPtr)pointerAdress, valueToWrite, pointerOffset, out bytesWritten); oMemory.CloseHandle(); } } Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 30 ноября, 2011 Поделиться Опубликовано 30 ноября, 2011 ZOCKIR, если ищешь ответ, то тебе надо копать функции по получению данных из процесса и модулей. Если таких не найдёшь для .NET фреймверка, то ищи их в API Windows. Как поймёшь их работу переноси на C# через импорт необходимых функций, если тебе нужно писать на C#. Общее впечатление - ищешь лишних трудностей, когда уже есть Cheat Engine Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 30 ноября, 2011 Поделиться Опубликовано 30 ноября, 2011 Я просто фанат NET технологии Решаю данный вопрос если что будет полезное сообщу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Draiget Опубликовано 24 марта, 2012 Поделиться Опубликовано 24 марта, 2012 Вот такая проблемка, как писать модульную адрес указателя. Что хочу сделать, как понятно всем адреса меняются в игре, адрес указателя указать как модульная или как в c# это делается?Если все еще надо, я делал так:public IntPtr GetModuleAdress(string ModuleName, string processName){ Process ProcessMain = null; foreach (Process clsProcess in Process.GetProcessesByName(processName)) { if (clsProcess.ProcessName == processName) { ProcessMain = clsProcess; } } IntPtr return_value = (IntPtr)0; ProcessModule myProcessModule; ProcessModuleCollection myProcessModuleCollection = ProcessMain.Modules; for (int i = 0; i < ProcessMain.Modules.Count; i++) { myProcessModule = myProcessModuleCollection[i]; if (myProcessModule.ModuleName == ModuleName) { return_value = myProcessModule.BaseAddress; } } return return_value;}public void Write(){ IntPtr client_RDrawModels = GetModuleAdress("client.dll", PorcessHL2Name) + Convert.ToInt32(0x6F6370); VAMemory memory = new VAMemory(); memory.processName = PorcessHL2Name; memory.WriteByte(client_RDrawModels, Convert.ToByte(1));}...Convert.ToInt32(0x6F6370); - тут пишем адрес, а тут ...GetModuleAdress("client.dll"... имя модуля. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость error Опубликовано 26 марта, 2012 Поделиться Опубликовано 26 марта, 2012 А асму типа:__declspec(naked)void test_on(){_asm{fld dword ptr[test]mov esp,ebpjmp dword ptr[RETURN_test]}}На с# вообще реал? Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 26 марта, 2012 Поделиться Опубликовано 26 марта, 2012 А асму типа:__declspec(naked)void test_on(){_asm{fld dword ptr[test]mov esp,ebpjmp dword ptr[RETURN_test]}}На с# вообще реал?Как вариант - собирать длл-ку с нужным асм-кодом и подгружать в своём проекте, просто так инлайн-ассемблер не поддерживается. Ещё можно попробовать часть проекта написать на C++, где этот самый ассемблер присутствует. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Draiget Опубликовано 26 марта, 2012 Поделиться Опубликовано 26 марта, 2012 ]На с# вообще реал?Да, вполне хорошие читы выходят. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 26 марта, 2012 Поделиться Опубликовано 26 марта, 2012 Да, вполне хорошие читы выходят.Ты точно уверен, что дочитал его пост? Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость GradenT Опубликовано 3 июня, 2012 Поделиться Опубликовано 3 июня, 2012 Всем привет!Столкнулся с проблемой с назначением горячих клавиш " On/Off " ,естественно на одну клавишу. ( C# )Не где инфо не смог найти, может здесь кто знает... Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 3 июня, 2012 Поделиться Опубликовано 3 июня, 2012 Привет.Более подробно пишите? Ссылка на комментарий Поделиться на другие сайты Поделиться
gastraler Опубликовано 3 июня, 2012 Поделиться Опубликовано 3 июня, 2012 Ищи классы со словами Keyboard Hook или KeyboardHook, или просто Hook.Ввот например интересная статья == > тут, или тут Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 3 июня, 2012 Поделиться Опубликовано 3 июня, 2012 Да все просто - для каждой клавиши (или чита, за которую клавиша отвечает) прописываешь отдельную переменную (можно булеву, то есть, логическую). Когда чит включен, переменной присваиваешь true, когда выключен - false. Ну и, собственно, по нажатию на клавишу проверяешь состояние переменной, ассоциированной с этой клавишей (читом), если false - значит, чит выключен, и его надо включить. Если же true - соответственно, чит включен, и его надо выключить. И да, после выполнения действия, переменной надо, естественно, присвоить соответсвующее значение. Это элементарное условие, я даже код приводить не буду. Ссылка на комментарий Поделиться на другие сайты Поделиться
chuvak1121 Опубликовано 22 января, 2013 Поделиться Опубликовано 22 января, 2013 Здравствуйте!Можете помочь?У меня есть несколько вопросов:1)По чему лучше освоить C#?а)По книгам?б)По урокам и статьям?Или напишите свой вариант.2)Есть ли статья по созданию трейнеров на C#?Искал статьи по Winapi для трейнеров и не нашел.Есть ли тут урок?В заранее спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 22 января, 2013 Поделиться Опубликовано 22 января, 2013 1) А для чего?2) На форуме существует система поиска.А вообще, на Си шарпе не особо много юзверов пишет. Ссылка на комментарий Поделиться на другие сайты Поделиться
chuvak1121 Опубликовано 22 января, 2013 Поделиться Опубликовано 22 января, 2013 1) А для чего?Чтобы программы на ней писать,ну и трейнеры.Ну это пока что мне для начало нужно.Потом буду учиться на С++.Мне щас главное C# освоить хоть немного!2) На форуме существует система поиска.Я знаю,но статей я там не нашел.А вообще, на Си шарпе не особо много юзверов пишет.Да норм.Новички которые начинают писать трейнер на каком нибудь языке программирования,они с этого и начинаютА так обычно большинство людей с Cheat Engine начинают делать трейнеры.Я на нем уже писал но с него не оч. писать трейнеры.Я по видео уроку кенга делал но там нету урока,как писать горячие клавиши для трейнера Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 22 января, 2013 Поделиться Опубликовано 22 января, 2013 Я знаю,но статей я там не нашел.Link Ссылка на комментарий Поделиться на другие сайты Поделиться
chuvak1121 Опубликовано 24 января, 2013 Поделиться Опубликовано 24 января, 2013 Как можно C# освоить для создание трейнеров?По книгам или как? Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 24 января, 2013 Поделиться Опубликовано 24 января, 2013 Не видел я ни одной книги - "создание тренеров на шарпе".Статьи, книги, монографии - все то, что поможет простому программированию. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения