|
Болтовня Разговоры на любые темы (думайте, о чем пишите) |
24.12.2009, 17:13
|
#1
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
aimbot
кто-нибудь знает как делать аимботов ? может у кого-то есть исходники ? или ссылки по теме ?
|
(Offline)
|
|
24.12.2009, 18:14
|
#2
|
Бывалый
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений (для 450 пользователей)
|
Ответ: aimbot
Тебе для игры что ли надо?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.12.2009, 19:15
|
#3
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Ответ: aimbot
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.12.2009, 19:36
|
#4
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: aimbot
h1dd3n, а для чего ещё о0 ? (ну я естественно хочу сам сделать)
johnk, спасибо.
есть ещё че ?
|
(Offline)
|
|
25.12.2009, 00:55
|
#5
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: aimbot
особенно интересует как в конкретной игре узнать где в памяти хранится позиция игрока (или чего либо)...
|
(Offline)
|
|
25.12.2009, 03:34
|
#6
|
|
Ответ: aimbot
NitE
так же как и узнать где хранятся хп и все остальное, посмотри прогу artmoney
|
|
|
25.12.2009, 03:44
|
#7
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: aimbot
эмм, можно наглядный пример ?
через такие проги можно узнать например патроны - это просто переменная значение которой мне известно.
а как мне узнать координаты игрока ? с чего начать ? откуда мне знать какая система координать в игре ? и т.д.
|
(Offline)
|
|
25.12.2009, 03:53
|
#8
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: aimbot
http://ru.wikipedia.org/wiki/ArtMoney
Допустим, пользователю нужно изменить в игре количество патронов, которое равно 100. Сначала нужно произвести поиск ячеек памяти, которые содержат значение «100», потом в игре изменить количество патронов, допустим до 80. После этого произвести поиск в сформированой базе тех ячеек, значение которых изменилось со 100 до 80. Если окончательных ячеек будет слишком много, процедуру нужно повторить сначала. Когда нужный адрес обнаружен и фиксирован, пользователь может изменить его в интерфейсе ArtMoney по своему усмотрению в любую сторону (в том числе «заморозить» или «разморозить»), изменения отобразятся в игре незамедлительно.
|
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
25.12.2009, 03:55
|
#9
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: aimbot
....
через такие проги можно узнать например патроны - это просто переменная значение которой мне известно.
а как мне узнать координаты игрока ? с чего начать ? откуда мне знать какая система координать в игре ? и т.д.
|
|
(Offline)
|
|
25.12.2009, 03:57
|
#10
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Ответ: aimbot
Сообщение от NitE
эмм, можно наглядный пример ?
через такие проги можно узнать например патроны - это просто переменная значение которой мне известно.
а как мне узнать координаты игрока ? с чего начать ? откуда мне знать какая система координать в игре ? и т.д.
|
Если игра на Source движке, то можно выйти в меню и нажать "Send bug-report", там написано не только положение игрока, но и его ориентация в пространстве.
|
(Offline)
|
|
25.12.2009, 03:59
|
#11
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,356
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: aimbot
Методом тыка (проб и ошибок)
По крайней мере я так делаю.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
25.12.2009, 04:02
|
#12
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: aimbot
да плохая идея была... как видно никого "в теме" тут нет, разве что johnk спасибо за ссылочку - всё остальное к сожалению полнейший кал не представляющий никакой ценности.
закройте тему.
|
(Offline)
|
|
25.12.2009, 07:02
|
#13
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: aimbot
Насколько я понял мысль импера, он тебе предложил искать изменённые значения. Двигаешь нужный объект, говоришь проге - ищи значения, которые увеличились/уменьшились и т.д. после нескольких двиганий туда/сюда диапазон значений может оказаться мал, и в нём путём заморозки точно узнать.
Но если ты сам наглядно не видишь куда сдвинуть игрока чтобы его координаты уменьшились/увеличились или двигать его нельзя (какой-то объект), то фиг получится.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.12.2009, 10:19
|
#14
|
Оператор ЭВМ
Регистрация: 02.11.2008
Сообщений: 27
Написано 12 полезных сообщений (для 24 пользователей)
|
Ответ: aimbot
эмм, можно наглядный пример ?
через такие проги можно узнать например патроны - это просто переменная значение которой мне известно.
|
Можно не юзать ArtMoney, а написать свой велосипед )
Код на ПуреБейсике, но прокомментировал я достаточно подробно, так что должно быть понятно. Основная идея - сканировать память процесса, для этого в WINAPI есть [Read\Write]ProcessMemory
Правда это может не понравиться антивирусам
; структура настроек запускаемого процесса
Define.STARTUPINFO StartupInfo
; структура информации о запущенном процессе
Define.PROCESS_INFORMATION ProcessInfo
; структура системой информации
Define.SYSTEM_INFO SystemInfo
; структура информации о блоке памяти
Define.MEMORY_BASIC_INFORMATION MemoryInfo
; обнуляем структуру запуска
RtlZeroMemory_(StartupInfo, SizeOf(StartupInfo))
; указываем ее размер
StartupInfo\cb = SizeOf(StartupInfo)
; указываем режим отображения окна запускаемого процесса
StartupInfo\wShowWindow = #SW_SHOW
; запускаем процесс в режиме сна
If CreateProcess_(0, "C:\test.exe", 0, 0, 0, #CREATE_SUSPENDED, 0, 0, StartupInfo, ProcessInfo)
; процесс удалось запустить, продолжаем
; создаем интерфейс
OpenWindow(0, 0, 0, 110, 310, "", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_MinimizeGadget)
StringGadget(0, 5, 5, 100, 20, "")
ButtonGadget(1, 5, 30, 100, 20, "Найти")
ButtonGadget(2, 5, 55, 100, 20, "Отсеть")
ButtonGadget(3, 5, 80, 100, 20, "Записать")
ListViewGadget(4, 5, 105, 100, 200)
; получаем системную информацию
; там нас интересует диапазон адресов, куда может быть отображен процесс приложения
GetSystemInfo_(SystemInfo)
; пробуждаем главный поток процесса
ResumeThread_(ProcessInfo\hThread)
Repeat
; сообщения от интерфейса
temp = WaitWindowEvent()
Select temp
; сообщения от гаджетов
Case #PB_Event_Gadget
temp = EventGadget()
Select temp
; нажата кнопка "найти"
Case 1
; берем введенное в поле поиска значение
temp = Val(GetGadgetText(0))
; очищаем список
ClearGadgetItems(4)
index = 0
; сканируем процесс
; начальный адрес сканирования
address = SystemInfo\lpMinimumApplicationAddress
; сканируем пока не достигнем конца диапазона
While address < SystemInfo\lpMaximumApplicationAddress
; запрашиваем информацию о блоке памяти
If VirtualQueryEx_(ProcessInfo\hProcess, address, MemoryInfo, SizeOf(MemoryInfo)) = SizeOf(MemoryInfo)
; блок памяти должен быть разрешен для чтения и записи
; а также выделен для использования (некоторые блоки виртуальной памяти могут быть просто зарезервированы)
If MemoryInfo\State = #MEM_COMMIT And MemoryInfo\Protect = #PAGE_READWRITE
; на всякий случай проверяем что блок имеет какой-то размер (не обязательно)
If MemoryInfo\RegionSize > 0
; начальный адрес сканирования блока
scan = MemoryInfo\BaseAddress
; конечный адрес сканирования блока
stop = scan + MemoryInfo\RegionSize
; сканируем блок
While scan < stop
; читаем память процесса по сканируемому адресу (читаем 4 байта)
ReadProcessMemory_(ProcessInfo\hProcess, scan, @value, 4, @length)
; сравниваем с введенным в поле поиска
If value = temp
; если есть совпадение, добавляем в список адрес
AddGadgetItem(4, index, Hex(scan, #PB_Long))
; запоминаем адрес в данных элемента (чтобы не переводить обратно из строки в число)
SetGadgetItemData(4, index, scan)
index + 1
EndIf
; следующий адрес сканирования
scan + 4
Wend
EndIf
EndIf
; следующий адрес блока памяти
address = MemoryInfo\BaseAddress + MemoryInfo\RegionSize
Else
; запрос не возможен, что-то не так, выходим :)
Break
EndIf
Wend
; нажата кнопка "отсеять"
Case 2
; берем кол-во элементов в списке
index = CountGadgetItems(4)
If index > 0
; берем значение введенное в поле поиска
temp = Val(GetGadgetText(0))
; проверяем значения по адресам, записанным в элементах
While index > 0
index - 1
; записанный адрес
address = GetGadgetItemData(4, index)
; читаем процесс
ReadProcessMemory_(ProcessInfo\hProcess, address, @value, 4, @length)
; сравниваем с введенным в поле поиска
If value <> temp
; значения не совпадают, удаляем элемент
RemoveGadgetItem(4, index)
EndIf
Wend
EndIf
; нажата кнопка "запись"
Case 3
; берем индекс выбранного элемента в списке
index = GetGadgetState(4)
If index >= 0
; записаный адрес
address = GetGadgetItemData(4, index)
; берем значение введенное в поле поиска
temp = Val(GetGadgetText(0))
; пишем в память процесса новое значение
WriteProcessMemory_(ProcessInfo\hProcess, address, @temp, 4, @length)
EndIf
EndSelect
; закрытие окна интерфейса
Case #PB_Event_CloseWindow
Break
EndSelect
Forever
CloseWindow(0)
EndIf
; закрываем хендл процесса
CloseHandle_(ProcessInfo\hProcess)
End
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Alex.D. за это полезное сообщение:
|
|
25.12.2009, 13:27
|
#15
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: aimbot
Alex.D., посмотреть память это не проблема, проблема - узнать где в памяти хранится инфа про объект.
Жека, с первого взгляда можно понять что ты даже не представляешь о чем речь.
у криворуких фиг получится - но нормальные люди както-же делают, вот мне и надо узнать как ?
и вообще хватит бреда - это не делается через артмани, но как-то делается - если кто-то понимает что он говорит - жду новых предположений.
товарищи которы заикались про артмани - скажите что мне вбивать в поиск чтобы начать искать и найти координату х игрока передомной ? не проходите мимо - теперь самое время показать вашу гениальность в данном вопросе. (нет, ксс тут не при чем - просто пример)
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:09.
|