singlepost

Декомпилятор BIN в ASM << На главную или назад  

Прямой эфир с Русскоговорящей суперборды:
Bolid:ИнвайтницаИнвайты на Лепру
trdnepr:Nolix Official BoardПредложения по улучшению системы Nolix
Семен:ПсихологияКак помириться с парнем (девушкой)?
Анонимно → ПсихологияМой парень - курсант
Анонимно → ПсихологияПомогите
ернра:ПсихологияПарень хочет быть один какое-то время
Анонимно → Психология:/

Есть бинарник(*.bin) скомпилированый из исходного кода написанного на ассемблере. Исходника нету( Надо получиться обратно исходный код. Перепробовал много известный декомпиляторов и дебагеров, но почти все отказались работаь с *.bin. Только с исполняемыми фалами(*.exe, *.elf, *.dll, *.so, *.com). Только когда я переименовал файл в *.com то его смог опознать IDA Pro единственный! Но он опзнал только первые пять строк кода, остальные принял за сегмент кода и вывел переменные. Хотя точно известно что там идёт код!!!!!!!

Может кто то кто сталкивался с такими проблемами поделиться секретом как всётаки дизасемблировать бинарник??????)

12 ответов в теме “Декомпилятор BIN в ASM”

Страницы: [1] 2 »

  1. 1
    Дмитрий Бабий ответил:

    Бинарник под микроконтроллер?

  2. 2
    Лёха Воронин ответил:

    да если бы. считал MBR с жесткого диска и получил файл.
    Хочу разобраться какие бывают и как работают MBR в разных ОС.

  3. 3
    Дмитрий Коковцев ответил:

    MBR содержит в себе, помимо кода, таблицу размещения разделов. Может быть, в ней дело?

  4. 4
    Дамир Алиев ответил:

    Да, IDA Pro лучший дизасмер. Тип файла определяет по расширению. Фишка в том что в сырых бинарниках нет данных что это за код. В твоем случае это бут-сектор. Ну во-первых, он 16-ти бытный, это нужно явно указать ИДЕ. Во-вторых он помещается в память по адресу 0000:7C00. и все остальные адреса базируются на этом. Первой командой там должен быть jmp, далее идет блок переменных, которые ИДА, не обязанна распознать, но вот за ним идет сам код, на который указывает первая команда… далее все просто…

  5. 5
    Леонид Максимов ответил:

    а может оно его само съест, если обозвать как .img?

  6. 6
    Дамир Алиев ответил:

    IDA determines the default processor using the input file extension and the contents of the input file. The table which describes the input file extensions and the corresponding processor types is located in IDA.CFG file and looks like:

    DEFAULT_PROCESSOR = {
    /* Extension Processor */
    "com" : "8086"// IDA will try the specified
    "exe" : "80386r"// extensions if no extension is
    "dll" : "80386r"// given.
    "drv" : "80386r"
    "o" : "68000"
    "prc" : "68000" // PalmPilot programs
    "axf" : "arm710a"
    "h68" : "68000" // MC68000 for *.H68 files
    "i51" : "8051"// i8051 for *.I51 files
    "sav" : "pdp11" // PDP-11for *.SAV files
    "rom" : "z80" // Z80 for *.ROM files
    "cla" : "java"// Java classes
    "class":"java"// Java classes
    "s19":"6811"
    "*":"80386p"// Default processor
    }

    FT_EXE//MS DOS EXE File
    FT_COM//MS DOS COM File
    FT_BIN//Binary File
    FT_DRV//MS DOS Driver
    FT_WIN//New Executable (NE)
    FT_HEX//Intel Hex Object File
    FT_MEX//MOS Technology Hex Object File
    FT_LX //Linear Executable (LX)
    FT_LE //Linear Executable (LE)
    FT_NLM//Netware Loadable Module (NLM)
    FT_COFF //Common Object File Format (COFF)
    FT_PE //Portable Executable (PE)
    FT_USER //file is loaded using IDP loader function
    FT_OMF//Object Module Format
    FT_SREC //R-records
    FT_ZIP//ZIP file
    FT_OMFLIB //Library of OMF Modules
    FT_AR //ar library
    FT_LOADER //file is loaded using LOADER DLL
    FT_ELF//Executable and Linkable Format (ELF)
    FT_W32RUN //Watcom DOS32 Extender (W32RUN)
    FT_AOUT //Linux a.out (AOUT)

    Ну нету в сырых бинарниках данных под какой это проц, и вообще что это за код. У других то хоть заголовки есть.

  7. 7
    Лёха Воронин ответил:

    а как указать IDA Pro все эти тонкости????
    в демо версии или free-версии IDA-Pro это можно настроить???

  8. 8
    Дамир Алиев ответил:

    Демо… На офф.сайте гриться что
    it will only load 80×86 & ARM PE files
    У мну полная, а так при загрузке указываем что это бинарник, сегмент – 0х0000000, оффсет – 0х7C00. Тыркаем ОК и она спрашивает как его иметь, как 32-х битный ? Грим что нет, и имеем его как 16-битный. Далее я нинаю как у Вас, но у меня надо поставить курсор на первую инструкцию и тыркнуть кнопарь Convert to instruction ну или бкуву С на клаве, и понеслася…

    Что касается бутявок под разные ОС, мож стоит просто почитать как загрузка то происходит ? И структуру на сырцах изучить…

    http://sysbin.com/

    Сайт на русской мове.

  9. 9
    Лёха Воронин ответил:

    Алиев Дамир спасибо большое!!!
    так бы долго сам копался)

  10. 10
    Нгамдкхе Кверос ответил:

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

    вот оно, ваше счастье.
    http://ru.wikipedia.org/wiki/Главная_загрузочная_запись

Страницы: [1] 2 »

Ответить

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.