Сейчас на форуме: tyns777, bezumchik (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Распознавать комбинации флагов при вызове Апи-функций
Посл.ответ Сообщение


Ранг: 69.9 (постоянный), 83thx
Активность: 0.140.73
Статус: Участник

Создано: 08 ноября 2019 21:29
· Личное сообщение · #1

Как известно, в IDA можно посмотреть некоторые стандартные константы в параметрах функций, нажав клавишу 'М' (для более наглядного анализа, лучшего понимания, зачем тут идет вызов функций). Существует также очень хороший плагин --> idamagnum<-- , чтобы парсить значения с огромной базы https://www.magnumdb.com . Но - как быть в ситуациях, когда , допустим, есть комбинации двух и более значений (к примеру, GENERIC_READ | GENERIC_WRITE и так далее) ? Я пока делаю вручную, но мб есть какие-то плагины / софт для такого случая.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 08 ноября 2019 21:38
· Личное сообщение · #2

даже самая древняя 6 версия иды это может из каробки




Ранг: 69.9 (постоянный), 83thx
Активность: 0.140.73
Статус: Участник

Создано: 08 ноября 2019 22:10
· Личное сообщение · #3

reversecode
но как? Вот я написал код вида
Code:
  1. invoke CreateFileW,..,GENERIC_READ or GENERIC_WRITE,

это значение push C0000000 которое (при нажатии 'М' ) распознается хз как, но не так, как надо. Есть 2 Иды , обе 7ой версии.

Стоит SDK для 2008 студии и WinDDK какой-то.




Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 08 ноября 2019 22:18
· Личное сообщение · #4

Как вручную задать там, где ида пропустила?

-----
IZ.RU





Ранг: 69.9 (постоянный), 83thx
Активность: 0.140.73
Статус: Участник

Создано: 08 ноября 2019 22:24
· Личное сообщение · #5

DenCoder
я комент пишу, а так не знаю, как оно правильно.




Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 08 ноября 2019 22:28
· Личное сообщение · #6

Да вот именно, что ида это умеет на знакомых функциях. Но как это делает - скрывает. В скриптах её копаться надо.

-----
IZ.RU




Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 08 ноября 2019 22:38
· Личное сообщение · #7

morgot
Открываешь вкладку Enums, добавляешь стандартный енум MACRO_GENERIC и потом уже выбираешь для константы этот енум в качестве имени.

| Сообщение посчитали полезным: user99, morgot, Orlyonok

Ранг: 43.1 (посетитель), 20thx
Активность: 0.160.29
Статус: Участник

Создано: 08 ноября 2019 22:38
· Личное сообщение · #8

DenCoder, Alt+F1 (или ПКМ на константе и пункт Manual)




Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 08 ноября 2019 22:42
· Личное сообщение · #9

rmn
А если комбинаций 2^16 ?

-----
IZ.RU




Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 08 ноября 2019 22:45
· Личное сообщение · #10

DenCoder
Создаешь свой енум на 16 элементов, ставишь галочку, что это bitfield и по известной уже схеме...




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 08 ноября 2019 22:53
· Личное сообщение · #11

зачем вам интернет
если вы уже готового примера не можете найти на оф сайте




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 13 ноября 2019 17:53
· Личное сообщение · #12

reversecode

ТС это может и быстро, можешь не сомневаться.

morgot

Это хорошо что Вас начали интересовать низкоуровневые вещи и прочие тех детали. Вот только выбор инструмента не правильный, используй обычный отладчик. В траблах с дизасмом закопаешься и забудешь что искал. Мне вот например ида нужна только что бы модуль посмотреть по быстрому с д-символами. Очень не удобный инструмент, говяного качества. Только самое просто может обработать. Почему так распиарен - потому что автоматизирован.

-----
vx




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 13 ноября 2019 19:19
· Личное сообщение · #13

difexacaw пишет:
используй обычный отладчик

x64dbg из коробки при том же вызове CreateFileW (..., GENERIC_READ | GENERIC_WRITE, ...) и остальных WinAPI как-то не показывает вообще названия макросов, зато OllyDbg без проблем справляется с этой задачей.
Собственно, у меня вопрос - какими плагами или фиксами можно исправить это недоразумение в x64dbg?




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 13 ноября 2019 19:33
· Личное сообщение · #14

ELF_7719116

Есть норм инструменты, это только по началу кажется виндебаг стрёмным. x64dbg это уровня разработки, это не отладчик с которым можно работать.
В любом случае какой инструмент не используй, сразу это не даст знаний. Нет смысла использовать то, что не приведёт к решению и цели, а создаст трудности. Если инструмент выглядит простым, у норм человека это должно вызвать недоверие, так как работа через него происходит с не простыми вещами.

-----
vx




Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 13 ноября 2019 20:08
· Личное сообщение · #15

difexacaw
Да ты просто ниче структурно сложного не реверсил, вот тебе виндбг и хватает. Посмотрел бы я, как ты в нем полгиговый ехе на говнофреймворке разбирать будешь.

| Сообщение посчитали полезным: r0lka
 eXeL@B —› Вопросы новичков —› Распознавать комбинации флагов при вызове Апи-функций
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати