Сейчас на форуме: asfa, bartolomeo, _MBK_ (+7 невидимых)

 eXeL@B —› Вопросы новичков —› реверс в Qnx ?
Посл.ответ Сообщение

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

Создано: 03 ноября 2011 18:06 · Поправил: dimka_new
· Личное сообщение · #1

Доброго времени!!!

Хотел задаться вопросом, существуют ли какие-то средства отладки\декомпиляции под qnx,
вопрос в следующем - имеется пакет работающий под qnx 4.0, имеется ключег для lpt-порта, при запуске софта идет запрос на lpt порт (3f8), и прога начинает работать иначе выдает роги
Прогу отламывали, но в силу обстоятельств руководства не договорилось с руководством (или челом)

Вопрос: имеются ли какие-то средства\инструменты для реверс инженеринга под QNX ?
(зы кое-чего ваял в watcom c++, в данный момент электронщики пытаются всякое отследить)



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

Создано: 03 ноября 2011 18:56
· Личное сообщение · #2

dimka_new
Те же средства что и под любой *никс

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


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

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

Создано: 03 ноября 2011 19:02
· Личное сообщение · #3

r_e

А можно поподробнее, чет гугля всякую дрянь выдает, может быть имеются ссыли на примеры и т.п. ?
Ключег если кто rainbow



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

Создано: 03 ноября 2011 19:59
· Личное сообщение · #4

IDA Pro, например.
В зависимости от примененных наворотов, можно или пропатчить или начинать читать Linux Device Drivers. 3rd edition (google LDD3). Засуньте ключик в виндовую машину, поставьте дрова и сделайте дамп.

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





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

Создано: 04 ноября 2011 11:21
· Личное сообщение · #5

у watcom вроде есть отладчик



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

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

r99
Про отладчик не в курсе - не было такой необходимости, взял книжку (страниц на 500) сейчас изучаю

r_e
Можно вопрос про Иду - нужна какая-то специальная сборка или пойдет с раздела скачать ?



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

Создано: 07 ноября 2011 12:22
· Личное сообщение · #7

dimka_new
Любая. Вашему начальству большой привет. Оно потратит больше на з/п инженерам + время, пока они будут ковырять софт вместо того чтоб купить готовое.

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





Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 07 ноября 2011 12:32
· Личное сообщение · #8

r_e
зарплата есть зарплата. еще м.б. повышение по службе. а за готовое дополнительно платить надо

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




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

Создано: 07 ноября 2011 12:45 · Поправил: dimka_new
· Личное сообщение · #9

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

Подсказку мне дали следующую - пройтись поиском по строке 3f8 - определиться с нужным файлом и т.д.
Пока читаю доки по watcom-у - книженция солидная.

Зарплата - зарплатой, делаем больше для своего удобства (а начальству до нашего удобства мягко говоря пофиг)



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

Создано: 07 ноября 2011 13:50 · Поправил: r_e
· Личное сообщение · #10

dimka_new
=) Ну раз старое и только для запуска, то можно обойтись патчем. Идите от FUJITSU по рефам вверх. Уровней через 5-6 будет искомое.
Или кидай сцылко на софт в ПМ - посмотрим.

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


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

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

Создано: 09 ноября 2011 16:34 · Поправил: dimka_new
· Личное сообщение · #11

Сильно извиняюсь, в серверной профилактика, доступа к ресурсам не имею, по всей области искали ноут с lpt - портом приедет наверное только к пятнице, так-что наверное до следующей недели ничего не получается...

r_e
Спасибо за подсказки - а что такое FUJITSU ?



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

Создано: 09 ноября 2011 17:37
· Личное сообщение · #12

Строка такая.

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




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

Создано: 09 ноября 2011 18:03
· Личное сообщение · #13

r_e

Ладно не побоюсь выглядеть глупым, задам еще 2 вопроса:
данная строка присутствует во всех прогах под ОС QNX ?
И искать ее надо в IDA ?



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

Создано: 09 ноября 2011 18:45
· Личное сообщение · #14

dimka_new
Нет, с большой вероятностью только в модулях, использующих SuperPro LPT API. Впрочем ложные срабатывания легко отсеиваются по вторичным признакам.
Atl+B в иде

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




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

Создано: 14 ноября 2011 10:45 · Поправил: dimka_new
· Личное сообщение · #15

Вообщем слил папку bin, ковыряю запускающий файл:

нашел функцию Super, спустился ниже и обнаружил следующее:

