20120529

[Видеоурок] Третья часть про трейнеры на C# - пишем сканер сигнатур!

Подробности - в [уроке], а весь необходимый софт - на [сайте]. Сразу говорю, что это - одна из самых полезных функций любого трейнера.

9 комментариев:

  1. Анонимный1/6/12 19:49

    Привет Кенг. Как использовать сигнатуры в чит энджине?

    ОтветитьУдалить
    Ответы
    1. Привет!
      В СЕ есть клёвая функция под названием aobscan(). Ей надо скормить цепочку байт, выдаст адрес этих байт в файле. Юзается примерно так:

      address = aobscan("AB BC CD EE");

      Подробнее можно в справке к СЕ посмотреть.

      Удалить
    2. Анонимный5/6/12 18:36

      Спасибо, разобрался что к чему.

      Удалить
    3. Анонимный5/6/12 21:10

      Привет!А что значит вот этот отрывок кода?
      function Obzor_AOB()
      pause()
      results=AOBScan("F3 0F 7E 8E A0 00 00 00 F2 0F 59 C1 66 0F D6 86 A0 01 00 00 8B 4B 44 BA 80","+X-W-C")
      unpause()
      if (results~=nil) then
      count=stringlist_getCount(results)
      if (count==1) then
      pmAddress=getAddress(stringlist_getString(results,0))
      else

      object_destroy(results)
      results=nil
      end

      end
      object_destroy(results)
      results=nil
      debugState = 0
      ONdebugger(pmAddress)
      end

      Удалить
    4. 1. Ставит процесс игры на паузу.
      2. Находит сканером сигнатур все адреса, где встречается такая-то цепочка байт.
      3. Возобновляет процесс игры.
      4. (Тут я не совсем уверен) Если результаты есть (что-то нашлось) - считает, сколько их.
      5. Если "сколько" - это 1, то берёт этот адрес и записывает в отдельную переменную.
      6. Иначе (если ничего не нашлось или результатов много) - уничтожает переменную для хранения результатов.
      7. Повторяет это же, если нашлось, но выходя из другой ветки условия (получив адрес).
      8. Ставит брейкпоинт на найденный адрес.

      Вроде так, я с LUA не знаком, так что где-нибудь могу и ошибаться.

      Удалить
    5. Анонимный6/6/12 10:08

      Ага спасибо:)Чет написал вроде работает:)

      Удалить
    6. Анонимный6/6/12 11:57

      Привет!И последнее вот в этой строке звездочки что значат?:)

      results=AOBScan("E8 * * * * 83 C4 08 8B CB 8B 5D E8", "-W-C+X")

      Удалить
    7. Звёздочки - это пропуски, значит что байт в этом месте может быть любой.

      Удалить
  2. Анонимный22/12/12 00:34

    дай исходник всего этого сканера

    ОтветитьУдалить

Не люблю мат и низкий уровень грамотности. Чем конкретнее поставите свой вопрос и чем лучше он будет выглядеть - тем большая вероятность на мой ответ. :)