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

 eXeL@B —› Основной форум —› Использование IDA Pro
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 50 . 51 . >>
Посл.ответ Сообщение

Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 08 августа 2008 18:53
· Личное сообщение · #1

Здесь предлагаю обмениваться опытом использования, настройки этой тулзы.

Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? )

-----
My love is very cool girl.




Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 28 ноября 2008 19:32
· Личное сообщение · #2

В лом читать перепалку,потому скажу по существу! Кряклаб это место специалистов и если кто-то чего-то не выдает и этот чел не ньюб,значит есть на то причины и остается только принять его решение!

ЗЫ:
никто не ковырял Bindiff ? че это ? Дурь или все-таки кому-то понадобилась ? Если да то в чем фишка ?

-----
My love is very cool girl.





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 28 ноября 2008 20:24
· Личное сообщение · #3

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



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 28 ноября 2008 20:36
· Личное сообщение · #4

=TS= пишет:
Последний раз по этой теме -- тупо

А я тебе последний раз объясняю - что ты, постарайся понять про что тебе пишут, а не амбициозные посты клепай
Я у тебя попросил, - ты сказал: не дам, хочешь реверси.. все! у меня к тебе вопросов не было!!! (мне непонятно че ты начал лезть в наш разговор с Ultras? – со своими комментами – смешной, не смешной)
У меня есть(были) идеи по 12 настройкам дополнительным на твой плуг(мне так проще/быстрее было накодить самому, чем описывать что нужно добавить в плагин – да-да, вот так бывает быстрее накодить самому, чем объяснять – ну и гарантии нет что чел сможет асилить, то что ему напишут, тут еще 50на50 да и времени очень много может уйти на очевидные вещи(я тут кстати очень часто убеждался в этом что напишешь, а РЕАЛИЗАЦИИ НЕТ(ну пожалуй исключение фантомка только) – так лучше самому накодить))
Я у тебя попросил исходники чтобы ты выложил, чтобы потом я добавил свой код – в том что у плагина несколько разработчиков – это, не есть лольно!

Ну вот ты утверждаешь что сделаешь – хорошо вот попробуй реализовать парочку из двенадцати надстроек
1. нужно добавить чекобокс при установке которого выполнялось следующие действие
При открытии любой базы(сделанной ранее) чтобы эти настройки(сделанные ранее в твоем плагине) тоже действовали
Как у тебя сейчас при открытии базы: надо лезть заново их настраивать(это должно быть только, если не установлен чекобокс)
2. мелочь но приятно будет – когда меняешь настройки в твоем окне Options, чтобы изменения делались сразу в окне ИДЫ!, а не после нажатия OK, а вот если нажать ОТМЕНА, все возвращалось к старому как раньше, до изминений – так визуально удобнее будет удобно сразу видно на что влияет та или другая опция

У меня в принципе есть сомнение что я плохо описал эти опции, но думаю что ты ее уже пробовал реализовать..
Надеюсь вопрос не в грубой форме, и не будет ответа: - мне такая опция нах не нужна, я ее делать не буду
Если она вам нужна – реверсите и пишите сами
Archer пишет:
Демону за срач будет бан

жжошь? - бань

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 28 ноября 2008 22:42
· Личное сообщение · #5

Demon666
Это все конечно хорошо, вопрос масштабный и умный. Но скажи мне, о мудрейший, как павидло в конфетку попадает ?

-----
My love is very cool girl.




Ранг: 9.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 ноября 2008 05:42
· Личное сообщение · #6

Насчет времени окончании лицензии hexrays.
Походу можно пропатчить hexrays.plw:

Comparing files HEXRAYS_ORIG\hexrays.plw and HEXRAYS.PLW
000FCCDC: 70 00
000FCCDD: 83 00
000FCCDE: 2C 00
000FCCDF: 49 00

Время хранится в dword_100FE0DC. (В оригинале там 0x492C8370).
Есть еще один статик -- dword_100FE0D8 (boolean isNotUpdatable). Там -- 0x00000000. т.е. update возможен.

При dword_100FE0DC == 0 && dword_100FE0D8 == 0 goto LABEL12 --> goto LABEL17 --> hexrays OK .

Процедура проверки даты:

