Структура ELF, добавление секции

Тема в разделе "WASM.UNIX", создана пользователем loshkanchik, 31 авг 2005.

  1. loshkanchik

    loshkanchik New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    5
    Адрес:
    Albania
    Добрый день.



    Друзья, если кто имеет набор линков (документов) по структуре ELF и/или в курсе особенностей добавления секции в ELF-header, буду крайне признателен за подсказки.



    Помогите, пожалуйста.



    P.S.

    Необходимо реализовать LPH (Local Process Hook) под FreeBSD.
     
  2. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
  3. loshkanchik

    loshkanchik New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    5
    Адрес:
    Albania
    Угу, я делал подобное, только на google.

    /usr/include/elf* так же мне помогли.

    Правда, по вопросу добавления секции для LPH еще ничего не нашел. (Докуметнов накачал разных много, изучаю).



    Еще, кстати, есть ли нормальный редактор ELF (аналог LordPE для PE)?
     
  4. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    первая попавшаяся ссылка из вышеприведённого

    поиска имеет в себе такой текст



    8.2. Editing ELF



    Editing ELF is often desired during reverse engineering, especially when we want to insert bodies of code, or if we want to reverse engineer binaries with deliberately corrupted ELF headers.



    Now you could edit these headers by hand using the <elf.h> header file and those above structures, but luckily there is already a nice editor called HT Editor that allows you to examine and modify all sections of an ELF program, from ELF header to actual instructions. (TODO: instructions, screenshots of HTE)



    Do note that changing the size of various program sections in the ELF headers will most likely break things. We will get into how to edit ELF in more detail when we are talking about actual code insertion, which is the next chapter.





    http://linux.fopf.mipt.ru/RevEng/x430.htm
     
  5. loshkanchik

    loshkanchik New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    5
    Адрес:
    Albania
    Я-то этот документ читал до конца... Еще до того, как сюда написал. Позволю себе процитировать тот самый "next chapter", о котором идет речь. Нас, безусловно, интересуют пп 10.4, 10.5.



    10. Code Modification

    So now we know the tools to analyze our programs and find

    [...]



    10.1. Reasons for Code Modification

    Code modification is most useful if we wish to change the

    [...]



    10.2. Instruction Modification

    Since the smallest unit of code is the instruction, it

    [...]



    10.2.1. Editing the arguments

    Editing the arguments of an assembly instruction is easy.

    [...]



    10.2.2. Editing the Mnemonic

    This is far more tricky.



    10.3. Single Instruction Insertion



    10.4. Single Function Insertion

    Use unused space as found by disasm.pl (be careful about main)



    10.5. Multiple Function Insertion

    Trickery.. We're working on a util to modify ELF programs and insert functions. What about using MMAP?? (P.S. Can you unmap executable memory to modify it... if they are doing an MD5 of their executable)



    10.6. Attacking copy protection

    Lest I be accused of hiding in my ivory tower, lets look [...]
     
  6. loshkanchik

    loshkanchik New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    5
    Адрес:
    Albania
    Насчет редакторов, уже нашел (ничего не проверял пока):

    1. bed - Binary EDitor (Linux ELF binary) v0.0.5 (24MAR99)

    2. HT ELF Editor

    http://hte.sourceforge.net

    3. ELF header analyzer and editor

    4. Elf Shell v0.51b3-portable is an automated reverse engineering tool with read/write capability for the ELF format

    http://elfsh.devhell.org
     
  7. loshkanchik

    loshkanchik New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    5
    Адрес:
    Albania
    Да, кстати, кому-нибудь может быть полезен вот этот линк:

    http://www.woodmann.com/fravia/siul_333.htm



    Хотя на мой взгляд, статья пустая и ничего интересного в себе не содержит.