|
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
|
|
Программа со своей компиляцией. Урезанный С++ компилятор03.01.2015, 21:02. Показов 1087. Ответов 15
Метки нет (Все метки)
В общем смысл такой, у нас есть программа которая сама себя компилирует. т. е. с собой носит урезанный С++ компилятор.
Например прога нашла какой-нить avp.exe в процессах она взяла и создала какой-нить .h .cpp файлик. компильнула его себе ввиде dll и подключила себе. Я не вирусоПисец, просто интересуюсь очень уж идеи у них прикольные... Например вирус который себя компилит с помощью своего ассамблера! Можно же создавать адаптационные программы! Или ИИ?
0
|
|
| 03.01.2015, 21:02 | |
|
Ответы с готовыми решениями:
15
Как "прикрутить" компилятор паскаля, к своей программе на Delphi7? Урезанный админ. Где найти максимально урезанный дистрибутив Windows XP? |
|
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
||||
| 03.01.2015, 21:31 | ||||
|
Вопрос-то в чем?
Добавлено через 2 минуты
0
|
||||
|
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
|
||||
| 03.01.2015, 21:44 [ТС] | ||||
|
Компиляции в одну dll никто не отменял... Чтобы лишнее из него удалить, а основное оставить типа basic только компилируемый.
0
|
||||
|
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
|||
| 03.01.2015, 21:53 | |||
|
Вперед
0
|
|||
|
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
|
|||
| 03.01.2015, 22:05 [ТС] | |||
|
Ну например у нас есть код который выдает в командную строку "я загрузился". Каким образом ты можешь Добавить строку "я нашел avp.exe"?
0
|
|||
|
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
|||
| 03.01.2015, 22:18 | |||
|
0
|
|||
|
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
|
|||
| 03.01.2015, 22:29 [ТС] | |||
|
0
|
|||
|
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
|||
| 03.01.2015, 22:35 | |||
ты эту же строку будешь закладывать себе в .exe, чтобы потом положить ее в сорец, легче тебе не станет.Добавлено через 2 минуты
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 03.01.2015, 22:37 | ||
|
Если вкратце: 1. берем обычный чаровый массив. 2. заполняем его циферками. 3. приводим тип "массив" и к типу "указатель на функцию". 4. просим операционную систему считать что кучка байт по адресу функции - есть исполняемый машинный код. 5. запускаем функцию на выполнение. 6. И о боже! наш массифчик с циферками оказался уже откомпилированной функцией! 7. PROFFIT!!! ------------------- Другой способ: 1. Имеем заранее известную функцию. 2. Получаем адрес функции. 3. Запрашиваем систему на запись в участок памяти, по адресу функции. 4. Читаем первые 6 байт, и запоминаем их. 5. Перетираем эти первые 6 байт на жамп на другую нашу функцию. 6. Теперь при запуске функции будет выполнена совсем другая функция (на которую сделан джамп) 7. Восстанавливаем оригинальные 6 байт. 8. Теперь при запуске функции будет исполнено её оригинальное туловище. 9. PRFIT!!!! зы: гугли "инжект", "сплайсинг", "перехват функций".
0
|
||
|
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
|
||||
| 03.01.2015, 22:51 [ТС] | ||||
|
Добавлено через 3 минуты
0
|
||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||
| 03.01.2015, 23:01 | |||
|
Валеркуй,
ты уж определись чего хочешь а то для винды exe файл и исполняемый код в памяти это разные вещи по поводу внутреннего устройства винды можно почитать Рихтера, Русиновича, Касперски у последнего книга есть "Компьютерные вирусы изнутри и снаружи" и много статей в журнале "Хакер"
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 03.01.2015, 23:06 | |||
|
Я указал по каким ключевым словами нужно гуглить. Полагаю так же, что ваши шансы прокачаться по теме резко возрастут, если вы приобщитесь к высокой культуре вирусологов. У вас в программе есть функция, например foo. Когда вы откомпилируете программу, вы получите на выходе бинарный код - тупо набор каких то байтов, которые процессор может исполнить. Инструкции процессора - это тупо какие то циферки. Все что делает компилятор - переводит текстовые закорючки высокоуровневого языка программирования вот в эти вот циферки. Например, если вы пользуетесь вижал-студией, то вы можете скомпилировать простейшую функцию, поставить на неё бряку, и в отладчике брякнуться. А потом кликнуть "перейти к ассемблеру", и увидить эти циферки. То есть, фактически откомпилированный код ни что иное, как простая последовательность цифр. Вы можете вручную создать эту последовательность. И сказать: эта последовательность - моя функция. Запусти мне мою функцию. И она запустится. Если там будет чача - приложение рухнет. Если что-то осмысленное - будет работать. Вообще, если вы задаете подобные вопросы, то вам нужно изучать ассемблер. И прописаться в тематическом разделе, а не здесь. То что вы хотите - выходит за рамки одного лишь с++, это затрагивает ассемблер, это затрагивает системное программирование.
0
|
|||
|
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
|||
| 03.01.2015, 23:07 | |||
|
Добавлено через 15 секунд
0
|
|||
|
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
|
||||
| 03.01.2015, 23:17 [ТС] | ||||
|
Теска...
себя пересобрал с учетом добавления функционала. Например есть обычный string с "SS01" типа "spyscreen01" зашел в гугль, нагугль код какой-то взял свои исходники понял что такого модуля нету взял слизал код с сайта, взял свой код и вместе все это скомпилилось в полноценный вирус. Пусть простят меня анти-вири.
0
|
||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 03.01.2015, 23:24 | ||
|
Абсолютно точно так же, как и с любыми другими функциями приложения. Все они висят в памяти, как кучка байт, которые система разрешила исполнять. Грубо говоря, если в рантайме вы создали массив циферок и толкнули его как функцию - значит в рантайме вы создали функцию. ----------------------------------------- Никогда больше не говорите фраз типа "мы в памяти создали программу". Возьмите книги по ассемблеру, и системному программированию. Через полгода будете произносить фразы типа "форкнул процесс... "
0
|
||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||
| 03.01.2015, 23:31 | |||
|
ты примерно представляешь как работает компилятор? как работает ОС ну и наконец как работает процессор В каком кольце крутится пользовательский код а в каком код ОСи(драйвера) это не ДОС сейчас у каждой задачи своя память, и чаще всего из одного процесса к другому не достучишся и как ты собираешься сохранять модифицируемую программу, файл открыт его система открыла при запуске, писать никто не даст Вот когда будешь знать ответы на эти вопросы, тогда и сможешь ответить на свой вопрос В общем случае ответ можно но геморрой еще тот, нужно прекрасно знать ОС, архитектуру, ассемблер И то что пойдет под виндой не пойдет под линуксом, про Мак вообще отдельная песня и пока пишешь дырки разработчики могут закрыть
0
|
|||
| 03.01.2015, 23:31 | |
|
Помогаю со студенческими работами здесь
16
Программа, находящая в своей базе ссылки Программа для перевод своей валюты Программа компилятор Программа для создание своей сборки Windows XP. Программа находящая ссылки в своей базе данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|