signed int __cdecl sub_1000AE90()
{
char ST24_1_0; // ST24_1@0
signed __int64 v1; // edi@1
__int64 v2; // qax@2
int v3; // ecx@3
signed __int64 v4; // qax@4
char *v5; // ST1C_4@7
char *v6; // ST20_4@7
signed int result; // eax@16
int v8; // edx@1
unsigned __int8 v9; // cf@4

byte_10101FE0 = callui(47) != 0;
*(_DWORD *)&v1 = sub_100B5F01(0);
*((_DWORD *)&v1 + 1) = v8;
if ( !(dword_100FE0CC & 0x80000000) )
return 0;
v2 = dword_100FE0DC;
if ( !dword_100FE0DC )
goto LABEL_12;
v3 = dword_100FE0D8;
if ( !dword_100FE0D8 )
{
v9 = (_DWORD)v2 < (_DWORD)v1;
*(_DWORD *)&v4 = (_DWORD)v2 - (_DWORD)v1;
*((_DWORD *)&v4 + 1) -= v9 + *((_DWORD *)&v1 + 1);
if ( *((_DWORD *)&v4 + 1) > 0 )
goto LABEL_17;
if ( *((_DWORD *)&v4 + 1) >= 0 && (_DWORD)v4 )
{
if ( v4 >= 2592000 )
goto LABEL_17;
v6 = "http://www.hex-rays.com";
v5 = "AUTOHIDE REGISTRY\nHIDECANCEL\nThe technical support period of the Hex-Rays decompiler\nwill expire soon. Please update your license for\nuninterrupted technical support and updates.For more information please visit %s";
}
else
{
v6 = "http://www.hex-rays.com";
v5 = "AUTOHIDE REGISTRY\nHIDECANCEL\nThe technical support period of the Hex-Rays decompiler\nhas expired. You have 3 month grace period to update your license.\nThe grace period is counted from the expiration date.\nFor more information please visit %s";
}
if ( ((_DWORD (__cdecl *)(char *, char *, char *, signed int, char *, char))sub_1000A140)(
"http://www.hex-rays.com",
"OK",
Class,
1,
v5,
(char)v6) > 0 )
callui(55);
LABEL_12:
v3 = dword_100FE0D8;
if ( !dword_100FE0D8 )
goto LABEL_17;
}
if ( v1 >= v3 )
{
if ( sub_1000A140(
"http://www.hex-rays.com",
"OK",
Class,
1,
"AUTOHIDE REGISTRY\nHIDECANCEL\nSorry, your Hex-Rays license has been expired.\nFor more information please visit %s",
(char)"http://www.hex-rays.com") > 0 )
callui(55);
return 0;
}
LABEL_17:
if ( (unsigned __int8)sub_1000A3E0() )
{
if ( *((_DWORD *)ph + 1) )
{
if ( get_plugin_options("hexrays") )
qexit(1);
result = 0;
}
else
{
sub_10092EE0(0);
sub_100209A0(1);
read_user_config_file("hexrays", sub_1000A1A0, 0);
off_101007DC();
sub_10041CD0();
hook_to_notification_point(3, sub_1000A3A0, 0);
hook_to_notification_point(0, sub_1000A3C0, 0);
hook_to_notification_point(1, sub_1003B310, 0);
if ( byte_10101FE0 )
{
sub_1000A0B0("File/Produce/Create HTML", "Create ~C~ file...", "Ctrl-F5", 1, sub_1000A6D0, 0);
sub_1000A0B0("View/Open/Hex", "Pseudocode", "F5", 1, sub_1000A370, 0);
sub_1000A0B0("Help/Check", "Send database", 0, 1, sub_1000AA10, 0);
}
else
{
sub_1000A0B0("File/Produce/Produce DIF", "Produce ~C~ file...", "Ctrl-~", 1, sub_1000A6D0, 0);
}
sub_1000A0F0(
"%s plugin has been loaded (v%s)\n License: %s %s (%d user%s)\n The hotkeys are %s: decompile, %s: decompile all.\n Please check the Edit/Plugins menu for more informaton.\n",
(char)"Hex-Rays");
if ( dword_10101FE4 < 520 )
sub_1000AD90();
result = 2;
}
}
else
{
sub_1000A0F0("Hex-Rays: could not determine IDA version\n", ST24_1_0);
result = 0;
}
return result;
}




