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

 eXeL@B —› Вопросы новичков —› TurboDebugger и 500 кб 16ти битный ехе
Посл.ответ Сообщение

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

Создано: 07 декабря 2013 16:26
· Личное сообщение · #1

Нужно запустить на отладку 500 килобайтный 16ти битный ехе-шник. Из нормальных дебаггеров, которые знаю - TD. Но он отказывается грузить, ссылаясь на что что "Not enough memory to load program". Как можно обойти эту проблему?




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

Создано: 07 декабря 2013 18:23
· Личное сообщение · #2

дос поставте
отключите/или включите himem.sys/emm386

или пробуйте альтернативные отладчики аля cup386



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

Создано: 07 декабря 2013 18:24
· Личное сообщение · #3

Не... TD на разу не нормальный отладчик. Попробуй WDW.EXE из состава Open Watcom C.



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

Создано: 07 декабря 2013 18:49
· Личное сообщение · #4

V01and

в игровом емуле DOSBox отличная дебаг подсистема (SoftIce подобная)




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

Создано: 07 декабря 2013 19:19 · Поправил: DenCoder
· Личное сообщение · #5

Сколько помню win98, попадались игры под дос, так они запускались через dos4gw.exe. Хоть и было давно, около 15 лет назад, но поделюсь остатками памяти об этом - эта прога, запустившись, становится резидентной, и позволяет адресовать больше чем 1Мб под досом.

По теме полезная ссылка, в случае если dos4gw не подойдёт

-----
IZ.RU





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

Создано: 07 декабря 2013 19:21
· Личное сообщение · #6

это не новость, поэтому проги написаные под dos4gw отлаживаются хорошо только ваткомовским дебагером
но как это к теме относится неясно



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

Создано: 07 декабря 2013 19:27
· Личное сообщение · #7

ваткомовский дебаггер - вторая вещь, которую нашел. пробовал софтайс запускать - ни под виртуалкой, ни под dosbox не получилось. ваткомовский открыл нормально и даже что-то дебажить можно. Но есть несколько моментов, на которые не нашел ответа в хелпе к этому дебаггеру.
1) Открыл прогу в дебаггере, запустил (F5), дошел до нужного скрина, а как вернутся снова в дебаггер, прервав выполнение? Ctrl+Break здесь не работает...
2) Решил пойти другим путем - нашел нужную строку в иде, и адресс, где ее адресс грузится - 49e51. Но как-то странно, адресс ведь не 16ти битный, или я чего-то не понимаю.
3) Открыл HIEW6.81, открыл этот ехешник в нем - там тоже не прерываний не видно, ни 16ти битных адресов - тоже самое что и в иде.
Вобщем, вопрос теперь стоит, как найти то место, где грубо говоря сверяется строка, введенная с клавы с другой строкой?
Под дос не писал с 2006го года, уже почти ничего не помню.



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

Создано: 07 декабря 2013 19:51 · Поправил: V01and
· Личное сообщение · #8

sendersu, а где можно найти DOSBox с дебаггером, чтобы не собирать?



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

Создано: 07 декабря 2013 19:58
· Личное сообщение · #9

Все понятно, ваткомовский дебаггер показывает код только в пределах одной секции. С адресом все впорядке. Вопрос только в том, как же поставить в нем брекпоинт на нужном адресе 49e51?



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

Создано: 07 декабря 2013 20:02
· Личное сообщение · #10

http://prntscr.com/29difi

клац на Windows




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

Создано: 07 декабря 2013 20:05 · Поправил: reversecode
· Личное сообщение · #11

думаю вам лучше в запросы на взлом
а то эти "как нажать", "как найти", "раньше был хакером но подзабыл", - заканчиваются имеено так

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

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

Создано: 07 декабря 2013 20:26 · Поправил: dosprog
· Личное сообщение · #12

... если даже неясно, что за формат: 500 килобайтный 16ти битный ехе-шник ... В котором адреса типа 49e51.
Раз программа для 32-бит DOS-extender'а - то для какого? Это не обязательно DOS4GW. W32run, PMODE/W и т.д.
Работает Watcom Debugger - что ж ещё нужно...

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

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

Создано: 07 декабря 2013 20:34
· Личное сообщение · #13

Я ставил int3 в exe-файле, далее восстанавливал вручную.
Адрес 49e51 - он относительный. в IDA это скорее всего cseg04, в hiew его нужно вводить через ".".



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

Создано: 07 декабря 2013 22:07
· Личное сообщение · #14

sendersu, спасибо за линк. DOSBox попробовал, отпадает, т.к. прога использует компорты, которые там недоступны. Остается watcom. Но вопрос остается - как найти адрес, по которому идет проверка того, что ввел юзер. Прога ничем не защищена - знаю, т.к. правил более новые 32х битные версии. По идее это должно быть не сложно, но нигде не нахожу инфы, как это можно сделать. Кто-нибудь может помочь? В принципе готов за помощь в поиске адреса заплатить. Если кто заинтересован, напишите в личку.



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

Создано: 09 декабря 2013 01:28
· Личное сообщение · #15

Нет возможности загрузиться в чистом досе, только ХР, поэтому софтайс и cup386 тоже отпадают. Эмуляцию КомПорта в DosBox включил, прога работает как надо, но не работает сочетание клавишь для прерывания выполнения (Alt+Break).
Пробую также в ваткомовском дебаггере - адрес нашел в иде, брекпоинт поставил, но в тот момент когда должен сработать брекпоинт дебаггер вместе с программой аварийно завершается, сообщив перед закрытием значения регистров. У кого-нибудь была подобная ситуация? Что-нибудь еще можно предпринять?




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

Создано: 09 декабря 2013 01:36
· Личное сообщение · #16

удивительно а что под чистой XP, 16 битовые проги умеют запускатся? я чет подзабыл,сто лет ее не видел



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

Создано: 09 декабря 2013 01:44 · Поправил: dosprog
· Личное сообщение · #17

V01and,
Почему нет возможности загрузиться в чистом досе ?..
Грузитесь с загрузочной флешки в DOS, какие проблемы?
С этого стоило начать. (Если машина поддерживает. Новые - поддерживают).

... Вообще, странные вещи ... Прерывание выполнения по Alt+Break?...

reversecode,
В WinXP/32-bit обычный V86 DOS-BOX (с command.com v.5.0).




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

Создано: 09 декабря 2013 16:58
· Личное сообщение · #18

dosprog пишет:
В WinXP/32-bit обычный V86 DOS-BOX (с command.com v.5.0)

как так? )
reversecode пишет:
под чистой XP, 16 битовые проги умеют запускатся?

умеют, только через одно место
V01and пишет:
Пробую также в ваткомовском дебаггере

самому дебаггеру винда как бэ тоже может не нравиться

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




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

Создано: 09 декабря 2013 17:50
· Личное сообщение · #19

V01and, выложи файлик уже



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

Создано: 09 декабря 2013 18:24
· Личное сообщение · #20

Artem_N, http://www.sendspace.com/file/urjs4u
Поковырять можно, запустить тоже, но полноценно он работает только с подключенной "железякой"



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

Создано: 09 декабря 2013 20:21 · Поправил: dosprog
· Личное сообщение · #21

ajax,

ajax пишет:
>dosprog пишет:
>>В WinXP/32-bit обычный V86 DOS-BOX (с command.com v.5.0)
>как так? )

- тут ошибка?
см. также .

V01and,
да, самый обычный досовский екзек.
Берите INSIGHT и отлаживайте в WinXP-шном DOS-BOX'e.
(Раз уж тут были вопросы - это то, что запускается, когда в меню "Пуск"->"Выполнить" указывают "command.com". Или "INSIGHT.COM".
DOS-BOX - так ЭТО обозвали в Микрософт. Когда программы "DosBox" ещё и в проекте не было.)
Если нужна реальная работа с портом - грузитесь в DOS с карточки.

P.S. Ходил такой микрософтовский слоган: "Windows DOS-BOX -- это DOS, лучшая, чем сама DOS".
Погорячились, конечно, но вещь действительно удобная.
В 64-bit Windows она уже не нужна. Поэтому там её и нету.



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

Создано: 09 декабря 2013 21:12
· Личное сообщение · #22

dosprog, программа вообще сказка. Приятный сишный код, логгирование, то-сё.

Задача не ясна, но я бы отталкивался от бряков на strcmp/memcmp и аналогичных. В каком-нибудь из них вполне может проверяться строка, введённая с клавиатуры.




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

Создано: 09 декабря 2013 21:26
· Личное сообщение · #23

пароль или какойто crc от пароля вроде в железке? не?




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 09 декабря 2013 21:28 · Поправил: OKOB
· Личное сообщение · #24

Artem_N пишет:
я бы отталкивался от бряков на strcmp/memcmp и аналогичных


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

reversecode пишет:
пароль или какойто crc от пароля вроде в железке?


и я о том же

-----
127.0.0.1, sweet 127.0.0.1




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

Создано: 09 декабря 2013 21:31 · Поправил: dosprog
· Личное сообщение · #25

Artem_N,
да. Не унизились до экстендеров.

V01and,
а что это вы там уже поковыряли @MZ.49E5F: JNE->JE ?.. Это ж не оригинальный файл.

P.S. - сравнивал с файлом из дистрибутива, скачанного с официального сайта программы. Сравните и вы.
P.P.S. - проблема найти интересующее место в памяти? - В отладчиках есть функция "Поиск".
Или просто вбейте в файл в интересующем месте <int3>, как советовал Artem_N.
P.P.P.S. - Написали бы внятно, в чём проблема с программой - может, кто и посоветовал бы чего. (О чём тут уже писали). Или вы просто осваиваете работу с отладчиком в DOS?..
))) Не знаю как кому, а для меня проблемы редактирования прошивок БК в обозримом будущем не актуальны



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

Создано: 10 декабря 2013 01:37 · Поправил: V01and
· Личное сообщение · #26

OKOB,
reversecode, Возможно и такое, но в более новых 32х битных версиях достаточно было пропатчить 1-2 перехода и все работало. В старой должно было аналогично. Или я не прав?

dosprog, отладчик работает, порт в DosBox работает. Но проблемы с поиском условного перехода. По какому адресу ставить бряк (с указанием адреса сегмента)? Это оригинальный файл.

Artem_N, это хорошо, что программа и код - сказка, но уже 2й день ищу нужный переход, а результата нету.


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


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