|
Чтение Ассемблера в игре. - Вопросы и ответы, обсуждения - Ваши вопросы по ASM/WinAPI только в данном разделе |
27.03.2014, 14:43
|
#1
|
|
|
|
Разведчик
|
Регистрация: 18.08.2011
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Чтение Ассемблера в игре.
Здравствуйте. Помогите решить проблему.
1. С помощью Cheating Engine 6.3 я ищу оффсеты для игры.
2. Нашел, базовый адрес, нашел "Environment struct", но ни как не могу определить структуру персонажа, так как присутствует код.
Например:
В белом списке cheating engine выпадает куча адресов, и там написано:
mov edx, [ecx+edi*4] или mod ecx, [edx+edi*4] или mov edi, [edx+ebx*4]
бывает что и ebp*4, разнице нет так как:
Эти edi, ebx, ebp, esi, имеет значения от 0 до 9 и до F умноженное на 4 в калькуляторе. И каждый раз когда я перезапускаю игру, то edi, ebx, ebp, esi и т.д меняет значение на другое, это значит что адрес динамический. Я не могу понять откуда он берет эти числа. Я смотрел код до этого и находил например push edi и все... я не понимаю что сделать чтобы найти чему рано эти индексы. Работаю в среде Делфи 7
Добавлено через 7 часов 38 минут
Поясните чему будет равно edi? mov ecx,[eax+ edi*4]
Вот полный код:
Код:
53 - push ebx
8A 5C 24 0C - mov bl,[esp+0C]
55 - push ebp
8B 6C 24 0C - mov ebp,[esp+0C]
56 - push esi
57 - push edi
8B F1 - mov esi,ecx
33 FF - xor edi,edi
8B 8E A8010000 - mov ecx,[esi+000001A8]
85 C9 - test ecx,ecx
74 53 - je PerformPacket+6D
8B 86 AC010000 - mov eax,[esi+000001AC]
2B C1 - sub eax,ecx
C1 F8 02 - sar eax,02
3B F8 - cmp edi,eax
73 44 - jae PerformPacket+6D
85 C9 - test ecx,ecx
74 0F - je PerformPacket+3C
8B 86 AC010000 - mov eax,[esi+000001AC]
2B C1 - sub eax,ecx
C1 F8 02 - sar eax,02
3B F8 - cmp edi,eax
72 06 - jb PerformPacket+42
FF 15 54E67400 - call dword ptr imp___invalid_parameter_noinfo]
8B 86 A8010000 - mov eax,[esi+000001A8]
8B 0C B8 - mov ecx,[eax+edi*4]
8B 11 - mov edx,[ecx]
8B 92 E0000000 - mov edx,[edx+000000E0]
66 0FB6 C3 - movzx ax,bl
50 - push eax
55 - push ebp
FF D2 - call edx
84 C0 - test al,al
75 05 - jne PerformPacket+64
83 C7 01 - add edi,01
EB AC - jmp PerformPacket+10
5F - pop edi
5E - pop esi
5D - pop ebp
B0 01 - mov al,01
5B - pop ebx
C2 0800 - ret 0008
33 FF - xor edi,edi
90 - nop
Последний раз редактировалось Foreworld; 27.03.2014 в 23:10.
Причина: Добавлено сообщение
|
|
|
28.03.2014, 16:34
|
#2
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Чтение Ассемблера в игре.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
28.03.2014, 21:08
|
#3
|
|
|
|
Разведчик
|
Регистрация: 18.08.2011
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Чтение Ассемблера в игре.
Хм)))Спасибо, большое, а тогда чему будет eax, и что делать если, edi динамический адресс
|
|
|
29.03.2014, 03:14
|
#4
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Чтение Ассемблера в игре.
|
Цитата: |
|
|
|
|
|
|
|
|
м)))Спасибо, большое, а тогда чему будет eax, и что делать если, edi динамический адресс |
|
|
|
|
|
edi - это итератор цикла, оно меняется от 0 до значения eax с шагом в единицу. Чем будет eax?
|
Цитата: |
|
|
|
|
|
|
|
|
mov eax,[esi+000001A8] |
|
|
|
|
|
Значению, взятому по указателю, сложенному из значения esi и литеральной константы 1A8h.
Дабы предупредить следующий вопрос, говорю сразу, в esi лежит значение ecx, а что в ecx надо смотреть раньше по коду. Я думаю, что в ecx лежит некий базовый адрес.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
30.03.2014, 17:00
|
#5
|
|
|
|
Разведчик
|
Регистрация: 18.08.2011
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Чтение Ассемблера в игре.
|
|
|
01.04.2014, 00:07
|
#6
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Чтение Ассемблера в игре.
Я не могу понять
1) Что ты делаешь?
2) Если я таки понял, что ты делаешь, то на кой чёрт все эти вопросы, что тут звучат? о_О
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
01.04.2014, 11:21
|
#7
|
|
|
|
Разведчик
|
Регистрация: 18.08.2011
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Чтение Ассемблера в игре.
Я просто очень плохо разбираюсь в асаме и не совсем хорошо в Delphi. Я хочу найти способ решить эту проблему с edi. Мне сказали сделать это указателем, но для этого нужен адрес(какой то) чтобы вставить в этот код: P :=@??
|
|
|
02.04.2014, 01:02
|
#8
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Чтение Ассемблера в игре.
Всё равно ничего не понял. Что ты хочешь сделать в итоге? Что должно получится?
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
02.04.2014, 01:51
|
#9
|
|
|
|
Разведчик
|
Регистрация: 18.08.2011
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Чтение Ассемблера в игре.
Бот должен получиться, при поиске структуры персонажа, приходиться находить чему будет равно edi так ка он меняется. Мне сказали что можно с помощью указателя решить, проблему но я не знаю как. Работаю в среде Delphi и понятие не имею как должен выглядить код на решение данной проблемы
|
|
|
02.04.2014, 14:50
|
#10
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Чтение Ассемблера в игре.
Та что же такое, ты не понимаешь, чего я от тебя хочу. Это ты хочешь цепочку оффсетов вывести для считывания структуры?
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
02.04.2014, 19:09
|
#11
|
|
|
|
Разведчик
|
Регистрация: 18.08.2011
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Чтение Ассемблера в игре.
Именно, но проблема в edi. Причем когда в белом списке выпадают адреса, там не только edi там и esi и другие и они все равны одному значению. Пример:
mov ecx,[esi+edi*4] mov eax,[edi+esi*4] самое главное, после + идет индекс(edi,esi,ebx...) и они равны от 0 до 3С. Обычно они ровны 0,4,1C, 24, 28, 2C. Я не знаю что мне делать с этим...
|
|
|
05.04.2014, 23:28
|
#12
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Чтение Ассемблера в игре.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
06.04.2014, 02:54
|
#13
|
|
|
|
Разведчик
|
Регистрация: 18.08.2011
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Чтение Ассемблера в игре.
Да))))
В каком смысле ("ну дак в оффсете так и напишите [i * 4]")?
вот цепочка адреса показывающая хп 007E3600+1A8+(i*4)+1B8. И проблема в I, я не знаю как ее считать, даже не знаю как выглядит код если указывать указатель.
Указатель в Delphi - тоже самое что и интератот просто мы указываем на него, на эту ячейку памяти, если я не ошибаюсь :/
|
|
|
06.04.2014, 10:43
|
#14
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Чтение Ассемблера в игре.
Ты попал на цепочку данных, если тебе надо прочитать всю цепочку, то читай в цикле с итератором i, если конкретный элемент, то напиши его индекс в i.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
06.04.2014, 12:39
|
#15
|
|
|
|
Разведчик
|
Регистрация: 18.08.2011
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Чтение Ассемблера в игре.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 14:39.
|
|