Помогите найти сигнатуру на windows.

Тема в разделе "Запросы", создана пользователем inklesspen, 18 май 2016.

  1. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    838
    Симпатии:
    198
    Для Linux я более-менее могу разобраться, но для Windows код.
    При попытки расшифровки сигны Burn из TF2 я получил вот это:
    Безымя4444нный.png

    В общем я не знаю как находить и дешифровать сигнатуры Windows
    --- Добавлено позже ---
    А так-же, если можно, оффсеты хуков и функций (замена этих сигнатур)
     
  2. Monomizer

    Monomizer Мимо пробегал Супер-модератор

    Сообщения:
    1.527
    Симпатии:
    201
    М.б. я не соображаю, но разве ida pro это на ура делать не должна?
     
  3. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    838
    Симпатии:
    198
    Я первый раз слышу об этой программе... Вечером заценю
     
  4. gibs

    gibs Фитиль народного волненья

    Сообщения:
    540
    Симпатии:
    137
    @inklesspen, столько энтузиазма)))
    Сигнатура добывается, в принципе, просто. Через иду дизасемблиш elf бинарник, то-есть серверную библиотеку для линукс. По символьному названию находишь функцию и немножко настраиваешь ИДУ. А именно в настройках во вкладке disassembly в поле "Number of opcode bytes" ставишь 10, тогда в текст вью будет нормально видно слева от ассемблерных команд их машинное представление. Тупо копируешь сколько тебе надо (16 или 32 байт) от начала функции. Тут нет ограничения, в принципе. Функции могут быть довольно большими, а тебе требуется именно уникальная последовательность байт.
    Раньше приходилось строить дополнительно маску, чтобы исключить изменяемые операнды. Не уверен, что у тебя имеются хотя бы минимальные знания ассемблера, но стоит отметить, что исполняемый код состоит из опкодов (микрокоманд) и операндов. Операнды могут меняться. Может сместиться оффсет к примеру.
     
  5. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    838
    Симпатии:
    198
    Мне резко захотелось забыть о сигнатурах... Ну ладно, буду пробывать.
    --- Добавлено позже ---
    Огромное тебе спасибо! Найти оффсеты я понял как, а вот как записать их как сигну - хороший вопрос.
    --- Добавлено позже ---
    Вот есть у меня... CBaseAnimation::GetBonePosition(int,Vector &,QAngle &), но я хочу использовать ее сигнатуру в Windows(На Linux имеет такой вид: @_ZN14CBaseAnimating15GetBonePositionEiR6VectorR6QAngle)
     

    Вложения:

    Последнее редактирование: 19 май 2016