ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ИНФО_OLD > Статьи > Авторские статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 24.04.2007, 15:01
TaNkist
Участник форума
Регистрация: 06.04.2006
Сообщений: 257
Провел на форуме:
367179

Репутация: 76
По умолчанию

Цитата:
Также тут реализовано смещение указателя на стек(esp) за приделы нашего кода, чтоб при занесении значений в стек, они его не затерали.
Что-то не смог найти реализацию этого смещения в статье. Вроде в коде esp не трогают.
кто поможет?
 

  #12  
Старый 24.04.2007, 21:21
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Цитата:
Сообщение от TaNkist  
Что-то не смог найти реализацию этого смещения в статье. Вроде в коде esp не трогают.
кто поможет?
Хек, я же специально реализовал этот механизм, чтоб исключить появление нулей при изменении длины шэлкода))) но использовать его забыл)))
Код:
        mb_al   = buffer_len and 0xff
        mb_ah   = buffer_len shr 8
        xor     eax, eax
        if      mb_al > 0 & mb_ah > 0
          mov   ax, buffer_len
        else if mb_al > 0 & mb_ah = 0
          mov   ah, mb_al
        else if mb_al = 0 & mb_ah > 0
          mov   ah, mb_ah
        end if
        mov     ebp, esp
        add     ebp, ecode - Begin
Предполагалось вычесть из esp, eax, но я пропустил эту строку)))
Код:
        mb_al   = buffer_len and 0xff
        mb_ah   = buffer_len shr 8
        xor     eax, eax
        if      mb_al > 0 & mb_ah > 0
          mov   ax, buffer_len
        else if mb_al > 0 & mb_ah = 0
          mov   ah, mb_al
        else if mb_al = 0 & mb_ah > 0
          mov   ah, mb_ah
        end if
        sub     esp, eax
        mov     ebp, esp
        add     ebp, ecode - Begin
Кстати пока исправлял, заодно модернизировал ещё одну(теперь одну) инструкцию, вместо
Код:
        mov     ebp, esp
        add     ebp, ecode - Begin
Код:
        lea     ebp, [esp + ecode - Begin]
 

  #13  
Старый 24.04.2007, 21:46
ShadOS
ы
Регистрация: 11.02.2007
Сообщений: 750
Провел на форуме:
1347723

Репутация: 1477


Отправить сообщение для ShadOS с помощью ICQ
По умолчанию

В конечном итоге так и не увидел самого shellcode. а где же сами HEX-кодированные строки ))
__________________
..когда же кто-нибудь выпустит MD5(Unix) брутер на GPU.... жду....
 

  #14  
Старый 24.04.2007, 22:06
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Цитата:
Сообщение от ShadOS  
В конечном итоге так и не увидел самого shellcode.
Ну вообще-то, тут написано "Написание ShellCoda’a", а не "Готовый шелкод, закодированный в HEX для специфической баги", тут универсальный, опенсурс шелкод, с переменной длиной, подходящий под большинство переполнений.

Цитата:
Сообщение от ShadOS  
а где же сами HEX-кодированные строки ))
Компилируешь, открываешь в ХЕКс редакторе, и получаешь "HEX-кодированные строки"
 

  #15  
Старый 24.04.2007, 22:30
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Те у кого проблемы с HEX-по каким либо причинам))), могут дописать следующий код в конец шелкода, что заставил fasm компилировать сразу в HEX
Код:
end_of_shell_code = $
rb end_of_shell_code
repeat end_of_shell_code
  load xxx byte from end_of_shell_code - %
  xx1 = (xxx and 0xF) + '0'
  xx2 = (xxx shr 4) + '0'
  if xx1 > '9'
    xx1 = xx1 - '9' + 'A'
  end if
  if xx2 > '9'
    xx2 = xx2 - '9' + 'A' - 1
  end if
  store word xx2 + (xx1 shl 8) at (end_of_shell_code - %) shl 1
end repeat
 

  #16  
Старый 24.04.2007, 22:36
ShadOS
ы
Регистрация: 11.02.2007
Сообщений: 750
Провел на форуме:
1347723

Репутация: 1477


Отправить сообщение для ShadOS с помощью ICQ
По умолчанию

Ну почему же сразу для спицефичной? можно же получит шеллкод постоянной длинны который будет почти универсальным.
Цитата:
Компилируешь, открываешь в ХЕКс редакторе, и получаешь "HEX-кодированные строки"
Спасибо, мы в курсе =)
__________________
..когда же кто-нибудь выпустит MD5(Unix) брутер на GPU.... жду....
 

  #17  
Старый 25.04.2007, 01:36
grinay
IQ- 137%
Регистрация: 15.06.2004
Сообщений: 441
Провел на форуме:
1212666

Репутация: 662
Отправить сообщение для grinay с помощью ICQ
По умолчанию

А че такое "Написание"??
__________________

 

  #18  
Старый 25.04.2007, 01:49
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Цитата:
Сообщение от grinay  
А че такое "Написание"??
Цитата:
Значение слова «написание»

Ударение: написа́ние
ср.

1. Процесс действия по значению глаг.: написать (1,3,4).
2. Форма буквы в письме.
3. Буквенная передача звуков, слогов, слов, форм слова, цифр.
http://www.efremova.info/word/napisanie.html
 

  #19  
Старый 25.04.2007, 14:27
Dude03
Познающий
Регистрация: 05.10.2006
Сообщений: 56
Провел на форуме:
227465

Репутация: 42
По умолчанию

+1. Неплохая статья.
Ps. Cmpsb, Cmpsw, Cmpsd забыли
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