![]() |
Помогите по полиморфизму
Вот пишу полиморф движок дошел до генерирования мусора кодом,когда генерирвую строками ошибок нет,но делать это строками мне совесть не позволяет :)
Код:
function GetIncDec32():string; |
вопервых лучше не использовать все 8 регистров для мусора, проблемы могут быть :)
во вторых можно пойти по пути наимньшего сопротивления и задать сразу наборы мусорных инструкций, однобайтовых, двухбайтовых и т.д. а потом выбирать из них случайную |
бред =)
>> result:=IntToStr(reg_inc)+IntToStr(reg_dec); получаются теже строки!!! в какой цикл, что вылетает? ))) ольгу в зубы и смотреть код... з.ы. вообще в битовыми масками нада работать, так проще... |
Ужасный код.
Ищи исходники Morphine, там 2 версии в архиве, как на С, так и на дельфи. Также почитай про способы генерации мусорных команд. |
Цитата:
Кттаи в морфине не лучше ;) Цитата:
|
Херня ваши морфины. Героин круче;)
Генерация команд - полная лажа. Прикольнее разбивать код на куски, перемешивать их и делать джапмы друг на друга, просчитывая все остальные джапмы и колы. |
Цитата:
|
дык ничё сложного, наф статейки? дизасм нормальны и вперёд...
я пишу такую тулзу, надо будет выбрать участки кода и в итоге из них получится лапша =) |
Самая дурь когда в твоём полиморфизме есть встроенный дизассемблер, который аналогичные команды заменяет своими, пример простой:
есть add eax, 1 твоя прога заменяет на inc eax + nop's !!! Т.е. интелектуальный способ создания ПОЛИ\МНОГО МОРФИЗМ\ТЕЛЬНОГО кода, т.е. твоя прога изменяет тело программы не влияя на функциональность, вот это было бы круто, а не просто генерация мусора :) |
> есть add eax, 1 твоя прога заменяет на inc eax + nop's !!!
даа... просто гениальный метод, сложный в реализации. приватный наверное антивирусам по*** что там inc eax, add eax,1 или sub eax, -1 - у них свой меж-скриптовый сценарий генерится, где все твои инструкции считаются одной и тойже - "прибавить к eax единицу" Цитата:
Что реально интересно - виртуальная машина например. Вставлять нопы и заменять inc eax на add eax, 1 - бессмысленно |
| Время: 23:02 |