eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июня!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: bartolomeo, rmn (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

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


Ранг: 533.5 (!)
Статус: Администратор
Создатель CRACKL@B

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


Ранг: 324.0 (мудрец)
Статус: Участник

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

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

Ранг: 120.0 (ветеран)
Статус: Участник

Создано: 2 апреля 2019 21:59 · Поправил: Alchemistry New!
Цитата · Личное сообщение · #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 (новичок)
Статус: Участник

Создано: 2 апреля 2019 22:12 New!
Цитата · Личное сообщение · #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

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

Ранг: 67.5 (постоянный)
Статус: Участник

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

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

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


Ранг: 270.5 (наставник)
Статус: Участник

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

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


Ранг: 191.0 (ветеран)
Статус: Участник

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

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

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

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

Ранг: 270.5 (наставник)
Статус: Участник

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

f13nd

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


Ранг: 191.0 (ветеран)
Статус: Участник

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

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

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

Ранг: 270.5 (наставник)
Статус: Участник

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

f13nd

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


Ранг: 191.0 (ветеран)
Статус: Участник

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

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

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

Ранг: 24.7 (новичок)
Статус: Участник

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

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

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

Ранг: -1.5 (нарушитель)
Статус: Участник

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

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


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

Ранг: 24.7 (новичок)
Статус: Участник

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

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

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

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

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

Ранг: -1.5 (нарушитель)
Статус: Участник

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

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


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



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


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

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


Ранг: 13.6 (новичок)
Статус: Участник

Создано: 4 апреля 2019 21:51 · Поправил: e_sergey New!
Цитата · Личное сообщение · #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 ?


Ранг: 324.0 (мудрец)
Статус: Участник

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

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

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


Ранг: 13.6 (новичок)
Статус: Участник

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

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

Ранг: 13.6 (новичок)
Статус: Участник

Создано: 21 апреля 2019 12:09 · Поправил: e_sergey New!
Цитата · Личное сообщение · #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

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS