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

 eXeL@B —› Обсуждение статей —› [ northdemon ] Разработка трассировочного плагина для IDA
<< . 1 . 2 . 3 . 4 .
Посл.ответ Сообщение


Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 22 ноября 2010 00:12
· Личное сообщение · #1

Обсуждение статьи Разработка трассировочного плагина для IDA

-----
Всем не угодишь





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

Создано: 02 апреля 2019 21:47
· Личное сообщение · #2

Вот именно, то что в студии для кода х32 находится в W4, то в х64 уже опущено в W3, не зря же сказал что нужно смотреть описание на warning C4244:

-----
Everything is relative...




Ранг: 145.8 (ветеран), 191thx
Активность: 0.140.36
Статус: Участник

Создано: 02 апреля 2019 21:59 · Поправил: Alchemistry
· Личное сообщение · #3

e_sergey
Я не буду давать вредных советов.

Если студия орет на что-то - это всегда следует проверять, по крайней мере до того как ты не убедишься что это не ошибка.

В данном случае смотрим что порождает варнинги.

ssize_t notify(event_t event_code, ...)

Берем первый же кейс из твоего лога

1>d:\idasdk70\include\idp.hpp(1640): warning C4244: инициализация: преобразование "ssize_t" в "int", возможна потеря данных

Смотрим этот код

Code:
  1. int scale = notify(ev_get_stkvar_scale_factor);


Ты сам понимаешь что впихать невпихаемое можно только если это невпихаемое позволит такое без собственно "потери данных". Раз автор предполагает что результат влезет в int - ну ему виднее. Если только у него нет каких-то хитрых переопределений типов, это внимательно смотреть сдк и примеры.

Следующая из твоего лога - 1757 строка

Code:
  1. inline int processor_t::newfile(const char *fname)
  2. {
  3.   return notify(ev_newfile, fname);
  4. }


Ну допустим, раз автор так хочет - будем считать что это предполагаемое поведение.

Если эти варнинги мозолят глаза - выключи их для этого заголовочного файла через pragma warning(push) pragma warning disable и потом включи обратно через pragma warning(pop)

https://docs.microsoft.com/ru-ru/cpp/preprocessor/warning?view=vs-2019



Ранг: 13.6 (новичок), 1thx
Активность: 0.080
Статус: Участник

Создано: 02 апреля 2019 22:12
· Личное сообщение · #4

Други - дело в том , что я не из головы это взял
ща сделаю видео пончо - это у них призовик - не помню какого года
там все именно так прописано , для 7 иды 64 - папка 64-64
для иды 7 32 - папка 64-32

Добавлено спустя 11 минут
--> пончо <--

Добавлено спустя 1 час 26 минут
варнинги идут и с 64->64 и с 64->32 либами

Добавлено спустя 1 час 36 минут
Попробовал - тоже самое и в пончо

Серьезность Код Описание Проект Файл Строка Состояние подавления
Предупреждение C4244 return: преобразование "ssize_t" в "int", возможна потеря данных (компилируется исходный файл ..\..\..\Ponce\src\callbacks.cpp) Ponce d:\documents\visual studio 2017\projects\ida_projects\ponce-master_vs17\ponce\include_ida7.0\idp.hpp 1809
Предупреждение C4244 return: преобразование "ssize_t" в "int", возможна потеря данных (компилируется исходный файл ..\..\..\Ponce\src\callbacks.cpp) Ponce d:\documents\visual studio 2017\projects\ida_projects\ponce-master_vs17\ponce\include_ida7.0\idp.hpp 1801
Предупреждение C4244 return: преобразование "ssize_t" в "int", возможна потеря данных (компилируется исходный файл ..\..\..\Ponce\src\formConfiguration.cpp) Ponce d:\documents\visual studio 2017\projects\ida_projects\ponce-master_vs17\ponce\include_ida7.0\idp.hpp 1845
Предупреждение C4244 return: преобразование "ssize_t" в "int", возможна потеря данных (компилируется исходный файл ..\..\..\Ponce\src\formConfiguration.cpp) Ponce d:\documents\visual studio 2017\projects\ida_projects\ponce-master_vs17\ponce\include_ida7.0\idp.hpp 1849
Предупреждение C4244 return: преобразование "ssize_t" в "int", возможна потеря данных (компилируется исходный файл ..\..\..\Ponce\src\actions.cpp) Ponce d:\documents\visual studio 2017\projects\ida_projects\ponce-master_vs17\ponce\include_ida7.0\idp.hpp 1817
Предупреждение C4244 return: преобразование "ssize_t" в "int", возможна потеря данных (компилируется исходный файл ..\..\..\Ponce\src\callbacks.cpp) Ponce d:\documents\visual studio 2017\projects\ida_projects\ponce-master_vs17\ponce\include_ida7.0\idp.hpp 1805
Предупреждение C4244 return: преобразование "ssize_t" в "int", возможна потеря данных (компилируется исходный файл ..\..\..\Ponce\src\formConfiguration.cpp) Ponce d:\documents\visual studio 2017\projects\ida_projects\ponce-master_vs17\ponce\include_ida7.0\idp.hpp 1853
Предупреждение C4244 return: преобразование "ssize_t" в "int", возможна потеря данных (компилируется исходный файл ..\..\..\Ponce\src\formConfiguration.cpp) Ponce d:\documents\visual studio 2017\projects\ida_projects\ponce-master_vs17\ponce\include_ida7.0\idp.hpp 1857

значит надо забить на это предупреждение ...




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

Создано: 04 апреля 2019 14:13
· Личное сообщение · #5

Ага, Серега, давай топи, держим за тебя кулачки :3
Це я сошла с ума или все вокруг, 2 страницы какой-то ахинеи O_O

-----
В облачке многоточия


| Сообщение посчитали полезным: difexacaw


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

Создано: 04 апреля 2019 14:23
· Личное сообщение · #6

Идой можно что то отлаживать или трассировать, такое возможно ?

-----
vx





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 04 апреля 2019 14:25
· Личное сообщение · #7

difexacaw пишет:
Идой можно что то отлаживать или трассировать, такое возможно ?

Внезапно Оо
Boostyq пишет:
2 страницы какой-то ахинеи

А первые две чем-то отличаются?

-----
2 оттенка серого





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

Создано: 04 апреля 2019 14:40
· Личное сообщение · #8

f13nd

Ты же вот не сказал да, наверно знаешь что придётся показать как

-----
vx





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 04 апреля 2019 14:46
· Личное сообщение · #9

difexacaw пишет:
Ты же вот не сказал да, наверно знаешь что придётся показать как

Как-то даже стрёмно очевидные вещи показывать, но ладно --> Link <--. Смотри методы модуля ida_dbg.

-----
2 оттенка серого





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

Создано: 04 апреля 2019 14:51
· Личное сообщение · #10

f13nd

Возьми пример с темы рядом про обсидиум и покажи. На реальном примере, а не на слониках в вакууме".

-----
vx





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 04 апреля 2019 14:56
· Личное сообщение · #11

difexacaw пишет:
Возьми пример с темы рядом про обсидиум и покажи. На реальном примере, а не на слониках в вакууме"

Возьми свой пост про "что-то отлаживать или трассировать" и найди в нем слоника в вакууме, он там есть.

-----
2 оттенка серого





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

Создано: 04 апреля 2019 18:55
· Личное сообщение · #12

difexacaw пишет:
Идой можно что то отлаживать

Можно подключаться к windbg, некоторые так делают для более удобного юзанья последнего.



Ранг: -12.6 (нарушитель), 11thx
Активность: 0.050.03
Статус: Участник

Создано: 04 апреля 2019 20:39
· Личное сообщение · #13

morgot пишет:
Можно подключаться к windbg, некоторые так делают для более удобного юзанья последнего.


Так-то оно так, но правда, мне показалось, что WinDbg в Иде несколько урезаный, т.е. команды не все поддерживает. А так да в 80% случаев (если не больше) WinDbg'ом в Иде можно пользоваться.




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

Создано: 04 апреля 2019 20:52
· Личное сообщение · #14

dma пишет:
Так-то оно так, но правда, мне показалось, что WinDbg в Иде несколько урезаный, т.е. команды не все поддерживает.

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

p.s. Вам не надоело еще? Эту тему модераторы чистили пять раз , с момента ее поднятия. И вы каждый раз начинаете тут свои срачи..один профиль уже с отрицательным рейтингом, и второй скоро туда пойдет.

Ну есть претензии к модерам, ну пиши в личку или в теме "о форуме", или хоть на заборе, в теме то нафига ? Заходишь почитать что-то тематическое, а там очередной бред.



Ранг: -12.6 (нарушитель), 11thx
Активность: 0.050.03
Статус: Участник

Создано: 04 апреля 2019 21:39
· Личное сообщение · #15

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


Ну вам урезанные команды все равно не нужны, а те кто используют WinDbg давно уже об этом знают. Если я не прав, то пусть меня кто-нибудь из знающих WinDbg поправит.



morgot пишет:
Ну есть претензии к модерам, ну пиши в личку или в теме "о форуме", или хоть на заборе


В теме "о форуме" - ранг не позволяет. А на заборе, это вы будете писать - у вас на это ума хватит, а у меня пока не хватает.

| Сообщение посчитали полезным: hash87szf

Ранг: 13.6 (новичок), 1thx
Активность: 0.080
Статус: Участник

Создано: 04 апреля 2019 21:51 · Поправил: e_sergey
· Личное сообщение · #16

всем привет
есть вопрос, знающие люди - проясните пожалуйста :

берем код из руководства для получения значении регистров

Code:
  1. #include <dbg.hpp>
  2. // Loop through all registers
  3. for (int i = 0; i < dbg->registers_size; i++) {
  4. regval_t val;
  5. // Get the value stored in the register
  6. get_reg_val((dbg->registers+i)->name, &val);
  7. msg("%s: %08a\n", (dbg->registers+i)->name, val.ival);
  8. }


для Ida7.0 его немного изменил чтоб не запутаться потом

Code:
  1.          for (int i = 0; i < dbg->registers_size; i++) {
  2.                  regval_t val;
  3.                  const char *regname = (&dbg->registers(i))->name;
  4.                  get_reg_val(regname, &val);
  5.                  msg("%s: %08a\n", regname, val.ival);
  6.          }

в результате в цикле получаю значения всех регистров

regval_t определение в файле idd.hpp

вот в этой строке get_reg_val(regname, &val); &val - это уже массив значении регистра regname, определенный структурой regval_t , или это адрес или ссылка или указатель на массив (структуру ) для регистра regname

Code:
  1. inline bool idaapi get_reg_val(const char *regname, regval_t *regval)                         
  2. { return callui(ui_dbg_get_reg_val, regname, regval).cnd; }


и ещё вопрос про отладку плугина (blablabla который ) -
чтоб под отладкой в студии смотреть что попадает в переменные ...

его получается надо собирать не в папке решения , а сразу в папке плугинов Ida ?




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

Создано: 04 апреля 2019 22:13
· Личное сообщение · #17

Тут гадать на нужно, функция bool idaapi get_reg_val(const char *regname, regval_t *regval) выдает по имени регистра структуру regval_t , содержащую его данные.

-----
Everything is relative...


| Сообщение посчитали полезным: e_sergey

Ранг: 13.6 (новичок), 1thx
Активность: 0.080
Статус: Участник

Создано: 04 апреля 2019 22:19
· Личное сообщение · #18

Да пока с & не до конца разобрался
в принципе раз потом я обращаюсь val.ival - значит val уже хранит структуру со значениями
спасибо , просто хотел уточнить .



Ранг: 13.6 (новичок), 1thx
Активность: 0.080
Статус: Участник

Создано: 21 апреля 2019 12:09 · Поправил: e_sergey
· Личное сообщение · #19

Всем привет !
Знающие люди , подскажите плиз .
Имеем проект Blablabla , расположенный в папке по умолчанию
Путь включает папку Visual Studio 2015 (пробелы)

Файл заголовка имеет настраиваемые компоненты - командная строка , и содержит переменные
для использования в cmd для компиляции

Для того чтобы использовать относительные пути применены переменные

Командная строка C:\Qt\bin\moc.exe %(FullPath) > $(ProjectDir)\%(Filename)_moc.cpp
Вывод $(ProjectDir)\%(Filename)_moc.cpp


Так как нужно использовать кавычки в командной строке для путей с пробелами ,
не удаётся их правильно применить в проекте

Вопрос - как правильно записать (указать) в VS для %(FullPath) или $(ProjectDir) , чтобы в командную строку
эти пути передавались с кавычками ???

Пробовали тупо "$(ProjectDir)\%(Filename)_moc.cpp" или
" $(ProjectDir)\%(Filename)_moc.cpp " выдает ошибку - наличие недопустимых символов - "" ""

Пока что решено созданием ( копированием ) проекта в пути без пробелов
Например D:\Documents\Blablabla\

Читал тут --> Link <-- про Символ "крышки" (^)
Ничего путного не получилось пока ...

Можно указать прямые пути , непосредственно в кавычках , но хотелось бы использовать относительные ,
чтоб в последствии не возникало ни у кого проблем с этим .


<< . 1 . 2 . 3 . 4 .
 eXeL@B —› Обсуждение статей —› [ northdemon ] Разработка трассировочного плагина для IDA
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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