Ранг: 251.8 (наставник), 17thx
Активность: 0.120
Статус: Участник
Seeker

Создано: 29 ноября 2008 12:16
· Личное сообщение · #7

Demon666 пишет:
1. нужно добавить чекобокс при установке которого выполнялось следующие действие
При открытии любой базы(сделанной ранее) чтобы эти настройки(сделанные ранее в твоем плагине) тоже действовали
Как у тебя сейчас при открытии базы: надо лезть заново их настраивать(это должно быть только, если не установлен чекобокс)


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

Нужны кнопки Save / Load default settings, при нажатии которых будет сохранятся/загружаться некая рабочая конфигурация?

Demon666 пишет:
2. мелочь но приятно будет – когда меняешь настройки в твоем окне Options, чтобы изменения делались сразу в окне ИДЫ!, а не после нажатия OK, а вот если нажать ОТМЕНА, все возвращалось к старому как раньше, до изминений


В текущей реализации диалогового апи в IDA (по крайней мере в SDK 5.2) НЕТ CALLBACKов на изменения состояния элементов диалога, а только на нажатия кнопок. Поэтому невозможно отследить изменение состояния элементов диалога, созданного с помощью диалогового апи в IDA.

Demon666 пишет:
так визуально удобнее будет удобно сразу видно на что влияет та или другая опция


Для этого были добавлены всплываюие подсказки (хинты)

-----
DREAMS CALL US




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 30 ноября 2008 03:07
· Личное сообщение · #8

вместо этих слов, мог быть написан полезный код.

=TS=
Более подробно о первой опции
Что имеем
два тест файла 1_test.exe и 2_test.exe
запускаем ИДУ, НО при этом у нас НЕ установлен твой плагин(или установлен(это не суть важно), но настройки трогать этот раз НЕ БУДЕМ)
открываем 1_test.exe, после того как ИДА проанализирует этот тест файл – закрываем ИДУ сохраняя базу нажав на OK
теперь УСТАНАВЛИВАЕМ твой плагин и запускаем ИДУ, НО при этом у нас уже установлен твой плагин
открываем 2_test.exe, после того как ИДА проанализирует этот тест файл открываем окно настроек плагина и там устанавливаем, ну к примеру
Show opcodes
И у опций Instructions indention 0 и у Opcode length 10
(кстати там убогие комбобоксы, такие страшные ужаснах, куда симпотнее и функциональнее подходят Editы с встроенными в них msctls_updown32 - ИМХО)
Жмем OK
Теперь закрываем ИДУ, сохраняя базу нажав на OK

Теперь открываем (у нас уже установлен твой плагин) 1_test.idb и что мы видим?
А вот именно, ничего! – придется опять лезть в настройки и выставлять все заново
Когда база одна, тут хс., а вот если их 20-30? Что во всех лазить выставлять?
Для этого и нужна опция 1 чтобы открыв 1_test.idb были применены настройки сделанные в 2_test.exe
Назовем это настройками для всех открываемых баз(глобальные), но если отключить эту опцию, то настройки действуют только на ту базу(локальную) которая на данный момент открыта(там еще есть пара мелочей отслеживание за настройками что в базе и глобальными, но да хс. это уже не столь так и важно)
Получается твой плагин от стандартного диалога настроек далеко и не ушел, разницца только в Shift-O
ЗЫ: лучше я уже врятли смогу объяснить, даже представить не могу, как уже подробнее описать

=TS= пишет:
В текущей реализации диалогового апи в IDA (по крайней мере в SDK 5.2) НЕТ CALLBACKов на изменения состояния элементов диалога

а может просто взять и реализовать через WIN32 API DialogBoxParam и обрабатывать сообщения приходящие от контролов(формочек, бгг) тут и изменения будут сразу в окне ИДЫ, да и подсказки сделать на русском ;)

P. S.
кстати вот это реальный показатель в каком жопе находятся дзенствующие за ООП
ООП – ИМХО, это консервная банка для кодера(минимум интеллекта, лень в первые ряды и в гугл тупо на поиски компонентов/классов итд.) %))
если нет этой реализации в убогом VC-кхе-кхе, то значит и я ее делать не буду - ЖЕСТЬ

---------------------------------------------------------------------- ---------
Так, теперь что мы имеем.. да нихрена! Отказ от реализации второй опции, много букафф в описании(2-х разовом) первой опции(а их(опций) 12)
ИМХО - вот это лольно
Чтобы могло бы быть, выложив ты исходники в паблик
Через пару дней я добавил бы эти 12 опций и тот кто хотел бы, их юзал + имея на руках исходники
А не ждал бы, пока аффтар жив.. может он асилит хоть одну опцию из двух?.....
ЗЫ: вот именно в этом и была истЕна ;)
Засим постить(срать) здесь больше не буду
code.google.com/p/idapython/
www.fantom-lab.narod.ru/Python/LerningNoName/IndexNoName.html

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 23.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 01 декабря 2008 07:37
· Личное сообщение · #9

svladim пишет:
Насчет времени окончании лицензии hexrays.
Походу можно пропатчить hexrays.plw:

Comparing files HEXRAYS_ORIG\hexrays.plw and HEXRAYS.PLW
000FCCDC: 70 00
000FCCDD: 83 00
000FCCDE: 2C 00
000FCCDF: 49 00

Вроде бы помогло по крайней мере (изменил 49 на 50) у меня до 2012 года не будет ругаться



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 01 декабря 2008 14:11
· Личное сообщение · #10

А просто поставить чекбокс "не задалбывай" уже не тру?
Она просто напоминает постоянно что лицензия на ПОДДЕРЖКУ истекла.
Сам HexRays прекрасно работает.



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

Создано: 02 декабря 2008 00:00
· Личное сообщение · #11

Народ сведующий, подскажите плз, как в иде сделать чтобы русские строки в коде нормально показывало
А то показывает вот это:
Code:
  1. seg000:0045F720 unk_45F720      db 0CEh ; + ; DATA XREF: TForm1_Startbrutforce1Click+Eo
  2. seg000:0045F721                 db 0E3h ; у
  3. seg000:0045F722                 db 0F0h ; Ё
  4. seg000:0045F723                 db 0E0h ; р
  5. seg000:0045F724                 db 0EDh ; э
  6. seg000:0045F725                 db 0E8h ; ш
  7. seg000:0045F726                 db 0F7h ; ў
  8. seg000:0045F727                 db 0E5h ; х
  9. seg000:0045F728                 db 0EDh ; э
  10. seg000:0045F729                 db 0EDh ; э
  11. seg000:0045F72A                 db 0E0h ; р
  12. seg000:0045F72B                 db 0FFh
  13. seg000:0045F72C                 db  20h
  14. seg000:0045F72D                 db 0E2h ; т
  15. seg000:0045F72E                 db 0E5h ; х
  16. seg000:0045F72F                 db 0F0h ; Ё
  17. seg000:0045F730                 db 0F1h ; ё
  18. seg000:0045F731                 db 0E8h ; ш
  19. seg000:0045F732                 db 0FFh
  20. seg000:0045F733                 db  20h
  21. seg000:0045F734                 db 0EFh ; я
  22. seg000:0045F735                 db 0F0h ; Ё
  23. seg000:0045F736                 db 0EEh ; ю
  24. seg000:0045F737                 db 0E3h ; у
  25. seg000:0045F738                 db 0F0h ; Ё
  26. seg000:0045F739                 db 0E0h ; р
  27. seg000:0045F73A                 db 0ECh ; ь
  28. seg000:0045F73B                 db 0ECh ; ь
  29. seg000:0045F73C                 db 0FBh ; v
  30. seg000:0045F73D                 db  2Ch ; ,
  31. seg000:0045F73E                 db  20h
  32. seg000:0045F73F                 db 0EFh ; я
  33. seg000:0045F740                 db 0EEh ; ю
  34. seg000:0045F741                 db 0E6h ; ц
  35. seg000:0045F742                 db 0E0h ; р
  36. seg000:0045F743                 db 0EBh ; ы
  37. seg000:0045F744                 db 0F3h ; є
  38. seg000:0045F745                 db 0E9h ; щ
  39. seg000:0045F746                 db 0F1h ; ё
  40. seg000:0045F747                 db 0F2h ; Є
  41. seg000:0045F748                 db 0E0h ; р
  42. seg000:0045F749                 db  2Ch ; ,
  43. seg000:0045F74A                 db  20h
  44. seg000:0045F74B                 db 0E7h ; ч
  45. seg000:0045F74C                 db 0E0h ; р
  46. seg000:0045F74D                 db 0F0h ; Ё
  47. seg000:0045F74E                 db 0E5h ; х
  48. seg000:0045F74F                 db 0E3h ; у
  49. seg000:0045F750                 db 0E8h ; ш
  50. seg000:0045F751                 db 0F1h ; ё
  51. seg000:0045F752                 db 0F2h ; Є
  52. seg000:0045F753                 db 0F0h ; Ё
  53. seg000:0045F754                 db 0E8h ; ш
  54. seg000:0045F755                 db 0F0h ; Ё
  55. seg000:0045F756                 db 0F3h ; є
  56. seg000:0045F757                 db 0E9h ; щ
  57. seg000:0045F758                 db 0F2h ; Є
  58. seg000:0045F759                 db 0E5h ; х
  59. seg000:0045F75A                 db  20h
  60. seg000:0045F75B                 db 0EFh ; я
  61. seg000:0045F75C                 db 0F0h ; Ё
  62. seg000:0045F75D                 db 0EEh ; ю
  63. seg000:0045F75E                 db 0E3h ; у
  64. seg000:0045F75F                 db 0F0h ; Ё
  65. seg000:0045F760                 db 0E0h ; р
  66. seg000:0045F761                 db 0ECh ; ь
  67. seg000:0045F762                 db 0ECh ; ь
  68. seg000:0045F763                 db 0F3h ; є
  69. seg000:0045F764                 db  2Eh ; .
  70. seg000:0045F765                 db    0
  71. seg000:0045F766                 db    0
  72. seg000:0045F767                 db    0

