Перейти к содержанию

MasterGH

Ветераны
  • Постов

    2 999
  • Зарегистрирован

  • Победитель дней

    129

Весь контент MasterGH

  1. Тут надо яваскрипт писать. Я думаю, если бы Кенг захотел, то мог бы помочь с этим Исходник страницы уже есть.
  2. Мда, похоже меня глюкануло. Так что извиняюсь Но вот есть какой-то похожий отладчик
  3. Введи в поиск OllyDbg 64. Или на официальном сайте получше поищи OllyDbg 2,01 alpha 4 поддерживает и x64 процессы. Я тестил месяц назад где-то и до этого еще много раз.
  4. Если игра Shadow Of Mordor 64-разрядная, то и OllyDbg должна быть тоже 64-разрядная. Но судя по скриншоту, у тебя 32-х разрядная OllyDbg 1.38 версии. Те надо 64-bit OllyDbg версии например OllyDbg 2.01 и запустить её от имени админа.
  5. OllyDbg можно запустить от имени администратора и должны появиться процессы.
  6. В VerseQ я только что напечатал первую строку в три ночи, на русском со скоростью 355 символов в минуту, аритмичность 51. Ошибок 0. Pro q 375. Ни разу не смотрел на клаву. Кому интересно можете сравнить свой результат с моим. У меня еще клава шумная, особо не впечатешь на полную катушку. Почему аритмичность такая, понять не могу.
  7. А я в последнее время предпочитаю не искать фильтры в структурах, стеках, регистрах. Вместо этого ищу часто обращаемые инструкции, которые работают только с данными одной структуры, а с другими не работают. Возьмем к примеру зацепку за GUI интефрейс показывающего количество здоровья. Код читает здоровье нашего персонажа и не читает другие, и происходит это очень часто. Вот и фильтр искать не надо в структурах, когда делаешь чит на здоровье. А если надо делать one hit kill, то вытащить поинтер на структуру из инструкции работающей с гуи и сравнивать по нему. Не придется искать фильтров в структурах. Хотя, конечно, это интересно, но не факт, что отличия между структурами могут быть фильтрами всегда и везде. Вариант с гуи имеет большую вероятность на работоспособность. Еще один момент. В разных версия игр смещения от начала структуры могут меняться и их использовать в качестве фильтра из другой игры нельзя будет. На моей памяти несколько было таких игр. Но опять же все зависит от игры, как в ней и что будет предсказать сложно.
  8. А "Соло на клавиатуре" я знаю, не прошел и половины и это было давно. Это не обучение, а какое-то выдергивание нервов. Поэтому тем кто не смог, VerseQ в помощь. Сначала тяжело, потом все легче и легче. И не обязательно по долгу сидеть, сколько желания будет. В "Соло на клавиатуре" можно делать, то что не хочешь делать много раз, пока не пройдешь урок. Если сделал ошибку, то печатай сначала... Психотерапия одним словом.
  9. Программа VerseQ на основе алгоритма цепей Маркова. Она тренирует скорость, ритм и с теми символами, с которыми больше всего "проблем". Когда ты ошибся, то звуковой сигнал будет бить по мозгам как молоток или "как электрически ток" вырабатывая рефлексы. Чем громче тем "больнее". Это приведет к тому, что руки будут сами писать, а ты только думать, что хочешь видеть на экране. Отличная тренировка. Но и возможна тренировка без этой программы. т.к. реальный текст нужно подправлять быстро. Можно, но на своей шкуре испытал, что это будет так долго и уныло, что у тебя скорость и ритм будут не выровнены (если они тебе конечно нужны). При обучении у тебя не будет звука "молотка", который будет вырабатывать условный рефлекс на наиболее проблемных символах. По мимо русского алфавита, программистам нужны английские клавиши и набор специализированных символов. Без тренировки именно на этой программе, у меня ничего не получалось. Забываешь, путаешься, а код надо писать быстро по срокам. Я писал код и смотрел на клавиатуру несколько лет. Теперь мне это нафиг не надо и вообще на клаву не смотрю. Но с чужой клавиатурой могут быть траблы, т.к. надо привыкать. Купил новую клаву, привыкал около месяца пока все ощущения дискомфорта не прошли.
  10. Не сочтите за рекламу, а как средство понизить утомляемость и увеличить скорость печати на клаве. Достигается через тренировки в программе VerseQ (можно вбить в поиск и найдете) Позволит: 1. значительно уменьшать напряжение на глаза при многочасовой работе 2. увеличить скорость написания кода 3. знать клавиатуру как свои 10 пальцев
  11. Я не могу тебе тут помочь. Это вопрос к модератору или администраторам
  12. Исправил "C++ запись значения в консольном приложении" #include "stdafx.h"#include <iostream>#include <windows.h>using namespace std;int main(){ HWND hWnd; DWORD dwID; HANDLE hProcess; hWnd = FindWindow(NULL, "Test"); GetWindowThreadProcessId(hWnd, &dwID); hProcess = OpenProcess(PROCESS_ALL_ACCESS, NULL, dwID); int value = 1000000; WriteProcessMemory(hProcess, (void*)0x0045B5A4, &value, sizeof(&value),NULL); return 0;}
  13. Спасибо, Руслану за уроки, они вдохновляют. В последнее время интерес у меня немного угасает, но как видео посмотрю или пост некоторый, то появляется желание что-то сделать. Но пка, я все же подсел на программирование ботов. Первый алгоритм, который строит второй, а второй строит первый. Первый является бодрствованием - получением сигналов извне и реакцию на них, второй алгоритм блокирует первый и перестраивает его - это сон. Но пока, у меня ничего не получается (стоило ожидать)... Но я чувствую, что бот будет играть гораздо лучше человека, т.к. программа может очень тонко настаивать время "удерживания" и "отпускания" кнопок(или горячих клавиш) при больших разветвлениях условий.
  14. А никто еще по уроку не создал форму на C++ ? Ведь сейчас выходные, а потом может времени не быть. Можете еще запись числа по адресу сделать. Вот пример, правда без горячих клавиш и консольное приложение для игры "3D Pinball for Windows - Space Cadet"" #include <iostream>#include <windows.h>using namespace std;ProcessWriteMem(HANDLE hProcess, DWORD Address, void* p_value, BYTE size) { try { WriteProcessMemory(hProcess, (void*)Address, p_value, size, NULL); } catch(...) {}}int main(){ HWND hWnd; DWORD dwID; HANDLE hProcess; hWnd = FindWindow(NULL, "3D Pinball for Windows - Space Cadet"); GetWindowThreadProcessId(hWnd, &dwID); hProcess = OpenProcess(PROCESS_ALL_ACCESS, NULL, dwID); int value = 1000000; ProcessWriteMem(hProcess, 0x00C20C62, &value, sizeof(&value)); return 0;}
  15. А вы знаете, что на главном сайте стартовала серия видео о создании трейнеров? Еще не смотрели? Тогда идем смотреть
  16. Чтобы помочь надо понимать, а я ни чё не понял."Многа букав, цель нечеткая... мозг уехал в отпуск"
  17. Могу посоветовать поискать туторы по рисования для Cheat Engine, а еще лучше на C++ Начни с простого. С того, что понятно "Алешке"
  18. Если ты напишешь push ebx, то это будет ассемблироваться CE как push rbx и тоже самое pop ebx будет ассемблироваться как pop rbx push rbxmov ebx,[r9+14]mov [r9+10],ebxpop rbx
  19. Про компиляцию ни чего не скажу, т.к. гуглить. C# пример с GUI я привести не могу у меня даже нет проекта на руках, т.к. код я писал на заказ и не один день. Писать пример с нуля на C# не хочется, лень. В данный момент времени, например надо использовать switchN (){ ... case N: // уровеньN ленты меню switch1 () // уровень1 { case C: // уровень2 switch2 () { case F: // уровень3 // Обрабтка попадания в область из ряда областей (зависит от вложения) // Визуальное Поведение кнопки // Реакции кнопки break; } } } }}switchN () ... case N: switch1 () { case A: switch2 () { case D: break; case E: break; case F: break; } break; case B: switch2 () { case D: break; case E: break; case F: break; } break; case C: switch2 () { case D: break; case E: break; case F: break; } break; } ...}
  20. 1. Построить код другим кодом легче, быстрее чем выстроить свитч кейсы (особенно имеет смысл когда свитч-кейс сильно ветвящийся) 2. Короткий код построения другого кода. Быстрее напишешь. Вызывается разово по ситуации. 3. Короктий код в активном частом цикле. Меньше тактов за время >> А какая разница, что код сам себя строить будет, либо будет пробегать по одному "жесткому" (как ты сказал) циклу, если код все-равно не сможет себя построить так, как ты этого не задумывал (не предвидел) изначально - на этапе разработки. В случае который я привел с гуи меню, код я заранее знаю, но я не знаю как пользователь будет перемещаться по меню, чтобы его показывать. Меню очень вложенное было. Мне проще вклинивать условия в цикл без одной большой иерархии свитч кейс. Кликнул на кнопку - кусок кода поставил на отрисовку по указтелю на функцию - меню рисуется. Кликнул на другую - опять код поменялся (последовательность уаказателей на функции) - рисуется по-другому. Выходишь и входишь в разные уровни меню без запоминания всего пути и сравнения всех вариатов условий. А свитч кейс придется аккуратно ручками выстраивать по каждой кнопке и вложенности на ленте меню. В случае Lisp программист может знать меньшее чем ему надо, а остальное более сложное будет формироваться по действиям в игре или по действиям пользователя. >>А если это так (а оно так, иначе - это громадный минус языка, т.к. вообще неясно, как он себя построит, и как это скажется на оптимизации), то что мешает писать сценарии выполнения программы, вместо использования тех же свитчей? На C# на делегатах все выстраивалось. Функции в делегатах перестраивались по тому пути, по какому был проход по меню пользователем и оно рисовалось по циклу без большого количества других условий в свитч кейс. Говоря простым языком, это были вызовы по указателям функций с историями указателей на функции. Последний указатель шел в цикл на рисование. Нужно было знать из какого меню в какое зашли и вернулись. Т.к. были меню, в которые можно было зайти из разных. В случае с меню я привел - это единственный пример на практике. Все остальные условия я прописывал ручками
  21. Если ты сделаешь push [r9+14] и pop [r9+10], то будет фигня, т.к. в стек полетит 8 байт, а не 4. Вылет из игры обеспечен. Так что не знаю, как там сумел пропушить
  22. Код меняет код и исполняет последний без перекомпиляции. Выгода в том, что код будет создаваться под ситуацию, будет короче, чем код, который постоянно сверяет все условия под все ситуации. Для сравнения. 1. Жесткая компиляция Огромный свитч с вложенными кейсами, в которых такие же свитч с вложенными кейсами и так до уровня 5-го или глубже. Те кто игры писал, те знают насколько бывают глубокими условиями. Те кто писал ботов, наверно жестко прописывают варианты вызовов функций по условиям. 2. Динамическое построение условий Тот самый огромный свитч отсуствует. По разовым событиям в игре код выстраивается так, что условий будет проходить меньше за цикл. Не нужно это громадное дерево из свитч-кейсов Это был практический пример, который я испытал на ГУИ на делегатах, на C# по работе. Но если на C# я тосую функции в делегате, удаляю нужные и не нужные по разовым событиям, то в Lisp можно еще и условия в списках составлять и выполнять списки как код. По крайне мере я так понял. Т.е. сложные условия по простым выстраивать гораздо реже, а то и вообще разы, чем эти условия будут по циклу проходить.
  23. Да не, не поинтеры. А там показывается какие инструкции работают с одним адресом. Надо найти инструкцию только для твоего героя, чтобы сделать ему здоровье (это уже сделано) и по аналогии найти инструкцию, которая работает только с выжившими. Скрипт на здоровье для выживших, только что сделал. { Game : deadrising3.exe Version: Date : 2015-07-15 Author : MasterGH This script Здоровье для выживших}[ENABLE] aobscanmodule(INJECT,deadrising3.exe,66 41 0F 6E 71 10 * * * * 41) // should be uniquealloc(newmem,$1000,"deadrising3.exe"+2CAE0B)label(code)label(return)newmem:code: movd xmm6, [r9+14] movd [r9+10],xmm6 jmp returnINJECT: jmp code nopreturn:registersymbol(INJECT)[DISABLE]//code from here till the end of the code will be used to disable the cheatINJECT: db 66 41 0F 6E 71 10unregistersymbol(INJECT)dealloc(newmem){// ORIGINAL CODE - INJECTION POINT: "deadrising3.exe"+2CAE0B"deadrising3.exe"+2CADE1: 48 8B 88 B0 00 00 00 - mov rcx,[rax+000000B0]"deadrising3.exe"+2CADE8: 8B 41 10 - mov eax,[rcx+10]"deadrising3.exe"+2CADEB: 85 C0 - test eax,eax"deadrising3.exe"+2CADED: 48 0F 4E 0D 23 22 3A 01 - cmovle rcx,[deadrising3.exe+166D018]"deadrising3.exe"+2CADF5: 8B 41 10 - mov eax,[rcx+10]"deadrising3.exe"+2CADF8: 85 C0 - test eax,eax"deadrising3.exe"+2CADFA: 48 0F 4E 0D 16 22 3A 01 - cmovle rcx,[deadrising3.exe+166D018]"deadrising3.exe"+2CAE02: 4C 8B 49 08 - mov r9,[rcx+08]"deadrising3.exe"+2CAE06: 4D 85 C9 - test r9,r9"deadrising3.exe"+2CAE09: 74 46 - je deadrising3.exe+2CAE51// ---------- INJECTING HERE ----------"deadrising3.exe"+2CAE0B: 66 41 0F 6E 71 10 - movd xmm6,[r9+10]// ---------- DONE INJECTING ----------"deadrising3.exe"+2CAE11: 66 41 0F 6E 41 14 - movd xmm0,[r9+14]"deadrising3.exe"+2CAE17: 49 8B 44 24 28 - mov rax,[r12+28]"deadrising3.exe"+2CAE1C: 41 8B 71 14 - mov esi,[r9+14]"deadrising3.exe"+2CAE20: 0F 5B F6 - cvtdq2ps xmm6,xmm6"deadrising3.exe"+2CAE23: 0F 5B C0 - cvtdq2ps xmm0,xmm0"deadrising3.exe"+2CAE26: F3 0F 5E F0 - divss xmm6,xmm0"deadrising3.exe"+2CAE2A: 66 0F 6E 40 20 - movd xmm0,[rax+20]"deadrising3.exe"+2CAE2F: 0F 5B C0 - cvtdq2ps xmm0,xmm0"deadrising3.exe"+2CAE32: F3 0F 59 35 BA 6C 03 01 - mulss xmm6,[deadrising3.exe+1301AF4]"deadrising3.exe"+2CAE3A: F3 0F 59 F0 - mulss xmm6,xmm0}
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.