И снова о HLLP
| |
dolphin | Дата: Среда, 24.07.2013, 22:41 | Сообщение # 26 |
Администратор
Сообщений: 906
Статус: Offline
| Этот код вроде бы более правильный будет
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
Сообщение отредактировал dolphin - Среда, 24.07.2013, 22:46 |
|
| |
Slash | Дата: Среда, 24.07.2013, 22:46 | Сообщение # 27 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Цитата (dolphin) Этот код вроде бы более правильный будет А в чем отличие от того?
|
|
| |
dolphin | Дата: Среда, 24.07.2013, 22:49 | Сообщение # 28 |
Администратор
Сообщений: 906
Статус: Offline
|
1) заражённый файл 2) как происходит заражение - 1 перенос из начала жертвы в конец кусок - 2 перезапись начала собой
Ну и общий алгоритм работы 1. Запустились 2. Запустили заражённый собой файл 3. Инфекция компа 4. Ищем и заражаем 15 файлов и вырубаемся
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Slash | Дата: Среда, 24.07.2013, 22:51 | Сообщение # 29 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Щас протестим.
|
|
| |
Don_Diego | Дата: Среда, 24.07.2013, 22:54 | Сообщение # 30 |
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
| Извините что так внезапно влезаю в ваш разговор, но в uses модули sysutils и Registry явно лишние, тем более в HLLP-вирусе. Тут важен каждый байт, поэтому нужно половину переделать на Win API.
|
|
| |
Slash | Дата: Среда, 24.07.2013, 22:56 | Сообщение # 31 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Dolphi,отлично,иконка не пропала, вот только никаких TMP'шек не извлекается и никаких переходов на тело вируса не наблюдается. Добавлено (24.07.2013, 22:56) ---------------------------------------------
Цитата (Don_Diego) Извините что так внезапно влезаю в ваш разговор, но в uses модули sysutils и Registry явно лишние, тем более в HLLP-вирусе. Тут важен каждый байт, поэтому нужно половину переделать на Win API. Сейчас нужно первую проблему решить.
|
|
| |
dolphin | Дата: Среда, 24.07.2013, 22:59 | Сообщение # 32 |
Администратор
Сообщений: 906
Статус: Offline
| Don_Diego, да это верно, но Slashу пока трудно, надо в этом хотя-бы разобраться, думаю без модулей он потом уже будет разбираться как писать. ОФФТОП
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Slash | Дата: Среда, 24.07.2013, 23:00 | Сообщение # 33 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Что-то вы явно не верно сделали,после заражение программа еще и в 4 раза увеличивается.
|
|
| |
Slash | Дата: Среда, 24.07.2013, 23:02 | Сообщение # 34 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Совсем странно.
|
|
| |
dolphin | Дата: Среда, 24.07.2013, 23:06 | Сообщение # 35 |
Администратор
Сообщений: 906
Статус: Offline
| Наверно с этой процедурой будет правильно
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Slash | Дата: Среда, 24.07.2013, 23:08 | Сообщение # 36 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Цитата (dolphin) Наверно так Иконка слетает(что не мудрено ),и жертва опять не запускается ибо InRun не туда.
|
|
| |
dolphin | Дата: Среда, 24.07.2013, 23:09 | Сообщение # 37 |
Администратор
Сообщений: 906
Статус: Offline
| А вообще что мы мудрим всё тут http://delfcode.ru/publ/delphi/delphivir/1-1-0-8
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Slash | Дата: Среда, 24.07.2013, 23:11 | Сообщение # 38 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Давайте тут,мы с иконкой разбираемся а там все тоже самое. Да и там все слишком просто.
Сообщение отредактировал Slash - Среда, 24.07.2013, 23:14 |
|
| |
dolphin | Дата: Среда, 24.07.2013, 23:14 | Сообщение # 39 |
Администратор
Сообщений: 906
Статус: Offline
| Цитата (Slash) ибо InRun не туда. НЕТ ТУДА!!! Причём здесь его позиция если перемещения данных (COPYDATA!) неправильно идёт, да хоть куда его засунь он всё равно не будет работать, я кстати против этой функции и реализацию делал отдельно для каждого случая, в аттаче пример вируса который писал года 4 назад
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
dolphin | Дата: Среда, 24.07.2013, 23:22 | Сообщение # 40 |
Администратор
Сообщений: 906
Статус: Offline
| О, ребята я нашёл со сменой иконки код, но так и не довёл его до ума когда-то потому что чтоб извлечь иконку нужны модули с кучей не нужных данных да и не особо интересно тогда было. Дата в файле 2012 год )))
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Slash | Дата: Среда, 24.07.2013, 23:26 | Сообщение # 41 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Цитата (dolphin) НЕТ ТУДА!!! Причём здесь его позиция если перемещения данных (COPYDATA!) неправильно идёт, да хоть куда его засунь он всё равно не будет работать, я кстати против этой функции и реализацию делал отдельно для каждого случая, в аттаче пример вируса который писал года 4 назад Код хорош, но вот только с иконками та же бида ![sad](http://s5.ucoz.net/sm/23/sad.gif) Добавлено (24.07.2013, 23:24) ---------------------------------------------
Цитата (dolphin) О, ребята я нашёл со сменой иконки код, но так и не довёл его до ума потому что чтоб извлечь иконку нужны модули с кучей не нужных данных! Сейчас протестим.Добавлено (24.07.2013, 23:26) --------------------------------------------- extractFileIcon - а *.dcu и *.pas файл с этой фунцией у вас имеется?
|
|
| |
dolphin | Дата: Среда, 24.07.2013, 23:28 | Сообщение # 42 |
Администратор
Сообщений: 906
Статус: Offline
| Slash, если время будет напишу я тебе код со сменой иконки, наработки есть, до ума довести только. Там кстати апи реализация)
Цитата extractFileIcon - а *.dcu и *.pas файл с этой фунцией у вас имеется? в 12 посте давал ссылки
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Slash | Дата: Среда, 24.07.2013, 23:45 | Сообщение # 43 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Цитата (dolphin) Slash, если время будет напишу я тебе код со сменой иконки, наработки есть, до ума довести только. Там кстати апи реализация) НУ ТОГДА ОГРОМНЕЙШЕЕ СПАСИБО!!!!!Добавлено (24.07.2013, 23:45) --------------------------------------------- Теперь ошибок как грибов после дождя ![wacko](http://s5.ucoz.net/sm/23/wacko.gif)
|
|
| |
XSPY | Дата: Четверг, 25.07.2013, 22:12 | Сообщение # 44 |
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
| емм...не пойму,какой прикол юзать весь код на WinAPI? где ж тогды Делфи? Не лучше ли тогда писать так: "Как написать HLLP-malware на WinAPI? " На Делфи можно было бы заюзать встроенный ассемблер и типизацию...
Я не крекер,а программист! Я не преступник-я свободный человек! Лучше один раз накодить,чем сто раз качать билды!
|
|
| |
Slash | Дата: Четверг, 25.07.2013, 22:44 | Сообщение # 45 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Цитата (XSPY) емм...не пойму,какой прикол юзать весь код на WinAPI? где ж тогды Делфи? Не лучше ли тогда писать так: "Как написать HLLP-malware на WinAPI? " На Делфи можно было бы заюзать встроенный ассемблер и типизацию... Помог бы лучше.
|
|
| |
Don_Diego | Дата: Пятница, 26.07.2013, 14:21 | Сообщение # 46 |
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
| Цитата (XSPY) не пойму,какой прикол юзать весь код на WinAPI? где ж тогды Делфи? Так тебя никто не заставляет писать на Win API. Просто избавься от десятков тысяч строк ненужного кода. Перенеси исползуемые функции и процедуры из лишних классов и делов то!
|
|
| |
Slash | Дата: Пятница, 26.07.2013, 16:34 | Сообщение # 47 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Если возвращаться к проблеме то есть 1 глупый выход, в VirSize прописывать тело вируса с новой иконкой, это будет +1 кб примерно если извлекать иконку определенным способом, но - данного способа это то что приходится создавать кучу tmp фалов и размер вируса под 300 кб не в сжатом виде.
|
|
| |
Don_Diego | Дата: Пятница, 26.07.2013, 16:52 | Сообщение # 48 |
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
| Slash, выход их этой ситуации есть, и ты правильно вначале мыслил по поводу команды jmp. Вот смотри, если в *.exe файл дописать вконец любые данные (да хоть фильм на 2 Гб) - он будет прекрасно работать. Вот так же и тут - ты в начало РЕ файла ставишь свой вирус, который соответственно без иконки, а не зараженный, исходный РЕ файл ты типа дописываешь вконец. Но именно в нем находится твоя иконка, поэтому она ну никак не будет отображаться у тебя. Выходы конечно есть... 1) Как уже говорил Dolphin - резервировать место в твоем вирусе под иконку. Но опять же... Иконка может быть и 32х32 и 64х64 и 128х128. Или как у меня одна иконка была - вообще на 600 Кб. А размер вируса то должен быть статичным. Я бы посоветовал усложнить его, и запихнуть некоторые графические функции, чтобы те обрезали иконку всегда до одного и того же размера. 2) морочиться с Assembler-ом, при помощи jmp как-то выкручиваться. Как это делать - я не знаю. Может кто подскажет кто более опытен.
|
|
| |
Slash | Дата: Пятница, 26.07.2013, 18:01 | Сообщение # 49 |
Постоянный
Зарегистрирован: 20.12.2012
Группа: Пользователи
Сообщений: 161
Статус: Offline
| Цитата (Don_Diego) Slash, выход их этой ситуации есть, и ты правильно вначале мыслил по поводу команды jmp. Вот смотри, если в *.exe файл дописать вконец любые данные (да хоть фильм на 2 Гб) - он будет прекрасно работать. Вот так же и тут - ты в начало РЕ файла ставишь свой вирус, который соответственно без иконки, а не зараженный, исходный РЕ файл ты типа дописываешь вконец. Но именно в нем находится твоя иконка, поэтому она ну никак не будет отображаться у тебя. Выходы конечно есть... 1) Как уже говорил Dolphin - резервировать место в твоем вирусе под иконку. Но опять же... Иконка может быть и 32х32 и 64х64 и 128х128. Или как у меня одна иконка была - вообще на 600 Кб. А размер вируса то должен быть статичным. Я бы посоветовал усложнить его, и запихнуть некоторые графические функции, чтобы те обрезали иконку всегда до одного и того же размера. 2) морочиться с Assembler-ом, при помощи jmp как-то выкручиваться. Как это делать - я не знаю. Может кто подскажет кто более опытен. Как я уже и говорил есть глупый способ, если в принципе сжать UPX то тело вируса будет чуть больше 100 кб,думаю это нормально, Virus.Win32.Expiro.w весит 110 кб и все ОК. Насчет ASM'a я вообще НУЛЬ0, придется или учить или использовать альтернативные методы, создавать секцию под иконки тоже не просто,но есть определенные методы вытаскивания иконки при которых любая иконка будет весить одинаково, еще я слышал про некий метод "СдВИГА",тут ничего не знаю,кто знает-расскажите.
|
|
| |
Don_Diego | Дата: Пятница, 26.07.2013, 20:05 | Сообщение # 50 |
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
| Slash, может взять что-то новое? Типа все новое - это давно забытое старое. Как насчет вируса-компаньона?
|
|
| |
|