или это:
Code:
  1. seg000:0045F720 aURasXaarTxSQUuRQucriSRCrXu db '+уЁрэшўхээр',0FFh,' тхЁёш',0FFh,' яЁюуЁрььv, яюцрыєщёЄр, чрЁхушёЄЁшЁєщЄх '
  2. seg000:0045F720                                         ; DATA XREF: TForm1_Startbrutforce1Click+Eo
  3. seg000:0045F720                 db 'яЁюуЁрььє.',0,0,0


вместо:
Code:
  1. 'Ограниченная версия программы, пожалуйста, зарегистрируйте программу.'




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

Создано: 02 декабря 2008 19:55
· Личное сообщение · #12

Все, вопрос решен с помощью этого поста: http://www.exelab.ru/f/action=vthread&forum=1&topic=6802#



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

Создано: 02 декабря 2008 20:01
· Личное сообщение · #13

Уже писалось об этой проблеме (ищи по названию плага cyrplug - по моему так он называется).



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

Создано: 02 декабря 2008 20:28 · Поправил: Kiev78
· Личное сообщение · #14

---



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 17 декабря 2008 16:50 · Поправил: theCollision
· Личное сообщение · #15

Есть вопрос , может кому-нить покажется интересным. В HIEW я могу задать адрес так, чтобы от него отсчитывались оффсеты. Есть ли подобная фича в IDA ?

вот пример, того как показываются оффсеты в hiew:
Code:
  1. 00000000: 55         push        ebp
  2. 00000001: 8BEC       mov         ebp,esp
  3. 00000003: B925000000 mov         ecx,000000025
  4. 00000008: 6A00      1push        0
  5. 0000000A: 6A00       push        0
  6. 0000000C: 49         dec         ecx
  7. 0000000D: 75F9       jnz         000000008 --&#8593;1


точно такого же хочется и в IDA

-----
My love is very cool girl.




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 01 января 2009 22:08
· Личное сообщение · #16

Code:
  1. #include <idc.idc>


Вот такой скрипт вызывает ошибку в IDA 5.0:

Code:
  1. Bad character '#'


Может конечно и не поддерживается это в 5.0, но у знакомого также ругается и в 5.2.

Какие идеи?



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 01 января 2009 22:27 · Поправил: Ultras
· Личное сообщение · #17

progopis, сохранить всё это в файл с расширением .idc и открыть в IDA через File->IDC File.
В окне IDC Command нельзя делать инклуды. Насколько я помню, в хэлпе об этом написано.

-----
.[ rE! p0w4 ].




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 01 января 2009 22:29
· Личное сообщение · #18

Ultras
Спасибо!

