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

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

Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 09 декабря 2012 20:48
· Личное сообщение · #1

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

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

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

Попробуй Watcom debugger

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



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 09 декабря 2012 21:27
· Личное сообщение · #3

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

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 145.8 (ветеран), 190thx
Активность: 0.140.36
Статус: Участник

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

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

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

Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

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

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

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

-----
Реверсивная инженерия - написание кода идентичного натуральному





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

Создано: 09 декабря 2012 22:27
· Личное сообщение · #6

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

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



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 09 декабря 2012 22:43
· Личное сообщение · #7

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

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

-----
Реверсивная инженерия - написание кода идентичного натуральному





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

Создано: 09 декабря 2012 22:43
· Личное сообщение · #8

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

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




Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

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

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

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

-----
Реверсивная инженерия - написание кода идентичного натуральному





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

Создано: 09 декабря 2012 22:53
· Личное сообщение · #10

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

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

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

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



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

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

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

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

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

-----
Реверсивная инженерия - написание кода идентичного натуральному





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

Создано: 09 декабря 2012 23:03
· Личное сообщение · #12

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



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 09 декабря 2012 23:06 · Поправил: Hexxx
· Личное сообщение · #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 формата

-----
Реверсивная инженерия - написание кода идентичного натуральному





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

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

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

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

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

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

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

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

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

Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 09 декабря 2012 23:18 · Поправил: Hexxx
· Личное сообщение · #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
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати