Антиотладочные приемы
| |
Android | Дата: Четверг, 12.07.2012, 19:42 | Сообщение # 1 |
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
| Товарищи, со временем многие наши поделки начинают палиться разными АВ. Давайте тут делиться опытом как прямой правкой бинарных файлов (HEX, OllyDbg) добиваться недетектируемости наших зверьков. А то вот возникла проблемка - в моем бинарнике в текстовом виде (видимо это таблица импорта) прописаны имена функций. И нод ругается на это все... Никак в инете не нарою мануал как их можно поубирать...
Подскажите советом и кодом))) Давайте друг другу подсказывать варианты решения таких проблемов.
|
|
| |
xXxSh@dowxXx | Дата: Пятница, 13.07.2012, 10:00 | Сообщение # 2 |
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
| Что касается правки бинарных и каких либо других файлов путем HEX Editor'а, с целью добиться Quote (Android) недетектируемости то тут нет ничего сложного, в нете можно найти кучу статей по этому поводу, всего навсего берешь файл, открываешь его в хекс эдиторе, и если ты плохо знаком с примерным строением бинарных файлов, то просто тупо делишь его на пополам, первую часть оставляешь, а вторую удаляешь, и сохраняешь через эдитор в какой либо папке, далее не закрывая эдитора (иначе ничего не получится вернуть обратно), находишь ту папку где ты сохранил свой файл, и уже сам файл сканируешь антивирусом, если все еще палится, то возвращаешься обратно в эдитор и делишь оставшуюся часть еще попалам, и так же затираешь вторую половину, а первую сохраняешь, и снова проверяешь антивирем, ну а если уже не палится, тогда это значит что в той части которую ты только что затер в файле через эдитор была та самая "сигнатурка", тот байт который и отвечал за детектирование этого файла именно этим антивирусом, в таком случае возвращаешься в эдитор и вертаешь обратно удаленную часть, и уже её делишь по полам, ну и далее думаю и так все понятно... как только дойдешь до того байта который если удалить, перестает детектироваться, тупо либо добавляешь перед ним пустой байт, либо пробел, либо еще что нибудь, в некоторых случаях его вобще можно изменить на что угодно без потери работоспособности бинарника, например если этот байт простая информация о файле или еще что то в этом роде, а можно и по другому поступить, как всем уже давно известно с правой стороны (у меня с правой) в Хекс Эдиторе есть столбец самого кода файла, в нем смотришь строки и пытаешься заменить детектируемую функцию или переменную на другую подобную,но для этого уже может понадобиться дебагер, что бы и файл не испортить и антивирь обойти... вот как то так, строго не судите, писал по памяти
Сообщение отредактировал xXxSh@dowxXx - Пятница, 13.07.2012, 10:02 |
|
| |
Волк-1024 | Дата: Пятница, 13.07.2012, 14:12 | Сообщение # 3 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| Quote Антиотладочные приемы Хех. Тема не правильно названа. Антиотладка почти не имеет отношения к АВ она влияет лишь на сложность иследование программы взломщиком (крякером)
На сигнатурные детекты можно внимание вообще не обращать. Они лечатся простым переписыванием кода или за NOP'аванием участоков кода. Нужно лишь обращать на эвристические и эмуляционные детекты.
Сообщение отредактировал Волк-1024 - Пятница, 13.07.2012, 14:12 |
|
| |
Android | Дата: Пятница, 13.07.2012, 21:33 | Сообщение # 4 |
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
| Хорошо... Пожалуй, действительно надо переформулировать... Каким образом (образами) можно обламывать эмуляторы АВ, которые как я понимаю типа в виртуальной машине выполняют код.
Например, наткнулся на такой примерчик
Code // Metodo FakeProc For i:= 1 to 100000000 do begin For z:= 1 to 5 do end; z:= 1000; If z <> 1000 Then Exit; // End FakeProc
судя по описанию на буржуйских форумах, некоторые эмуляторы кода пропускают длинные циклы.
Ну может есть у кого какие идейки в таком духе?
|
|
| |
Волк-1024 | Дата: Суббота, 14.07.2012, 00:11 | Сообщение # 5 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| Не все. Например, NOD очень не любит длинные циклы. И если для его эмулятора цикл покажется слишком длинный, то он выдаст детект.
|
|
| |
Android | Дата: Суббота, 14.07.2012, 10:45 | Сообщение # 6 |
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
| ну так давайте подумаем, как же их всех обламывать
|
|
| |
Android | Дата: Суббота, 14.07.2012, 13:09 | Сообщение # 7 |
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
| да вот вся проблема в том, что у меня детектится просто тупо строка, которая в списке функций из kernel32.dll при том, что я их вообще не беру оттуда, а динамически подгружаю... если пытаюсь побайтово там меняю, то выдает ошибку, что не найдена точка входа в процедуру... Каким буем вообще куча функций импортируется, если я их вообще не трогаю... И как можно поубирать всю эту байду из файла, чтоб он продложал работать?
|
|
| |
Volf | Дата: Пятница, 12.04.2013, 13:52 | Сообщение # 8 |
Частый гость
Зарегистрирован: 11.04.2013
Группа: Пользователи
Сообщений: 41
Статус: Offline
| Я сталкивался с этим. Закодируй имя этой функции в тот же RC4,а при вызове просто раскодируй.Добавлено (12.04.2013, 13:52) --------------------------------------------- Я сталкивался с этим. Закодируй имя этой функции в тот же RC4,а при вызове просто раскодируй.
|
|
| |
Anton93 | Дата: Пятница, 21.06.2013, 18:09 | Сообщение # 9 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Volf, а как же эмулятор кода? дойдет он до строчки преобразования в 'человеческий вид' и всеравно получишь сообщение от эвристики
ICQ: 41896
|
|
| |
Swan | Дата: Пятница, 21.06.2013, 20:40 | Сообщение # 10 |
Новичок
Зарегистрирован: 16.06.2013
Группа: Пользователи
Сообщений: 45
Статус: Offline
| не как нельзя обмануть антивирус, рано или поздно любой вирь. или криптор будет детектиться.
Жизнь сложна когда учишься на своих ошибках, а зачем учиться на своих, не проще ли на чужих?
|
|
| |
Anton93 | Дата: Суббота, 22.06.2013, 18:36 | Сообщение # 11 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Swan, я бы не был таким уверенным. тогда можно ваще не писать если так рассуждать. аналогично - зачем жить если все помрем. вирусология это искусство оставить всех в дураках (с)
ICQ: 41896
|
|
| |
|