На нашем форуме вы сможете найти самые свежие и рабочие Читы для CrossFire, Читы для Point Blank, Читы для SAMP, Читы для cs 1.6, Читы для World Of Tanks, WOW Читы, Вконтакте Баги, Черный Рынок.

Поиск адресов

14 янв 2012, 22:07

Вот вообщем выкладываю поиск адресов говорю сразу "Слито с подполья" сливщик не я ;)
Код: выделить все
1: Поиск из адресов, который содержит и обновляет текущую здравоохранения с помощью Т-Поиск. 
2: Как останова, адрес, чтобы узнать, что статические адреса Напишите ему (обновить). 
3: Как использовать для OllyDbg для определения смещения, которая указывает на текущую здравоохранения 
Памяти. Затем, как получить максимальный здравоохранения OFFSET. 
4: Как искать указатель Адрес там, что вы будете использовать с OFFSET вы 
Найденные выше, чтобы получить доступ к вашему текущему здравоохранения в памяти, как это постоянно 
обновляется. 
5: И последний, как использовать информацию, которую вы получили, чтобы сделать небольшую программу, которая будет 
автоматически пресс ваши таблетка ключ (1,2,3 или 4), когда ваше здоровье опускается ниже процентов, которые 
Вы устанавливаете. Я буду использовать простую установку DLL, которая создаст новый поток. Использование 
ReadProcessMemory в цикле в пределах нового потока вы будете создавать свои собственные указатели 
Максимальная и текущая здравоохранения значения, которые могут затем быть использованы для изготовления функции для вашего AutoKeyPress на 
раз, когда вы хотите, чтобы это сделать (50% HP и ниже, 40% HP и т.д. Ниже ...). 


ПРИМЕЧАНИЕ: При вводе адреса в OllyDbg не забудьте добавить 0x перед ним, иначе он не признает. 

_____________________________________________________ 

- Шаг 1: поиск начальный адрес здравоохранения .-- 
_____________________________________________________ 

Я буду использовать Т-поиск для этого урока, как это то, что я в первую очередь использовать. 

В первую очередь открыть Т-Поиск. После Т-Поиск открыта загрузить TwelveSky, Логин
на ваш счет, который вы будете использовать (но убедитесь, что вы по крайней мере нескольких таблеток HP на вашем 
характер), и загрузить своего персонажа в игре. Теперь ALT + TAB, выходит из игры и откройте 
до игры в Т-Поиск. Для этого нажмите на "открытый процесс" кнопку в верхнем левом углу программы. 
Теперь вернитесь в игру и, если ваш персонаж не находится в области с мобов, которые могут выполнять часть к его повреждению, 
затем переместить вашего персонажа в области / зоны, где вы можете получить некоторые повреждения. Когда-то остановить (убедитесь, что ваше здоровье 
полно), то сочетание клавиш ALT + TAB обратно в Т-Поиск. Теперь вы собираетесь начать 
новый поиск. В T-поиска необходимо нажать на значок увеличительного стекла в верхней 
Слева от программы чуть ниже кнопку открытия процесса. Теперь оставьте его, как он на "Точное значение" и "4Byte" настройки. 
В поле "Значение" введите свое здоровье и в Т-Поиск хит "OK". 
Дождитесь полного затем пойти дальше и нажмите кнопку "OK" еще раз. Вернитесь в 
игра теперь и бороться с толпой. Убедитесь, что потерять хорошее количество вашего здоровья (я обычно делаю 
около половины), а затем убить толпы (так он оленья кожа бьют вас, пока ваш сканирование). 
Теперь ALT + TAB обратно. Теперь вы начнете другой сканирования. На этот раз вам будут искать "Изменена стоимость". 
В T-Поиск идти вперед и ударил второй значок увеличительного стекла просто 
Право первой. В "Поиск" поле, где он говорит: "Точное значение" хит выпадающего списка. Выберите "изменил" 
вариант чуть ниже "Точное значение". Теперь нажмите "Ok" начала следующего сканирования. Снова ждать завершения и нажмите кнопку "OK" еще раз. 
Теперь вы должны получить только один адрес в списке. Если у вас более чем один адрес, просто перейдите обратно в игру и используем 
HP таблетки, пока у вас полное здоровье снова. Затем сделать новый запрос (с помощью лупы второй раз) для вашего здоровья 
снова. К этому моменту вы должны иметь только один адрес в списке, если не только не устают повторять, пока вы не сканирует сузить ее. Теперь нажмите желтый знак "+", чтобы переместить адрес въезд на правый поле, где вы сможете изменить его. 
Вы должны заметить, если вы все еще поврежденного он будет постоянно растет. Адрес, который я нашел, было 1605C0. Это динамический адрес, чтобы она не будет такой же на вашем компьютере он не будет же следующий раз при загрузке игры (в большинстве случаев). Для проверки вы нашли правильный адрес просто посмотреть в игре на то, что текущее здоровье, а затем ALT + TAB обратно в Т-поиска и посмотреть, где он находится. Затем полностью излечить себя и вернуться к Т-поиск снова, и Вы должны увидеть, что он соответствует вашему здоровью. Или вы можете просто дважды щелкните в поле значения и измените его значение на что угодно (например: 1000000000). Затем в игре он будет выглядеть, например: 
1000000000/1025. Конечно, это только визуальный и не имеет абсолютно никакого ценного эффект, но по крайней мере вы знаете, что у вас по нужному адресу. Далее нам нужно установить точку останова на этот адрес, чтобы найти статический адрес, который записывает в него (этот адрес не изменится после перезагрузки игры). Я буду использовать OlyDbg сделать это, поскольку это нарушит только на один статический ведьма адрес все, что нужно для нашей цели (Поиск Указатель адрес вашего характера и OFFSETS, которые указывают на ваш максимальный и текущий здравоохранения), поэтому для Ради этого учебника (если вы не знакомы со всем этим или не знают, как использовать точки останова в OllyDbg, следовать с методом OllyDbg, а затем вернуться позже, если вы хотите попробовать его в Т-поиска, и если вы знакомы с памятью сканирования затем пропустить мимо всего этого и перейти к разделу OllyDbg). Однако вы можете точку останова ваш динамический адрес с Т-поиска, хотя, тем не менее он вернется 5 различных адресов каждый, относящихся к различным функции относительно Вашего текущего здоровья, таких как Вычитая взятые повреждения или добавление, когда исцелился. Вы точку останова адреса с Т-Поиск по: 

1: При нажатии "AutoHack" вкладки на верхней части программы. 
2: Нажмите на "Enable Debugger" из выпадающего списка. 
3: Нажмите на "AutoHack Окно" из выпадающего списка. 
4: В "AutoHack окна" перейдите на вкладку редактирования на верхней части окна. 
5: Нажмите на кнопку "Установить точку останова" из выпадающего списка. 
6: Теперь в маленьком всплывающем окне вы должны убедиться, что поле "Тип" имеет значение "Write" и введите адрес, который вы только что нашли в поле адреса. Так вернемся к оригинальной Т-окно поиска, дважды на адрес в поле "Адрес" 
поле, пока не будет выделен синим цветом (или просто перетащите курсор мыши на это, чтобы выделить) правой кнопкой мыши и выберите копировать. Теперь вернемся к "AutoHack" окно и вставить в поле адреса. Теперь нажмите на "Установить точку останова". 
7: Хорошо, теперь, что ваша точка останова устанавливается на адрес, Вы должны сделать ваше здоровье измениться так, что игра ", пишет" по адресу, для того, чтобы Т-Поиск, чтобы читать то, что адреса к его содержимому. Так вернуться в игру и взять несколько хороших хитов от толпы. Убийств толпу, а затем использовать таблетки, чтобы полностью исцелить себя. 
8: ALT + TAB обратно в Т-поиска и посмотреть в "AutoHack" окна. Вы увидите, 5 адресов теперь там, касающиеся команды. Все эти адреса являются статическими и не будет меняться следующей загрузке игры, они также должны быть одинаковыми на другие машины. Все они также имеют некоторое отношение к изменению текущего состояния здоровья в игре. 

Эти адреса, которые я нашел: 
Они должны быть одинаковыми для вас, как хорошо, если не не беспокоиться о том, что именно поэтому мы намерены найти Pointer. 

407728: Леа ESI, [ESP +0 x70] / / В данном случае "ESP" зарегистрировать держит указатель и 0x70 является OFFSET. Так ESP +0 x70, где ваши текущие HP проходит. 
40A8AB: MOV [ECX +0 x168], EDX / / Это адрес, который мы в конечном итоге использование. ECX +0 x168 в этом случае будет указатель на текущий л.с., но мы все еще должны выяснить, что является ECX, то есть где OllyDbg приходит дюйма Кроме того, я обнаружил, что если установить точку останова на этот адрес и иди в игры, он сломается, если вы выберите что-то (земля двигаться, Mob, т.д.). 
44E002: суб [EAX + ECX +168], EDX / / Вычитание урон от вашего HP суммы и сохраняет значение в EDX Регистрация. 
44BBB6: добавить [EAX +0 x168], EDX / / Добавляет исцеление сумму на свой Текущее количество HP и сохраняет значение в EDX Регистрация. 
44BBF2: MOV [EDX +0 x168], EAX / / Перемещает новое текущее значение HP в EAX регистр. 

На данный момент мы закончили с Т-Поиск. Убедитесь, что вы помните динамический адрес вы нашли (откройте блокнот и вставьте / тип его для хранения и транспортировки). Идем дальше и близких Т-Поиск (если вы выполнили шаги, описанные выше и прилагается отладчик для останова ваш адрес, так как вы прилагается отладчик к игре, когда вы закрываете Т-поиск это также приведет к закрытию игры, в этом случае вы будете необходимо перезапустить Т-Поиск и сделать шаг 1 снова, так как адрес, который вы обнаружили, динамические она будет отличаться при перезагрузке игры. Или вы можете просто использовать второй адрес в списке от "AutoHack" 
(40A8AB: MOV [ECX +0 x168], EDX), как это адрес, который будет OllyDbg Перерыв на адрес и мы будем использовать, чтобы найти наш указатель и смещение). Если у вас есть программа для сброса порта отладки вы можете использовать его, а затем близкие Т-Поиск (Winject является хорошим примером того, Google это когда-то, если бы Вы попробовать), в противном случае не беспокойтесь об этом, просто закрыть Т-поиск, перезагрузить игру, и либо использовать второй адрес из "AutoHack" или Re-Scan для динамического Адрес HP. 

