Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2013, 23:53   #1
Nullerset
Пользователь
 
Регистрация: 01.02.2013
Сообщений: 27
По умолчанию Программа "в Массиве".

Всем привет.

Недавно изучая исходники сетевых червей ( по учебе ) обнаружил, то что некоторые черви используют похожие конструкции:



Собственно я так понял, что это некий код эксплойта, собственно возник вопрос, так как я в программировании не силен, если че сморожу не то, не обращайте внимание.

Собственно вопрос, как возможно из Delphi вызвать данный код, т.е эксплуатировать, в крайнем случае на Си.

Заранее спасибо.


P.S. Вирусню не пишу, нужно по курсовой.
Nullerset вне форума Ответить с цитированием
Старый 20.07.2013, 00:01   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Если я правильно понял что это машкоды, то например в Дельфи можно так:
Код:
procedure Foo;
asm
  DB $bd, $ac, $db, $79
end;
И т.д.
northener вне форума Ответить с цитированием
Старый 20.07.2013, 00:06   #3
Nullerset
Пользователь
 
Регистрация: 01.02.2013
Сообщений: 27
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Если я правильно понял что это машкоды, то например в Дельфи можно так:
Код:
procedure Foo;
asm
  DB $bd, $ac, $db, $79
end;
И т.д.
В ассемблере я не очень силен, но я так понял, что вместо $bd, $ac подставлять маш. код?
Nullerset вне форума Ответить с цитированием
Старый 20.07.2013, 00:11   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

берем указатель на первый элемент массива и приводим его к типу процедуры(или функции, и параметры если надо)
её и вызывает.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.07.2013, 00:37   #5
Nullerset
Пользователь
 
Регистрация: 01.02.2013
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
берем указатель на первый элемент массива и приводим его к типу процедуры(или функции, и параметры если надо)
её и вызывает.
Извините за мою тупось, но я первый раз имею дело с маш кодами, если не сложно можно примерчик?
Nullerset вне форума Ответить с цитированием
Старый 20.07.2013, 01:04   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
но я первый раз имею дело с маш кодам
Примерчики вам не помогут. Начинайте изучать ассемблер.

Вызов машинного кода всегда уникален, не зависимо от языка программирования.
Иногда необходимо создать условия, при которых некий кусок кода отработает в момент Х, а иногда просто указать на код представить его как метод и передать параметры.

Да и код ли это вообще?
Может пакет данных, который как-либо портит сетевое общение, а может "патч" который нужен в run-time для интеграции в память процесса/библиотеки т.к. физически патч палится всякими антивирусами и т.д. и т.п.

А может это кусок полиморфного троянца где происходят магическое подобие ИИ.

Последний раз редактировалось Человек_Борща; 20.07.2013 в 01:11.
Человек_Борща вне форума Ответить с цитированием
Старый 20.07.2013, 01:20   #7
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Мне как-то понадобилось много простых числел. Нашел список из 500 чисел, тупо скопировал, оформил как константный массив.
const PROST500:array[1..500]of Integer=(2,3,5,7 и т. д.

Все нормально.
Потом нашел больший список, из нескольких тысяч чисел, сделал другой массив так же. Компилирую ... фигвам, индейский домик.
Антивирус Avira верещит, опознает в exeшнике какой-то троян.
type_Oleg вне форума Ответить с цитированием
Старый 20.07.2013, 03:44   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от Nullerset Посмотреть сообщение
Извините за мою тупось, но я первый раз имею дело с маш кодами, если не сложно можно примерчик?
Пример чего вам нужен? Пример сетевого червя на Дельфи?
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить "0" на "," в двумерном массиве(С++)? Vally Помощь студентам 4 10.01.2012 10:36
Паскаль.Программа "Верификация", "Кака бригадиру разделить заработанные деньги?".Сложные Valik102 Помощь студентам 11 23.06.2009 15:30
Паскаль.Программа "Верификация", "Кака бригадиру разделить заработанные деньги?".Сложные Valik102 Паскаль, Turbo Pascal, PascalABC.NET 3 23.06.2009 09:11
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51