А #define можно делать в *.idc? В смысле если я хочу не через AddConstEx.



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 01 января 2009 22:30
· Личное сообщение · #19

theCollision
В иде этот офсет показывается в статусной строке. Переключить, имхо, нельзя.

progopis
Идеи: попытка использовать это в окне выполнения скрипта, вместо файла скрипта

-----
старый пень




Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 01 января 2009 22:31
· Личное сообщение · #20

progopis пишет: А #define можно делать в *.idc? В смысле если я хочу не через AddConstEx.
Можно. А вообще не ленись и посмотри в %IDA%\idc каталог и будет тебе щастье

-----
старый пень




Ранг: 7.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 02 января 2009 18:47
· Личное сообщение · #21

C Новым годом, господа !
В честь праздника подскажите:
- как в IDA Pro 5.2 модифицировать
ячейку памяти по адресу 0x11111111?
- как в IDA Pro 5.2 модифицировать
код расположенный по адресу 0x22222222?

Спасибо, арр.



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 02 января 2009 19:59
· Личное сообщение · #22

app
Patch* (addr, value)

-----
старый пень




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 02 января 2009 20:53
· Личное сообщение · #23

r_e пишет:
Можно.

Спасибо.

r_e пишет:
А вообще не ленись и посмотри в %IDA%\idc каталог

Заглянул. Ничего нового, кроме факта использования #define не узнал. Честно искал это в справке IDA - ничего (5.0)...

app
Ячейку памяти? ИМХО терминология школьника и правильного студента. Поясню, что любезно написал товарищ r_e:

PatchByte(0x11111111,0xDF) ; // пропатчит байт по адресу 0x11111111 на значение 0DFh
PatchWord(0x11111111,0x1234) ; // думаю дальше всё понятно - патчим WORD или DWORD
PatchDword(0x11111111,0x12345678) ;



Ранг: 7.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 02 января 2009 21:52
· Личное сообщение · #24

Спасибо, почти всё понял,
кроме того куда вставить
PatchDword(0x11111111,0x12345678) ;
Ещё раз большое спасибо, арр.



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 02 января 2009 23:55
· Личное сообщение · #25

app пишет:
кроме того куда вставить

господа гусары, молчать!

в idc "вставить"



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 03 января 2009 00:21
· Личное сообщение · #26

app
В таком случае - вперёд читать мануал от Криса Касперского:

www.hackzone.ru/files/get/id/123/Obraz+Mishleniya+IDA+©+Kris+Kasperski.html

Вставлять можно либо в .idc файл и применить его через меню File -> IDC file...
Второй вариант в меню File -> IDC command (горячая клавиша по умолчанию [Shift]+[F2]) и набрать команду.



Ранг: 7.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 03 января 2009 13:05
· Личное сообщение · #27

Уважаемый, progopis!
Прошу прощения, я не
сказал самого главного:
-модифицировать
ячейку памяти по адресу 0x11111111
необходимо в отладчике,
в момент остановки в заданной breakpoint.
Ещё раз прошу прощения, арр.



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 03 января 2009 13:27
· Личное сообщение · #28

app
В отладчике работают те же команды.

-----
старый пень




Ранг: 7.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 03 января 2009 13:48
· Личное сообщение · #29

Но беда в том, что
заранее неизвестен адрес
модифицируемой ячейки,
а определяется он в отладчике.
Причём адрес меняется при каждом
запуске отладчика.
Как быть в этом случае?

С уважением, арр



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 03 января 2009 15:08
· Личное сообщение · #30

app
Вам шашечки или ехать?
app пишет:
-модифицировать ячейку памяти по адресу 0x11111111 необходимо в отладчике, в момент остановки в заданной breakpoint.

app пишет:
...заранее неизвестен адрес модифицируемой ячейки,

Напишите плаг для дебуггера - пусть все делается в плаге.
Или лодер - пусть патчит все в рантайме.

-----
старый пень




Ранг: 7.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 03 января 2009 19:14
· Личное сообщение · #31

r_e пишет:
-" Напишите плаг для дебуггера - пусть все делается в плаге. "
Легко сказать, если
знать, как он( Plugin ) для
моего случая выглядит и
что с ним делать ?

С уважением, арр


<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 50 . 51 . >>
 eXeL@B —› Основной форум —› Использование IDA Pro
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати