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

ВИДЕОКУРС
выпущен 4 ноября!


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

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

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

 eXeL@B —› Протекторы —› DOS/4Gw
Посл.ответ Сообщение


Ранг: 481.4 (мудрец)
Статус: Участник
Тот самый :)

Создано: 9 декабря 2012 20:48 New!
Цитата · Личное сообщение · #1

Чем-то анврапнуть можно? А то ида видит только загрузчик, а не настоящий код. Ну или может есть какая-то инфа по формату того как именно оборачивание происходит, чтобы руками выковырять исходный код?

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

Создано: 9 декабря 2012 21:04 · Поправил: TryAga1n New!
Цитата · Личное сообщение · #2

Попробуй Watcom debugger

http://www.rsdn.ru/forum/tools/618649.hot


Ранг: 481.4 (мудрец)
Статус: Участник
Тот самый :)

Создано: 9 декабря 2012 21:27 New!
Цитата · Личное сообщение · #3

А причем тут дебагер? Ну выйду я потом на точку входа в DOS/4Gw кода, а пределы самого блока я откуда узнаю?

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

Создано: 9 декабря 2012 21:39 · Поправил: Alchemistry New!
Цитата · Личное сообщение · #4

Был такой DOS32A кажется. Опенсурс замена. С ним шел unwrapper.

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



Ранг: 481.4 (мудрец)
Статус: Участник
Тот самый :)

Создано: 9 декабря 2012 22:16 · Поправил: Hexxx New!
Цитата · Личное сообщение · #5

Да, тулза sb из DOS32A создает LE файл без MZ-заголовка но с кодом оригинального файла. А как из LE файла получить снова MZ? Или как иду заставить хавать LE? Потому что не хочет.

p.s. DOS32A живет тут http://dos32a.narechk.net/manual/index.html


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 9 декабря 2012 22:27 New!
Цитата · Личное сообщение · #6

там видимо полный стаб стоит? который на мегабайт?
если полный нужно его отклеить, и приклеить стандартный 20 килобайтовый

и помоему там нормально ида все остальное разбирает


Ранг: 481.4 (мудрец)
Статус: Участник
Тот самый :)

Создано: 9 декабря 2012 22:43 New!
Цитата · Личное сообщение · #7

Если нет MZ заголовка, то IDA не хавает. Уже ковырнул lx.ldw. А там на выходе из sb получается файл у которого сразу LE. Перед LE должно быть 0х1С байт досового заголовка.

Что такое полный стаб?


Ранг: 334.1 (мудрец)
Статус: Участник
born to be evil

Создано: 9 декабря 2012 22:43 New!
Цитата · Личное сообщение · #8

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


Ранг: 481.4 (мудрец)
Статус: Участник
Тот самый :)

Создано: 9 декабря 2012 22:46 New!
Цитата · Личное сообщение · #9

ajax пишет:
слепи хеадер ручками

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


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 9 декабря 2012 22:53 New!
Цитата · Личное сообщение · #10

изначально все что компилируется под DOS/4GW со стабами, тоесть с MZ заголовками
есть полный стаб это платный фулл екстендер занимает около 900 кил перед LE форматом остального файла
а есть фри версия стаба которая занимает около 20 кил перед LE форматом

я думал тебе стаб образать надо, если он ФУЛЛ то нормально особо не поразбираешь,
если не фулл то вроде нормально там ида все распознает

без СТАБА невидел ниразу файлов

в комплекте ваткома есть тулзы отрезать и прицепить стаб,
но имхо прицепить там и copy + можно,
а отрезать тоже не проблема с winhex


Ранг: 481.4 (мудрец)
Статус: Участник
Тот самый :)

Создано: 9 декабря 2012 22:57 · Поправил: Hexxx New!
Цитата · Личное сообщение · #11

reversecode пишет:
есть полный стаб это платный фулл екстендер занимает около 900 кил перед LE форматом остального файла

Да, вот такой у меня бинарь изначально. Его ида открывает как досовый файл, в котором виден только код стаба. А я хочу реверсить сам LE файл. Я думал что нужно отрезать LE файл из него и потом загрузить в иду. При обрезке получился LE файл без DOS заголовка, который ида не хавает.

А как нужно было делать?


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 9 декабря 2012 23:03 New!
Цитата · Личное сообщение · #12

IDA при загрузке файла спрашивает что хотите грузить LE формат или DOS
выбираешь LE и она разбирает не СТАБ а приложение


Ранг: 481.4 (мудрец)
Статус: Участник
Тот самый :)

Создано: 9 декабря 2012 23:06 · Поправил: Hexxx New!
Цитата · Личное сообщение · #13

reversecode пишет:
IDA при загрузке файла спрашивает что хотите грузить LE формат или DOSвыбираешь LE и она разбирает не СТАБ а приложение

Повторяю еще раз. Есть оригинальный DOS/4Gw бинарь. В нем:
Code:
  1. Dos Header
  2. 900 кб кода стаба
  3. LE Header
  4. код самого приложения

Ида его предлагает открыть только как DOS приложение.

Когда я проганяю его через sb.exe получаю файл:
Code:
  1. LE Header
  2. код самого приложения

Его ида тоже не хавает.

А что бы она его схавала должен быть файл:
Code:
  1. Dos Header
  2. LE Header
  3. код самого приложения

Только тогда появится возможность выбора LE формата


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 9 декабря 2012 23:11 · Поправил: reversecode New!
Цитата · Личное сообщение · #14

dos4gw.exe есть отдельным файлом - когда фришный, и тогда стаб приложения 20 кил,
и ИДА нормально его открывает

а есть коммерц dos4gw который упакованый уже в само приложение, похоже на (1) вариант.

нужно отрезать полный стаб екcтендер, и прицепить обычный

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

или отреж стаб от IDAX.exe, она тоже под ваткомом собиралась когда то,
и прицепи этот стаб себе,

idax.exe нормально разбирается когда грузишь в IDA и появляется выбор LE

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



Ранг: 481.4 (мудрец)
Статус: Участник
Тот самый :)

Создано: 9 декабря 2012 23:18 · Поправил: Hexxx New!
Цитата · Личное сообщение · #15

Все, разобрался.

Шаг 1:
отрезаем старый стаб:
sb /u /un1.exe <имя_оригинального_файла>

получаем 1.exe без стаба

Шаг 2:
добавляем новый стаб:
sb /b /BN2.exe 1.exe
если потребует 1.le, нужно просто скопировать 1.exe в 1.le

На выходе получаем 2.exe который хавает IDA, в котором можно выбрать загрузку как Linear executable.
 eXeL@B —› Протекторы —› DOS/4Gw
Эта тема закрыта. Ответы больше не принимаются.

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

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