Code:
  1. cseg_01:000447E0 ; =============== S U B R O U T I N E =======================================
  2. cseg_01:000447E0
  3. cseg_01:000447E0
  4. cseg_01:000447E0 sub_447E0       proc near               ; CODE XREF: sub_44B10+2E5p
  5. cseg_01:000447E0                 push    140h
  6. cseg_01:000447E5                 call    sub_4D3FD
  7. cseg_01:000447EA                 push    ebx
  8. cseg_01:000447EB                 push    ecx
  9. cseg_01:000447EC                 push    edx
  10. cseg_01:000447ED                 push    esi
  11. cseg_01:000447EE                 push    edi
  12. cseg_01:000447EF                 push    ebp
  13. cseg_01:000447F0                 mov     ebp, esp
  14. cseg_01:000447F2                 sub     esp, 110h
  15. cseg_01:000447F8                 mov     [ebp-4], eax
  16. cseg_01:000447FB                 lea     eax, [ebp-10Ch]
  17. cseg_01:00044801                 call    sub_4E1D0
  18. cseg_01:00044806                 mov     [ebp-8], eax
  19. cseg_01:00044809                 mov     eax, [ebp-4]
  20. cseg_01:0004480C                 mov     dword ptr [eax+418h], 0
  21. cseg_01:00044816                 xor     eax, eax
  22. cseg_01:00044818                 mov     al, [ebp-10Ch]
  23. cseg_01:0004481E                 cmp     eax, 0Ah
  24. cseg_01:00044821                 jnz     short loc_44835
  25. cseg_01:00044823                 mov     eax, [ebp-4]
  26. cseg_01:00044826                 mov     dword ptr [eax+418h], 0FAh ; '·'
  27. cseg_01:00044830                 jmp     loc_4493E
  28. cseg_01:00044835 ; ---------------------------------------------------------------------------
  29. cseg_01:00044835
  30. cseg_01:00044835 loc_44835:                              ; CODE XREF: sub_447E0+41j
  31. cseg_01:00044835                 xor     eax, eax
  32. cseg_01:00044837                 mov     al, [ebp-10Ch]
  33. cseg_01:0004483D                 cmp     eax, 0Bh
  34. cseg_01:00044840                 jnz     short loc_44854
  35. cseg_01:00044842                 mov     eax, [ebp-4]
  36. cseg_01:00044845                 mov     dword ptr [eax+418h], 1F4h
  37. cseg_01:0004484F                 jmp     loc_4493E
  38. cseg_01:00044854 ; ---------------------------------------------------------------------------
  39. cseg_01:00044854
  40. cseg_01:00044854 loc_44854:                              ; CODE XREF: sub_447E0+60j
  41. cseg_01:00044854                 xor     eax, eax
  42. cseg_01:00044856                 mov     al, [ebp-10Ch]
  43. cseg_01:0004485C                 cmp     eax, 0Ch
  44. cseg_01:0004485F                 jnz     short loc_44873
  45. cseg_01:00044861                 mov     eax, [ebp-4]
  46. cseg_01:00044864                 mov     dword ptr [eax+418h], 3E8h
  47. cseg_01:0004486E                 jmp     loc_4493E
  48. cseg_01:00044873 ; ---------------------------------------------------------------------------
  49. cseg_01:00044873
  50. ...
  51. ...
  52. ...
  53. cseg_01:00044924 ; ---------------------------------------------------------------------------
  54. cseg_01:00044924
  55. cseg_01:00044924 loc_44924:                              ; CODE XREF: sub_447E0+133j
  56. cseg_01:00044924                 xor     eax, eax
  57. cseg_01:00044926                 mov     al, [ebp-10Ch]
  58. cseg_01:0004492C                 cmp     eax, 5
  59. cseg_01:0004492F                 jnz     short loc_4493E
  60. cseg_01:00044931                 mov     eax, [ebp-4]
  61. cseg_01:00044934                 mov     dword ptr [eax+418h], 0
  62. cseg_01:0004493E
  63. cseg_01:0004493E loc_4493E:                              ; CODE XREF: sub_447E0+50j
  64. cseg_01:0004493E                                         ; sub_447E0+6Fj ...
  65. cseg_01:0004493E                 mov     eax, [ebp-8]
  66. cseg_01:00044941                 mov     [ebp-110h], eax
  67. cseg_01:00044947                 jmp     loc_449E5
  68. cseg_01:0004494C ; ---------------------------------------------------------------------------
  69. cseg_01:0004494C
  70. cseg_01:0004494C loc_4494C:                              ; CODE XREF: sub_447E0+277j
  71. cseg_01:0004494C                 mov     eax, offset aNoSentinelPro ; "NO SENTINEL PRO"
  72. cseg_01:00044951                 push    eax
  73. cseg_01:00044952                 push    0
  74. cseg_01:00044954                 push    0
  75. cseg_01:00044956                 mov     eax, offset aимя прогиErro_1 ; "имя проги ERROR"
  76. cseg_01:0004495B                 push    eax
  77. cseg_01:0004495C                 push    0
  78. cseg_01:0004495E                 call    near ptr 2488h
  79. cseg_01:00044963                 add     esp, 14h
  80. cseg_01:00044966                 mov     eax, offset aимяпрроги2 ; "_имяпроги2"
  81. cseg_01:0004496B                 call    sub_4DE00
  82. cseg_01:00044970                 xor     eax, eax
  83. cseg_01:00044972                 call    exit_


Как я понял идут проверки и при ошибке прыжок на сообщение - вопрос такой как теперь поправить код - это можно сделать в ide или нужно использовать др. утилиты (с Ida никогда не работал - W32dasm всегда хватало)

Строка FUJITSU - пока не попадалась



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

Создано: 14 ноября 2011 12:05
· Личное сообщение · #16

1. Функция приведена не полностью.
2. Видимо, ключик не суперпро, а просто про.
3. Для правки можно попробовать hiew

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


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


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

Создано: 14 ноября 2011 12:21
· Личное сообщение · #17

можно попробровать и в IDA пропатчить, патчбайт нужно включить
и думаю код будет смотреться лучше если стек распознается
Alt+P отноcительно bp frame, если не ошибаюсь

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

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

Создано: 14 ноября 2011 13:52 · Поправил: dimka_new
· Личное сообщение · #18

Еще обнаружились файлики:

Csuperkey.n и Csuperkey (но возможно что свое - только для данного пакета)
Ключ сам красного цвета, сквозной (для подключения принтера), насчет суперпро и про ничего конкретного мне не ответили, прога 94 года, бумаг же не найдешь
Вопрос в том как сопоставить адреса Ida и hiew ?

зы да функу предоставил сильно порепаную - сам файл пока не даю, охото побарахтаться самому)

Add
Нашел статью как включить патчбайт в Ida - пробую
Все включил - адреса нашел - с помощью dif файла, жаль сегодня уже не успеваю завтра с утра попробую запатчить


 eXeL@B —› Вопросы новичков —› реверс в Qnx ?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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