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

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

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

Помогите по полиморфизму
  #1  
Старый 25.08.2007, 02:44
zl0y
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме:
2869410

Репутация: 925


Отправить сообщение для zl0y с помощью ICQ
Unhappy Помогите по полиморфизму

Вот пишу полиморф движок дошел до генерирования мусора кодом,когда генерирвую строками ошибок нет,но делать это строками мне совесть не позволяет
Код:
function GetIncDec32():string;
var I : integer;
reg_inc,reg_dec : integer;
begin
randomize;
i:=random(8);
reg_inc:=0
reg_dec:=0;
asm
mov eax,40//Поместим в eax опкод inc
mov ebx,48//Поместим в ebx опкод dec
add eax,i//Добавим в eax,рандом регистр
add ebx,i//Добавим в ebx,рандом регистр
xchg reg_inc,eax//Получим в reg_inc нужный нам опкод
xchg reg_dec,ebx//Получим в reg_dec нужный нам опкод
end;
result:=IntToStr(reg_inc)+IntToStr(reg_dec);
end;
Так все работает нормально,но если делаю это в цикле прога вылетает... почему???

Последний раз редактировалось zl0y; 25.08.2007 в 02:48..
 
Ответить с цитированием

  #2  
Старый 25.08.2007, 11:01
dmnt
Познающий
Регистрация: 06.06.2007
Сообщений: 99
Провел на форуме:
559723

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

вопервых лучше не использовать все 8 регистров для мусора, проблемы могут быть
во вторых можно пойти по пути наимньшего сопротивления и задать сразу наборы мусорных инструкций, однобайтовых, двухбайтовых и т.д. а потом выбирать из них случайную
 
Ответить с цитированием

  #3  
Старый 25.08.2007, 12:11
Hellsp@wn
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме:
2715445

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

бред =)

>> result:=IntToStr(reg_inc)+IntToStr(reg_dec);

получаются теже строки!!!

в какой цикл, что вылетает? ))) ольгу в зубы и смотреть код...

з.ы. вообще в битовыми масками нада работать, так проще...
 
Ответить с цитированием

  #4  
Старый 25.08.2007, 14:52
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

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

Ужасный код.
Ищи исходники Morphine, там 2 версии в архиве, как на С, так и на дельфи. Также почитай про способы генерации мусорных команд.
 
Ответить с цитированием

  #5  
Старый 25.08.2007, 15:00
zl0y
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме:
2869410

Репутация: 925


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

Цитата:
Сообщение от Ni0x  
Ужасный код.
Ищи исходники Morphine, там 2 версии в архиве, как на С, так и на дельфи. Также почитай про способы генерации мусорных команд.
Я знаю,что ужасный но надо же как то разобраться с принципом

Кттаи в морфине не лучше
Цитата:
procedure TestReg32Rand(var AMem: PByte);
begin
AMem^:= $85;
Inc(AMem);
AMem^:= $C0 + RandomReg32All*9;
Inc(AMem);
end;
$85- опкод test reg32 =)
 
Ответить с цитированием

  #6  
Старый 25.08.2007, 19:30
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

Херня ваши морфины. Героин круче
Генерация команд - полная лажа. Прикольнее разбивать код на куски, перемешивать их и делать джапмы друг на друга, просчитывая все остальные джапмы и колы.
 
Ответить с цитированием

  #7  
Старый 25.08.2007, 19:39
zl0y
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме:
2869410

Репутация: 925


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

Цитата:
Сообщение от kez  
Херня ваши морфины. Героин круче
Генерация команд - полная лажа. Прикольнее разбивать код на куски, перемешивать их и делать джапмы друг на друга, просчитывая все остальные джапмы и колы.
А ты статеек подкинь номальных,а то мне самому кроме генерации по опкодам ничег ов голову неприходит
 
Ответить с цитированием

  #8  
Старый 25.08.2007, 19:44
Hellsp@wn
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме:
2715445

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

дык ничё сложного, наф статейки? дизасм нормальны и вперёд...
я пишу такую тулзу, надо будет выбрать участки кода и в итоге из них получится
лапша =)
 
Ответить с цитированием

  #9  
Старый 04.09.2007, 00:03
GlOFF
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме:
1845671

Репутация: 1338


По умолчанию

Самая дурь когда в твоём полиморфизме есть встроенный дизассемблер, который аналогичные команды заменяет своими, пример простой:
есть add eax, 1 твоя прога заменяет на inc eax + nop's !!! Т.е. интелектуальный способ создания ПОЛИ\МНОГО МОРФИЗМ\ТЕЛЬНОГО кода, т.е. твоя прога изменяет тело программы не влияя на функциональность, вот это было бы круто, а не просто генерация мусора
 
Ответить с цитированием

  #10  
Старый 04.09.2007, 02:42
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

> есть add eax, 1 твоя прога заменяет на inc eax + nop's !!!

даа... просто гениальный метод, сложный в реализации. приватный наверное
антивирусам по*** что там inc eax, add eax,1 или sub eax, -1 - у них свой меж-скриптовый сценарий генерится, где все твои инструкции считаются одной и тойже - "прибавить к eax единицу"

Цитата:
А ты статеек подкинь номальных,а то мне самому кроме генерации по опкодам ничег ов
голову неприходит
нахера статейки? бери код, разбивай его на куски, делай джамп из одного в другой, все инструкции, зависящие от адреса (и старые джампы из одгого в другой) - перенастраивай

Что реально интересно - виртуальная машина например.
Вставлять нопы и заменять inc eax на add eax, 1 - бессмысленно
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПомогитЕ !!! подалуста найти кряк гейлордфакерЪ Болталка 2 30.08.2007 14:48
ПоМоГиТе! ПЛЗ!!! farik.aka E-Mail 1 17.09.2006 13:00
www.chat.love4u.ru - помогите получить прова админа! airwil Чаты 4 30.04.2006 15:35



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


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




ANTICHAT.XYZ