Суббота, 05.10.2024, 08:52 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Волк-1024, Anton93, xXxSh@dowxXx  
Антиотладочные приемы
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)
недетектируемости
то тут нет ничего сложного, в нете можно найти кучу статей по этому поводу, всего навсего берешь файл, открываешь его в хекс эдиторе, и если ты плохо знаком с примерным строением бинарных файлов, то просто тупо делишь его на пополам, первую часть оставляешь, а вторую удаляешь, и сохраняешь через эдитор в какой либо папке, далее не закрывая эдитора (иначе ничего не получится вернуть обратно), находишь ту папку где ты сохранил свой файл, и уже сам файл сканируешь антивирусом, если все еще палится, то возвращаешься обратно в эдитор и делишь оставшуюся часть еще попалам, и так же затираешь вторую половину, а первую сохраняешь, и снова проверяешь антивирем, ну а если уже не палится, тогда это значит что в той части которую ты только что затер в файле через эдитор была та самая "сигнатурка", тот байт который и отвечал за детектирование этого файла именно этим антивирусом, в таком случае возвращаешься в эдитор и вертаешь обратно удаленную часть, и уже её делишь по полам, ну и далее думаю и так все понятно...
как только дойдешь до того байта который если удалить, перестает детектироваться, тупо либо добавляешь перед ним пустой байт, либо пробел, либо еще что нибудь, в некоторых случаях его вобще можно изменить на что угодно без потери работоспособности бинарника, например если этот байт простая информация о файле или еще что то в этом роде, а можно и по другому поступить, как всем уже давно известно с правой стороны (у меня с правой) в Хекс Эдиторе есть столбец самого кода файла, в нем смотришь строки и пытаешься заменить детектируемую функцию или переменную на другую подобную,но для этого уже может понадобиться дебагер, что бы и файл не испортить и антивирь обойти...
вот как то так, строго не судите, писал по памяти biggrin


Сообщение отредактировал xXxSh@dowxXx - Пятница, 13.07.2012, 10:02
 
Волк-1024Дата: Пятница, 13.07.2012, 14:12 | Сообщение # 3
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Quote
Антиотладочные приемы
Хех. Тема не правильно названа. Антиотладка почти не имеет отношения к АВ она влияет лишь на сложность иследование программы взломщиком (крякером) biggrin

На сигнатурные детекты можно внимание вообще не обращать. Они лечатся простым переписыванием кода или за NOP'аванием участоков кода. Нужно лишь обращать на эвристические и эмуляционные детекты. smile


Сообщение отредактировал Волк-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
 
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz