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

keng

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

    1 635
  • Зарегистрирован

  • Посещение

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

    55

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

  1. Привет! Попробуй выключить опцию "Fast Scan", а три галочки над ней ("Writable", "Executable", "CopyOnWrite") поставить в "среднее" положение - когда там квадратик.
  2. Буквально вчера вечером наблюдал картину, как три гостя весело тусили на странице регистрации. Проблема в том, что тусили они там минут 40, так что я больше склоняюсь к тому, что это боты.
  3. keng

    Cheat Engine 6.6

    Любой может писать - форум открытый.
  4. Ребята, динамический base_address для PE-модуля - это очень редкая фигня, если я ничего не путаю. Автор, readprocessmemory точно правильно отрабатывает и точно есть все права? Ты можешь руками в Memory Viewer в Cheat Engine пройтись по всей цепочке и посмотреть, верна ли она, а затем сравнить с тем, что происходит в коде. Отладчик или логи - в помощь. Ошибиться тут сложно, главное - быть аккуратным.
  5. В смысле? Представь себе, что у тебя есть пирог. Как его быстрее скушать получится - одним ртом или двумя, четырьмя, десятью? Память - это просто массив. Делишь его на куски и каждому потоку отдаешь сканировать свой кусок. Все просто.
  6. Как минимум потому, что он это в несколько потоков одновременно делает.
  7. На первый взгляд - все в норме. Попробуй воспользоваться функцией GetLastError, чтобы выяснить, верно ли работает ReadProcessMemory. К тому же, память, которую ты читаешь, может быть защищена от чтения - от этого спасет VirtualProtectEx.
  8. Он работает так же, как и все подобные сканеры - открывает доступную для чтения память процесса, последовательно проходит по каждому адресу (учитывая размер переменной), выписывает все найденные адреса, значение которых совпадает с объектом поиска, в файлик. Дальше бегает по этому файлику - все последующие отсеивания.
  9. Привет! Логика простая. Если у тебя не работает код - показывай код, иначе мы будем пытаться прочитать его телепатически, а это больно.
  10. А в чем проблема исходники-то почитать? Там все паскальным по белому. Кстати, когда-то давно существовала программа WGC (Winner Game Cheater, если не ошибаюсь) - она сканировала быстрее СЕ\Артмани раз в 5-10. Наш соотечественник писал, кстати, и там был очень хардкорный алгоритм на ассемблере.
  11. Автор, привет! Когда-то давно я вполне успешно начал изучать ассемблер с "рассылки Калашникова" и "дневников чайника" aka bitfry-я на сайте exelab. Если коротко и очень округлить, то ассемблеры друг от друга отличаются синтаксисом. Удивительно, но факт: язык ассемблера - по сути, словесное написание ровно тех операций, которые может совершить процессор. Проблема в том, что процессоров много, они разные, соответственно - ассемблеров тоже много и разных, но в современном мире можно об этом особенно сильно не заморачиваться. Скажем, есть микроконтроллеры - маленькие такие компьютеры, представляющие из себя один-единственный чип, со своей памятью, в которую загружена программа. Вот у каждого такого чипа - свои возможности, следовательно, свой собственный набор команд. Еще очень советую на данном этапе не заморачиваться идеями написания ботов или чего-то сложного, потому что этот процесс обречен затянуться на бесконечно долгий срок, а просто взять конкретную игру и поставить в ней конкретную цель - сделать что-то, что в игре сделать нельзя. Например, я так в одной игре сделал самонаводящиеся патроны, хотя она этого не позволяла изначально. И да, без английского - никуда.
  12. Крестик в верхнем-правом углу уведомления - ну чисто XP-шный.
  13. Меня не обманывают глаза и я действительно вижу в 2016-м году связку из XP и Avira?
  14. Самоучка, который готов платить? На чем застрял? Что не получается?
  15. Так это, что за игра-то? Без названия можно долго тыкать пальцем в небо, а так хоть попробовать можно что-то сделать.
  16. Как худший вариант, когда ничего больше не работает. Да и для общего развития полезно такие вещи самому делать хоть иногда.
  17. Я нигде не упоминал СЕ, я описал идею. Как ее воплощать в жизнь и какие для этого использовать инструменты - вопрос вкуса и личных предпочтений. Из описания идеи ты что не понял? Можешь по пунктам.
  18. Привет! Я в работе весь, сегодня ночь не сплю и в 9 утра самолет - в отпуск лечу, наконец. Планирую вернуться в увлекательный мир программирования, а то половина друзей ушли в gamedev - завидую.
  19. Можно тупо дампить всю память процесса, если на это он вдруг не ругается. Затем - руками, долго и муторно перебирать весь дамп. После N попыток и N дампов указатель должен без проблем найтись, но, думаю, это не стоит затраченных ресурсов. Вряд ли игра умеет противодействовать всем возможным способам прочитать ее память.
  20. Привет! Ищешь координаты, по координатам ищешь структуру, дальше ищешь указатель на эту структуру. В какой-то момент наткнешься на массив, который частенько читают, а иногда еще и в него пишут. Ищешь, кто пишет. Там будет инициализация полей структуры, добавление ее в массив и далее вызов какой-нибудь функции. Делаешь это руками. Готово! Но это - общий случай. Примерно так, как я описал, было реализовано в игре Crimsonland, причем так было вообще для всех игровых объектов.
  21. Ммм... Contra Battletoads Doom II Wolfenstein 3D Aladdin Blood 2 Postal 2 Serious Sam: 2nd encounter Max Payne 1\2 Silent Hill 2\3 Oddworld: Abe's Exoddus Prince of Persia 0-1-2-3 Turok: Seeds of Evil Operation Flashpoint Sacred 1 Need for Speed до Most Wanted влючительно Half-Life 1\2 The Outforce Петька и Василий Иваныч до 6 части включительно Следствие ведут колобки Сибирь 1\2 Mario Golden Axe 3 Dune 2000 Starcraft: Brood war ИЛ 2: Штурмовик Supaplex Crimsonland 1
  22. Так. Во-первых, mov - это команда, а не регистр. Регистр - это eax, ebx, ecx и так далее. Если очень сильно упростить, то регистр - это просто маленькая область в процессоре, где может храниться какое-то значение.Процессор - универсальная штука, таким его проектируют. Допустим, нужно тебе сложить два числа. Еще допустим, что выглядит это вот так: ADD 2 5 В результате должно получиться число 7, тут, вроде бы, вопросов нет. Но возникает множество других вопросов. Прочитав коротко историю создания микропроцессоров можно выяснить, что все его инструкции выполнены "в железе" - то есть за каждую команду, что процессор умеет делать, отвечает определенный (реальный!) кусок его физического воплощения. Образно, в нем есть пять транзисторов, которые умеют складывать два числа. Какие? Это им надо сообщить. Таким образом, ассемблер - это способ через операционную систему (Windows, Linux и т.д.) сообщить процессору, что нужно сделать. Сам по себе процессор достаточно тупой и банально не умеет складывать 2 и 5, но умеет складывать числа. Кстати, самые первые микропроцессоры не умели умножать, только складывать. Какой выход из этой ситуации? Регистры! Сделаем так, чтобы в процессоре было место под пару цифр, а все операции (команды) он производил над этими цифрами. Назовем их прикольным словом и впаяем в процессор команды, позволяющие класть в регистры данные и вытаскивать их оттуда. Итак, в нашем воображаемом процессоре аж два регистра: A B И команда, позволяющая положить что-нибудь в регистр: MOV A, 10 (положить куда, что) Итого, если нам нужно сложить два числа, мы делаем так: MOV A,2 MOV B,5 ADD A,B Положили в один регистр первое число, в другой - второе, и вызвали команду сложения этих двух регистров. Хитрость тут в том, что результат сложения будет аккуратно положен в регистр A, потому что в команде "ADD A,B" он является первым аргументом. Типа, будь оно "ADD B,A", положилось бы в B. Такие вот дела. А "dword ptr" - это указатель размером в 4 байта. Так как в 32-разрядной модели памяти все указатели имеют размер в 4 байта, то указывать они могут хоть на 1 байт, хоть на float.
×
×
  • Создать...

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

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