Вкл OllyDbg >>>:<<< 


_____________________________________________________ 

- Шаг 2: Установка точки останова в OllyDebug .-- 
_____________________________________________________ 


После того как вы realoaded игры и вошли в игру, идти вперед и ALT + TAB обратно из игры, перейдите в каталог, где находится Ваша копия OllyDbg. Запуск OllyDbg и присоединить его к "TwelveSky.exe" процесс в списке процессов. Если у вас нет OllyDbg Просто Google это, легко найти. Текущая "Full" версии 1.10. Вы хотите получить 1,10 версии 2.0 все еще в альфа-стадии. 
ОК, я Googled для людей, которые его не имеют: http://www.ollydbg.de/ 

Посмотрите на левой стороне страницы под "Файлы" категории. Нажмите на первый файл "ODbg110.zip". Скачать его. Вам понадобится WinRar, чтобы открыть его (или WinZip?). Создайте новую папку на вашем компьютере в любом месте вы хотите, и извлечь содержимое архива в эту папку. 

Хорошо сначала я дам пробоя Главного 4 Windows мы будем использовать: 

Процессор Вид: Крупнейший окна в верхнем левом углу, Вот где весь код программы и отображается в главном окне вы будете работать. 

Регистрация Вид: верхнем левом углу, это где регистры отображаются и текущие значения / адреса они занимают. 

Hex Посмотреть Дамп: левом нижнем углу, Hex Dump. 

В представлении стека: нижнем правом углу. 

Хорошо дважды щелкните OLLYDBG.exe и запустить его. После его выполнения нужно прикрепить его к игре. Нажмите на "File" "Присоединить процесс", затем прокрутите список запущенных процессов, пока не найдете "TwelveSky.exe". Выделите "TwelveSky.exe" и нажмите кнопку "Прикрепить". Он начнет загрузку всех модулей в игре. Когда он заканчивает приложив ее потом выйти из игры в приостановленном состоянии. Для Возобновить игру нажмите кнопку "Play" кнопки на верхней части программы чуть ниже "Debug" на вкладке. Примечание: если вы оставите игры паузу слишком долго вы будете в конечном итоге получить отключены от сервера. В этом случае вам просто нужно снова войти в систему, ни один из адресов будет меняться так что вы в безопасности, и вам не придется заново делать что-либо (даже динамический адрес будет такой же, если вы не перезагружать игру полностью). Теперь первое, что необходимо сделать, это получить до начала "TwelveSky.exe" Module. Посмотрите на верхнюю часть Olly окна. Существует список кнопок с буквами в белых коробках. Нажмите на "Е" кнопку. Теперь дважды щелкните на "TwelveSk". Она должна быть первой в списке. 

Примечание: В этом окне вы можете получить базовый адрес модуля вы работаете (в данном случае TwelveSky.exe). Вот что он должен сказать: 
Base = 00400000 Размер = 00AA0000 (11141120). Вступление = 00401000 TwelveSk <ModuleEntryPoint> Name = TwelveSk Path = C: \. AeriaGames \ 12Sky \ TwelveSky.exe 
так что если вы не знали раньше, и вы должны когда-нибудь понадобится базовый адрес модуля в игре вы работаете именно здесь вы можете найти его. 

Хорошо, теперь, что вы дважды нажал на "TwelveSk" Модуль она должна привести вас в "CPU" вид. У вас будет приземлился где-то в "NTDLL" Module. Так вернемся к Модули зрения ("E" до кнопки вверху) и дважды щелкните по "TwelveSk" еще раз. Теперь вы должны вернуться в процессор Вид на вступление "TwelveSky.exe" Module. Вы должны быть по этому адресу: 

00401000> 8379 18 10 CMP DWORD PTR DS: [ECX +18], 10 

Теперь, когда мы находимся в "TwelveSky.exe" Модуль, идти вперед и щелкните левой кнопкой мыши внутри "Hex Dump" вид. Теперь щелкните правой кнопкой мыши для вызова меню опций. Найдите и выберите "Go To Экспрессия" (или вы можете просто нажать CTRL + G в "Hex Dump" окна, просто убедитесь, что "Hex Dump" Ваше активное окно). Теперь введите в динамический адрес, который вы нашли в 
Т-Поиск. Нажмите "OK". Ваш адрес в настоящее время первый в списке на "Hex Dump" вид. Теперь вам нужно выделить первые 4 байта (каждые 2 номера занимает один байт, поэтому для меня это: 71 02 00 00). Вот как это должно выглядеть так: 

ПРИМЕР: 

Адрес Hex дамп ASCII 
---------|---------------------------------------- --------|------ 
001605C0 | 71 02 00 00 BB 00 00 00 BB 00 00 00 00 00 00 00 | д ?..»...»....... 
001605D0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................ 
001605E0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................ 

Ваш может быть различным в зависимости от адреса вы нашли и текущий объем л.с. (первые 4 байта текущего здравоохранения), так что если вы повреждены, поскольку она продолжает лечение вы увидите эти цифры меняются (Вы должны щелкните левой кнопкой мыши на "Hex Dump "взгляд за это обновление номеров, хотя). Итак, прежде чем положить останова мы должны получить повреждения. Так пойдите в игру и получить удар в течение по крайней мере половина вашего здоровья (так он оленья кожа закончить лечение до останова установлена), а также внести обязательно закончить толпы, который вы использовали, чтобы получить повреждения, поэтому вам не убит. Теперь ALT + TAB обратно из игры, и с первых 4 байт подчеркнул идти вперед и щелкните правой кнопкой мыши еще раз. В меню на этот раз выберите "точку останова" вариант. Выберите и нажмите на «Память, при записи" вариант. Игра должна паузы немедленно. Теперь взгляните в "CPU" окно. Теперь вы должны иметь этот адрес выделен "CPU" Вид: 

0040A8AB 8991 68010000 MOV DWORD PTR DS: [ECX +168], EDX 

Принять к сведению информацию в маленькой области есть чуть ниже "CPU" окно и чуть выше "Hex Dump" окна. 

Эта информация будет очень полезна для все, что вы ищете: 

EDX = 00000204 / / Значение состоявшегося в EDX Регистрация. 
DS: [001605C0] = 00000200 / / Обратите внимание, ваш динамический адрес печатается между скобками. 

ПРИМЕЧАНИЕ: раз ваш будет выглядеть по-другому, то мое. Динамический адрес, конечно, разные, и два значения, показанные как правило, меняться вместе с вашим текущим количеством здоровья. 

ИТАК, теперь, прежде чем делать что-нибудь еще нам нужно удалить нашей точки останова и воспроизведения потока в игре. Так щелкните левой кнопкой мыши обратно в "Hex Dump" окна, а затем щелкните правой кнопкой мыши еще раз. Выберите "точку останова" вариант снова. Теперь это время нажать на кнопку "Удалить точку останова" вариант. Теперь нажмите кнопку воспроизведения снова воспроизведения потока в игру так, вы не получите отключены. 


_____________________________________________________ 

- Шаг 3: Использование OllyDbg, чтобы получить OFFSET .-- 
_____________________________________________________ 

ИТАК, теперь вернулся на адрес, который мы разбили на в "CPU" окно: 

0040A8AB 8991 68010000 MOV DWORD PTR DS: [ECX +168], EDX 

Этот адрес должен быть одинаковым на компьютере, а также, но если это не инструкция, и это главное. Сейчас, глядя на эту инструкцию, мы нашли наш OFFSET к текущему значению HP: 

MOV DWORD PTR DS: [ECX +168], EDX / / Перемещение DWORD Указатель [ECX +168], EDX так оно движется значение ECX Регистрация + 0x168 в 
EDX Регистрация. ECX +168 держит наше текущее значение HP. 

Так OFFSET к текущему значению Здоровье вашего персонажа: 0x168 

Теперь нам нужно знать, OFFSET для максимального значения здоровья. Subract 4 из 168, и это смещение к Увеличивает максимальное здоровье. Таким образом, наши смещения: 

0x164 / / Максимальное здоровье OFFSET 
0x168 / / Текущий здравоохранения OFFSET 

_____________________________________________________ 

- Шаг 4: Использование OllyDbg, чтобы получить игрока Указатель .-- 
_____________________________________________________ 


Итак, теперь, когда мы OFFSETS, которые указывают на обе наши Макс и Cur здравоохранения ценности, которые мы должны знать, указатель адреса нашего характера. Таким образом, мы еще раз взглянуть на инструкцию: 

MOV DWORD PTR DS: [ECX +168], EDX / / Поскольку ECX +168 является указатель на наш Текущее значение HP, то указатель адреса, что мы 
нужно найти хранится в ECX. 
Итак, сначала, что нам нужно сделать, это прокрутка вверх в функции от нашего адрес, содержащий HP и искать что-то, который устанавливает EAX регистр. Мы ищем что-то подобное, как например: 

MOV ECX, DWORD PTR DS: [657D48] / / Просто пример, а не реальные функции 

а иногда это будет примерно так: 

MOV EAX, DWORD PTR DS: [ECX] / / В этом случае вам нужно будет продолжать прокрутки вверх, пока не найдете то, что отличает EAX. До 
Вы найдете адреса. IE: MOV EAX, DWORD PTR DS: [657D48] 

ИТАК, вернемся к нашей функции. В данном случае это действительно просто, чтобы найти указатель, как это только 2 строки выше нашего оригинального адреса. Вот адрес, который держит в руках нашу POINTER + OFFSET и несколькими строками выше: 


0040A876 8B0D E0A7D000 MOV ECX, DWORD PTR DS: [D0A7E0] 
0040A87C 8B4424 30 MOV EAX, DWORD PTR SS: [ESP +30] 
0040A880 8B7424 34 MOV ESI, DWORD PTR SS: [ESP +34] 
0040A884 893D CC32A900 MOV DWORD PTR DS: [A932CC], EDI 
0040A88A A3 5033A900 MOV DWORD PTR DS: [A93350], EAX 
0040A88F 8935 5433A900 MOV DWORD PTR DS: [A93354], ESI 
0040A895 8959 68 MOV DWORD PTR DS: [ECX +68], EBX 
0040A898 8B15 E0A7D000 MOV EDX, DWORD PTR DS: [D0A7E0] 
0040A89E 897A 6C MOV DWORD PTR DS: [EDX +6 C], EDI 
0040A8A1 8B0D E0A7D000 MOV ECX, DWORD PTR DS: [D0A7E0] / / Ах, ECX, Переместить ECX, DWORD POINTER [D0A7E0] ECX = D0A7E0 
0040A8A7 8B5424 28 MOV EDX, DWORD PTR SS: [ESP +28] 
0040A8AB 8991 68010000 MOV DWORD PTR DS: [ECX +168], EDX / / Наш адрес, который держит в руках нашу POINTER + OFFSET для CUR HP. 
0040A8B1 8B0D E0A7D000 MOV ECX, DWORD PTR DS: [D0A7E0] 
0040A8B7 8B5424 2C MOV EDX, DWORD PTR SS: [ESP +2 C] 
0040A8BB 8991 70010000 MOV DWORD PTR DS: [ECX +170], EDX 
0040A8C1 8B0D E0A7D000 MOV ECX, DWORD PTR DS: [D0A7E0] 
0040A8C7 8981 D4000000 MOV DWORD PTR DS: [ECX + D4], EAX 
0040A8CD 8B0D E0A7D000 MOV ECX, DWORD PTR DS: [D0A7E0] 
0040A8D3 8B81 D8000000 MOV EAX, DWORD PTR DS: [ECX + D8] 

Так что теперь получить доступ к нашим Текущий здравоохранения, нам просто необходимо сделать следующее: 

0xD0A7E0 +0 x168; 

Одним из способов использования этого в программе: 

DWORD dwBytesRead; / / Указатель для хранения оригинального BYTES 
DWORD dwPlayerBase; / / Указатель для хранения нашего указателя в: 0xD0A7E0 
DWORD dwCurrentHealth; / / Указатель для хранения наших текущее значение здоровья в 
DWORD dwMaximumHealth; / / и указатель для хранения наших макс здоровья в 

ReadProcessMemory (HANDLE, (недействительными *) 0xD0A7E0, и dwPlayerBase, SizeOf (dwPlayerBase), и dwBytesRead) / / Чтение памяти 

//---------- / / Адрес 0xD0A7E0. 
/ / Разбивка: 
//---------- 

/ * HANDLE = указатель на процесс чтения (то есть: TwelveSky.exe) установит, что в следующем шаге. 

0xD0A7E0 = Адрес для чтения. 

И dwPlayerBase = Наша Указатель для хранения нашего указателя в сверху, функция читает памяти по адресу 
поставляться и сохраняет его в наш указатель dwPlayerBase. 

SizeOf (dwPlayerBase) = читает размер (количество байт) 
/ / Байт, прочитанных НИЖЕ 
dwBytesRead = магазинах байт по адресу (то есть: инструкция) 0040A8D3 8B81 D8000000 MOV EAX, DWORD PTR DS [ECX + D8] 
------------- 
* / 
ReadProcessMemory (HANDLE, (недействительными *) (dwPlayerBase +0 x168), и dwCurrentHealth, SizeOf (dwCurrentHealth), и dwBytesRead); 
//---------- 
Разбивка: 
//---------- 
/ / То же самое, только теперь мы используем наши POINTER + OFFSET для хранения наших CurrentHealth значение в наших собственных указателей: dwCurrentHealth 

ReadProcessMemory (HANDLE, (недействительными *) dwPlayerBase +0 X164), и dwMaximumHealth, sizeor (dwMaximumHealth), и dwBytesRead); 

//---------- 
Разбивка: 
//---------- 
/ / То же самое, только теперь мы используем наши POINTER + OFFSET для хранения наших CurrentHealth значение в наших собственных указателей: dwMaximumHealth 

Теперь, когда у нас есть Максимальное здоровье и здоровье Текущий хранятся в наших указателей мы можем использовать их для создания функции automaically отправить нажатие клавиши в нужное время. Исходный код ниже для простого проекта DLL. 


_____________________________________________________ 

- Шаг 5: Ввод всю эту информацию использовать ---- 
_____________________________________________________ 


Теперь я приведу пример проекта источником кода для простой DLL, который будет привязан к 12Sky процесса и создать новый поток, в потоке не будет цикл и внутри цикла идет код сверху, так и функцию для отправки нажатие клавиши, чтобы зажить. Цикл будет заставить программу постоянно обновлять информацию так, чтобы указатели, созданные выше всегда будет иметь два значения здоровья. Без цикле это будет просто прочитать информацию один раз и никогда не будет currenthealth обновления, было бы просто остаться, как это было, когда DLL впервые был прикреплен к процессу. Так вот кода и расшифровка функций в пределах: 


************************************ Twelve Sky Пример DLL ПРОЕКТ ********* ********************************************** 
*********************************** +______________________________+ ************ ******* 000000000 ************************** 
***************************************** AUTO ИСЦЕЛЕНИЕ СЭП ****** ************************************************** ******** 


/ / Однострочный комментарий 

/ * 

Многострочный комментарий 
* / 
/ / Комментируя используется для любого текста внутри источника, который вы не хотите, чтобы компилятор читать 

# Определять WIN32_LEAN_AND_MEAN 
# Включить <windows.h> 
# Включить <iostream> 
# Включить <time.h> 
# Включить <stdio.h> 
# Включить <sys/types.h> 
# Включить <sys/timeb.h> 
# Включить <string.h> 
использование имен STD; 

# Определять FILELOCATION "C: \ \ 12SkyHelper \ \ 12Sky.log" / / Определить выходной каталог для лог-файл 

add_log недействительным __cdecl (сопзЬ сЬаг * FMT, ...); / / Для журнала функцию 

Ручка TwelveSky = GetCurrentProcess (); / / HANDLE = Указывает на процесс / модуль для чтения 
HWND SkyWnd = FindWindow (0, "TwelveSky"); / / Используется для чтения, если TwelveSky является активным окном 
/ / DWORD PID = GetPIDbyTitle ("TwelveSky"); / / Функция из winject источник, чтобы найти текущее 
/ / DWORD = PID2 GetPIDbyClass ("TwelveSky"); PID / / процесса. Его как раз здесь для будущего использования. Удалите ее, если Вы 
/ / Нравится или вы можете Google для "Winject Источник" и добавить его в свой 
/ / Проекта. 
DWORD dwBytesread / / Магазины оригинальных байт с адреса читать 
DWORD dwCurHealth / / Все наши указатели, которые проведут наши HP / MP Информация и Наше Базовый указатель Адрес 
DWORD dwMaxHealth; 
DWORD dwPlayerBase; 
DWORD dwCurMP; 
DWORD dwMaxMP; 
Ьоо UseMed = TRUE; / / логическое значение, чтобы расшифровать погоды или не использовать MedKey функции или просто использовать таблетки для МП 
BYTE MedKey = VK_F5; / / Значение рассказать программы, которая ключ для использования 
плавать HPPercent = 0,5; / / Float значение, чтобы определить, какой процент здоровья, мы должны либо достичь или опускается ниже автоматического исцелить 
плавать MPPercent = 0,5; / / То же, что и выше в течение депутат 
DWORD Slot 1; / / Указатели на таблетки Слоты читать погоду они таблетки или они пусты 
DWORD Slot2; 
DWORD Slot3; 
DWORD Slot4; 
# Определять VK_1 0x31 / / Определение ключевых 1-4, потому что не будет компилироваться, если вы пытаетесь использовать VK_1-9 
# Определять VK_2 0x32 
# Определять VK_3 0x33 
# Определять VK_4 0x34 

Int SendKeyStroke (BYTE TheKeyToSend) / / Наш AutoKeyPress функции 
{ 
keybd_event (TheKeyToSend, / / ??KeyDown события 
MapVirtualKey (TheKeyToSend, 0), 
0, 
0); 
keybd_event (TheKeyToSend, / / ??KeyUp событий 
MapVirtualKey (TheKeyToSend, 0), 
KEYEVENTF_KEYUP, 
0); 
возвращает 1; 
} 
DWORD ReadThread (LPVOID lpArgs) / / Автор Наши 
{ 
add_log ("Нить Работает."); 
в то время как (1) / / Начало цикла 
{ 
/ / 5579AC Указатель для команд GM:) 

//:::::: НАШИ ReadProcessMemory ФУНКЦИЙ хранить значения HP / MP в нашу СТРЕЛКИ :::::: \ \ 
/ / HANDLE TwelveSky = GetCurrentProcess (); 
ReadProcessMemory (TwelveSky, (недействительными *) (0xD0A7E0), и dwPlayerBase, SizeOf (dwPlayerBase), и dwBytesread); 
ReadProcessMemory (TwelveSky, (недействительными *) (dwPlayerBase +0 X164), и dwMaxHealth, SizeOf (dwMaxHealth), и dwBytesread); 
ReadProcessMemory (TwelveSky, (недействительными *) (dwPlayerBase +0 x168), и dwCurHealth, SizeOf (dwCurHealth), и dwBytesread); 

/ * Наша OFFSETS для МП можно найти так же, как мы обнаружили, HP. Как только вы получите динамический адрес депутата при сканировании 
Т-поиск, точку останова его в OllyDbg, на адрес, который он распадается на вы найдете ECX +170 в инструкции. 
Это, конечно, ваш текущий указатель депутат. Вычтите 4 из 170, и вы получите 16C (шестнадцатеричный) * / 

ReadProcessMemory (TwelveSky, (недействительными *) (dwPlayerBase +0 x170), и dwCurMP, SizeOf (dwCurMP), и dwBytesread); 
ReadProcessMemory (TwelveSky, (недействительными *) (dwPlayerBase +0 x16C), и dwMaxMP, SizeOf (dwMaxMP), и dwBytesread); 

/ / Чтение из указателя адреса всех 4 слотов таблетки и хранить значение (количество таблеток) на наш собственный указатель 
ReadProcessMemory (TwelveSky, (недействительными *) (0xA93864), и Slot 1, SizeOf (Slot 1), и dwBytesread); 
ReadProcessMemory (TwelveSky, (недействительными *) (0xA9386C), и Slot2, SizeOf (Slot2), и dwBytesread); 
ReadProcessMemory (TwelveSky, (недействительными *) (0xA93874), и Slot3, SizeOf (Slot3), и dwBytesread); 
ReadProcessMemory (TwelveSky, (недействительными *) (0xA9387C), и Slot4, SizeOf (Slot4), и dwBytesread); 


DWORD = HealHealth dwMaxHealth * HPPercent / / использовать наши MaxHealth указателей и умножить на значение с плавающей точкой положить выше 
DWORD = RestoreMP dwMaxMP * MPPercent; / / то же, но с Указатель MaxMP 
если (SkyWnd == GetForegroundWindow ()) / / Makesure TwelveSky является активным окно, поэтому он оленья кожа посылать нажатия клавиш, когда вы 
{/ / Минимизирован 
для (dwCurHealth; dwCurHealth <= HealHealth; dwCurHealth ++)// установки петли для текущего здоровья, если CurrentHealth 
{/ / Меньше или равно HealHealth (MaxHealth HPPercent * 
/ / Ведьма установлен до 0,5 по умолчанию. 0,4 0,3 40% 30% 0,6 60% 
если (Slot 1> 0) / / Убедитесь, что Slot1 имеет таблетки (Slot1 больше 0) 
{ 
SendKeyStroke (VK_1) / / Отправить KeyPress 
add_log ("Ваш HP был только восстановлен из Slot 1") / / Добавить в журнале предупреждений нажатие 
} 
остальное, если ((Slot 1 == 0) & & (Slot2> 0)) / / Если slot1 пуст использовании и имеет Slot2 таблетки использовать SLOT2 
{ 
SendKeyStroke (VK_2); 
add_log ("Ваш HP был только восстановлен из Slot2"); 
} 
еще {add_log ("Добавить HP таблетки по Slot1 или Slot2");} / / если оба slot1 и 2 пустых предупреждения в журнал не таблетки 
} 
для (dwCurMP; dwCurMP <= RestoreMP; dwCurMP ++)// же, как HP, но с использованием МП Указатели 
{ 
если (! UseMed) / / Если нет UseMed (если Ьоо UseMed установлен на ложных продолжение) 
{ 
если (Slot3> 0) / / проверяем SLOT3 для таблеток 
{ 
SendKeyStroke (VK_3); 
add_log ("Ваш депутат был только восстановлен из Slot3"); 
} 
остальное, если ((Slot3 == 0) & & (Slot4> 0)) / / SLOT3 из таблеток, проверить slot4 и использовать его, если Есть таблетки 
{ 
SendKeyStroke (VK_4); 
add_log ("Ваш депутат был только восстановлен из Slot4"); 
} 
еще {add_log («МР таблетки по Slot3 или Slot4");} / / в сообщении таблеток 
} 
если (UseMed) / / если значение BOOL UseMed установлен Правда он будет использовать ваши навыки медитации вместо MPPills 
{/ / Использовать это, когда вы бедны 
SendKeyStroke (MedKey); / / использование sendkeystroke как нормальные, но использовать переменную MedKey так что он может быть 
/ / Может быть установлена ??через пользовательские конфигурации (конфигурации, которые будут добавлены в более позднее время) 
add_log ("Ваш MP восстанавливается с помощью медитации"); 
} 
} 
} 
Sleep (1000) / / Пауза в течение 1000 миллисекунд (1 сек), либо поток отстает от программы ужасно 
} 
возврат 0; 
} 

BOOL WINAPI DllMain (HINSTANCE HMODULE, DWORD dwAttached, LPVOID lpvReserved) / / DLL главное, подключиться к процессу 
{ 
если (dwAttached == DLL_PROCESS_ATTACH) / / Присоединение к процессу 
{ 
DeleteFile (FILELOCATION) / / Удаление старых журналов, чтобы начать новую 
CreateThread (NULL, NULL, (LPTHREAD_START_ROUTINE) ReadThread, NULL, NULL, NULL); / / создаем поток 
add_log ("--------------------------"); / / лишь некоторые регистрации 
add_log ("--------------------------"); 
add_log ("---- новый журнал работы ------- "); 
add_log ("В приложении к 12Sky Клиент»); 
add_log ("--------------------------"); 
add_log ("--------------------------"); 
add_log («поток, созданный."); 
/ / Add_log ("PID =% D", PID); / / используется это с winject исходный код, чтобы найти текущий PID из TwelveSky.exe 
/ / Add_log ("PID =% D", PID2); 
} 

если (dwAttached == DLL_PROCESS_DETACH) / / Отключить DLL 
{ 
add_log ("DLL отделена от 12Sky Клиент") / / Журнал отсоединить 
} 
возвращает 1; 
} 
недействительным __cdecl add_log (сопзЬ сЬаг * FMT, ...) / / и последнее Функция регистрации 
{ 
# IFNDEF _NO_ADD 
va_list va_alist; 
символ logbuf [256]; 
FILE * р; 
Структура тм * current_tm; 
time_t current_time; 

времени (и current_time); 
current_tm = местному времени (& current_time); 

Sprintf (logbuf ", [% 02d:% 02d:% 02d]", current_tm-> tm_hour, current_tm-> tm_min, current_tm-> tm_sec); 

va_start (va_alist, FMT); 
_vsnprintf (logbuf + StrLen (logbuf), SizeOf (logbuf) - StrLen (logbuf), FMT, va_alist); 
va_end (va_alist); 

если ((р = Еореп (FILELOCATION ","))! = NULL) 
{ 
fprintf (р, "% s. \ п", logbuf); 
fclose (FP); 
} 
# ENDIF _NO_ADD 
} 





Надеемся, что она нам помогает и, надеюсь, я не делал слишком много ошибок. Я думаю, что я набрал его довольно ясно, но, пожалуйста, если есть все, что сбивает с толку орфографических ошибок и т.п. момент он ко мне, и я буду это исправить. Надеемся, что это вызовет немного интереса к TwelveSky и мы увидим, по крайней мере небольшое количество релизов для игры. Или по крайней мере, это может помочь кому-то найти указатели по какой-то игре они могут хотеть их. 

/ * Примечание: Чтобы получить таблетки Слот адреса просто поместить некоторые таблетки в слот и поиска этого значения в Т-Поиск (оставить его на "Точное значение" и "4 байта" Затем зайдите в игру и удалить около 20. Таблетки. Затем найдите значение однако многие таблетки остаются в слот. Затем добавить несколько назад и искать новые ценности. Промыть и повторных, пока вы не вниз, чтобы только один адрес. Сделайте то же самое для всех 4 слотов. Эти адреса являются статического поэтому, как только вы найдете все 4 адреса в Т-Поиск вы сделали и готовы, чтобы добавить их к вашей программе. 

Депутат может быть таким же, как HP (но его немного легче, не имея получить повреждения и все). Просто ваш депутат полный, Поиск Value ("Точное значение" "4 байта"). Затем с помощью умения, использовать положительный эффект навыка. Идите и ищите "Изменена стоимость". Теперь должно isoloate один динамический адрес. Если это не так просто вымойте его и повторите процесс, пока у вас есть один адрес. Затем перейдите на Olly и поиска OFFSET текущих MP же, как вы сделали с HP (вам не нужно искать указатель, потому что это же, как и HP 0xD0AE70). По состоянию на Twelve Sky клиента Version 1.10, Вы должны найти 0x170 быть смещение Текущий депутат. Вычтите это смещение на 4, чтобы получить максимальное MP смещения (значения в шестнадцатеричной системе, так что используйте известково в научном режиме шестнадцатеричного выбрана). Вы придумали 16C (Client версии 1.10). 

Теперь вы можете найти указателей и OFFSETS, необходимые для обновления исходных кодов для любого будущего выпуска Клиент Twelve Sky. Таким образом, вы всегда должны иметь рабочую AUTO HEAL / MP.RESTORE программы для любой версии .* / 


*********************************************** 
*********************************************** 
***** Компиляции исходного кода в DLL **** 
*********************************************** 
*********************************************** 

Вам нужно будет установить C + + компилятор. Если вы не один Есть несколько бесплатных них там. Off верхней части моей головы я знаю, DevC + + кровопролитием (Google его), и вы можете Express Edition в среде Microsoft Visual Studio с их сайта (Google его). Или вы можете перейти на варез, если вы хотите полную версию Visual Studio (я в настоящее время использовать Visual Studio 2003. Нетто). 


Если предположить, что с помощью Visual Studio вы хотите начать новый проект. К Win32. Выберите Win32Project (не консольного приложения). Введите имя и каталог (C: \ SomeFolderName, Thats простой для меня). Следующая страница нажмите кнопку настройки приложения и выберите DLL и пустой проект. Нажмите кнопку Готово. Ваш проект будет создан. Теперь скопируйте исходный код выше пустой документ Блокнота, а затем SaveAs в C: \ SomeFolderName каталоге, WHATEVERYOUWANTTONAMEIT.cpp 
После этого в Visual Studio и посмотрите на правую сторону, заместитель Обозреватель решений. Там будет список элементов. На самом верху он будет говорить "Решение" YOURPROJECTNAME "и чуть ниже, что он просто говорит:" YOURPROJECTNAME ". Нажмите на нее, то щелкните правой кнопкой мыши на нем. Выберите "Добавить", "Добавить существующий элемент", в настоящее время перейти на ваш C: \ SomeFolderName каталогов и дважды щелкните по WHATEVERYOUWANTTONAMEIT.cpp. А теперь посмотрите вокруг среднего началу программы, которую вы видите работу "Debug" с выпадающего списка. Вали, что список и выберите "Release". Теперь переходим к "Build", и нажмите на "Build YOURPROJECTNAME". Теперь он должен компилироваться без ошибок и вы можете найти свой YOURPROJECTNAME.dll в C: \ SomeFolderName \ Release каталога. Теперь просто получить инжектор, начать 12Sky и Войти в игру, Inject DLL в TwelveSky.exe. 

Re: Поиск адресов

15 янв 2012, 04:22

С какого подполья?
МОИ УСЛУГИ http://zorgee.ru/viewtopic.php?f=99&t=35778
Продаю:
ВХ на ЗАКАЗ=200р
Исходник ВХ с обычными функциями=200р
Исходник ВХ со всеми функциями=600р
Исходник инжектора=200р
Мой Скайп:kosa-awesome666

Re: Поиск адресов

15 янв 2012, 13:08

С какого подполья?
only ****.ru

Re: Поиск адресов

16 янв 2012, 11:46

это ваще под какие длл?
И поиск адресов для каких функций?
на форуме с 2011 года, 13 сделок без гаранта) 122 спасибки!

Re: Поиск адресов

16 янв 2012, 19:18

это ваще под какие длл?
И поиск адресов для каких функций?
Это для поиска значений!

Re: Поиск адресов

09 сен 2016, 12:35

Классно наверное код, в переводчик совать..

Re: Поиск адресов

02 авг 2017, 20:50

:eeK:
Сообщений: 7 Страница 1 из 1 Страница 1 из 1

Кто сейчас на форуме

Сейчас этот форум просматривают: 2 и гости: 0

Показать больше...