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

inklesspen

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

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

Monomizer

Держу JDW в бане.
Сообщения
1,947
  • Команда форума
  • #2
Для Linux я более-менее могу разобраться, но для Windows код.
При попытки расшифровки сигны Burn из TF2 я получил вот это:

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

gibs

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

inklesspen

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

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

Вложения

  • Безымя4444нный.png
    Безымя4444нный.png
    94.5 КБ · Просмотры: 58
Последнее редактирование:
Сверху Снизу