Перевод кода с си на nasm.

Тема в разделе "WASM.UNIX", создана пользователем Asmodee, 16 янв 2007.

  1. Asmodee

    Asmodee New Member

    Публикаций:
    0
    Регистрация:
    10 янв 2007
    Сообщения:
    14
    Всем привет. У меня вот какой вопрос. Как можно заменить функцию sprintf
    инструкциями на асме?

    Код (Text):
    1. section .data
    2.  
    3.     shellpre:
    4.                     db      031h,0c0h,089h,0c3h,0b0h,002h,0cdh
    5.                     db      031h,0c0h,089h,045h,010h,040h,089h
    6.  
    7.     LC0:            db          '%s',0
    8.  
    9. section .bss
    10.  
    11.     buf:            resb    1000
    12.  
    13. section .text
    14.  
    15.         push        shellpre
    16.         push        LC0
    17.         push        buf+869
    18.         call        sprintf
    За раннее спасибо.
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    сделать простое копирование буфера (rep movs)
     
  3. Asmodee

    Asmodee New Member

    Публикаций:
    0
    Регистрация:
    10 янв 2007
    Сообщения:
    14
    censored, можно поподробней.Дело в том что у меня buf уже заполнен:

    Код (Text):
    1. _memset:
    2.     mov     ecx,869
    3.     mov     al,0x41
    4.     mov     edi,buf
    5.     rep     stosb
    мне надо поместить shellpre после символов 0x41.
    Если не трудно,дай пример замены:
    Код (Text):
    1.     push            shellpre
    2.         push            LC0
    3.         push            buf+869
    4.         call            sprintf
    С уважением.
     
  4. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    ну тривиально ведь
    Код (Text):
    1. mov     ecx,869
    2. mov     al,0x41 ; 'A'
    3. mov     edi,buf
    4. rep     stosb
    5. mov     ecx, 14
    6. mov     esi, shellpre ; shellcode
    7. rep      movsb
    8. xor      al, al
    9. stosb                    ; ASCIIZ?
     
  5. Asmodee

    Asmodee New Member

    Публикаций:
    0
    Регистрация:
    10 янв 2007
    Сообщения:
    14
    censored,огромное спасибо. Очень помог.