Подскажите как избавиться от детектов ?
-HEUR/AGEN.1234156
-TR/Crypt.ZPACK.Gen
-HEUR/AGEN.1234156
-TR/Crypt.ZPACK.Gen
там чето data секция барахлитОчевидно нужно снять эвристические признаки, самое базовое это правильная таблица импорта, ресурсы, соотношение физ и вирт размеров секций и энтропию нормализовать.
Очевидно нужно снять эвристические признаки, самое базовое это правильная таблица импорта, ресурсы, соотношение физ и вирт размеров секций и энтропию нормализовать.
Не знаю, что вкладывает в это понятие Октавиан, но в моем понимании это связки апи. Т.е. CreateFile+Writefile+CloseHandle, или там GdiPStartup + другие апи графики, и так далее. Логическая связь, а не тупой рендом.правильная таблица?
import idautils
from idc import *
import idaapi
from idautils import *
class ExtractHandler(idaapi.action_handler_t):
def __init__(self):
idaapi.action_handler_t.__init__(self)
def activate(self, ctx):
print('-------------------------------<<< WinApi Extractor >>>-------------------------------')
ea = idaapi.get_screen_ea()
start = idc.get_func_attr(ea, FUNCATTR_START)
end_d = idc.get_func_attr(ea, FUNCATTR_END)
end = end_d - 1
for function_item in idautils.Functions():
function_flags = idc.get_func_attr(function_item, FUNCATTR_FLAGS)
if function_flags & FUNC_LIB or function_flags & FUNC_THUNK:
continue
myaddr = list(idautils.FuncItems(function_item))
for addr in myaddr:
if start <= addr <= end:
if 'call ds:' in idc.generate_disasm_line(addr, 0):
print(idc.generate_disasm_line(addr, 0).lstrip('call ds:'))
return True
def update(self, ctx):
return idaapi.AST_ENABLE_ALWAYS
class ExtractWinApiPlugin(idaapi.plugin_t):
exctract_action_name = "ExtractWinApi:extract"
explain_menu_path = "Edit/ExtractWinApi/Extract"
explain_action = idaapi.action_desc_t(exctract_action_name,
'Extract WinApi functions',
ExtractHandler(),
"Ctrl+Alt+E",
'',
199)
idaapi.register_action(explain_action)
idaapi.attach_action_to_menu(explain_menu_path, exctract_action_name, idaapi.SETMENU_APP)
def PLUGIN_ENTRY():
ExtractWinApiPlugin()
За тему и статью спасибо, очень понравилась. Про мою статью могу сказать что она не является 100% отлажена и там всего лишь примеры направления куда есть смысл двигаться, я в той статье находил баги, но обновлять лень. Кстати те методы до сих пор актуальны и работают если поправить баги и часть кода чтобы не палилось.Очевидно нужно снять эвристические признаки, самое базовое это правильная таблица импорта, ресурсы, соотношение физ и вирт размеров секций и энтропию нормализовать.
А почему должно не работать ?
это ирония братюньА почему должно не работать ?
Ну мало ли, просто кто-то уже тоже писал и удивлялся что работает, но чему удивляться непонятно, достаточно полноценный загрузчик, правда обработка TLS кривая и не поддерживает статичные локальные переменные потока, а так криптор нормально сделанэто ирония братюнь
ты допилил?Ну мало ли, просто кто-то уже тоже писал и удивлялся что работает, но чему удивляться непонятно, достаточно полноценный загрузчик, правда обработка TLS кривая и не поддерживает статичные локальные переменные потока, а так криптор нормально сделан
Нет не допиливал конкретно эти сорцы, у меня своя реализация и LoadPE, другая, кода кстати раза в 3 меньше, а полнота охвата поддерживаемых файлов шире, просто есть некоторые хитрости которые позволяют не обрабатывать некоторые вещи, просто нужно создать некоторые условия для этого, и все работает должным образом, но это баловство, а второй вариант интересен поболее - загрузка через абуз системного загрузчика, самый полный из всех возможных загрузчиков существующих в мире без всяких преувеличений, потому что использует все силы оригинального виндового загрузчика PE файлов (андок функции и структурки, ресеч был интересным, всем советую, занимательно и залипательно на несколько дней, но того стоит), грузит абсолютно любые файлы которые в принципе может загрузить винда в штатном режиме при двойном клике по файлу, такого нет ни в одном крипторе на данный момент, похожую идею вкидывал клерк в свое время, но у него не было даже PoC, просто теоретические выкладки и рассуждения, а у меня полноценный рабочий PoC, который можно заморфить и использовать в крипторах. Возможно даже продаем его потом, когда отлажу досканально, технология по истине уникальная, повторюсь, такого нет ни в одном крипт сервисе в данный момент и не будет в ближайшее время, в приватах возможно кто-то уже додумался, но огласке это все-равно не скоро придет даже если так, людям лень ресечить код, лень искать что-то новое, вроде LoadPE работает и все заебись, все юзают LoadPE классические и кастомные, даже обходят большинство ав, но это уже прошлый век, технологии из консервной банкиты допилил?
Нет не допиливал конкретно эти сорцы, у меня своя реализация и LoadPE, другая, кода кстати раза в 3 меньше, а полнота охвата поддерживаемых файлов шире, просто есть некоторые хитрости которые позволяют не обрабатывать некоторые вещи, просто нужно создать некоторые условия для этого, и все работает должным образом, но это баловство, а второй вариант интересен поболее - загрузка через абуз системного загрузчика, самый полный из всех возможных загрузчиков существующих в мире без всяких преувеличений, потому что использует все силы оригинального виндового загрузчика PE файлов (андок функции и структурки, ресеч был интересным, всем советую, занимательно и залипательно на несколько дней, но того стоит), грузит абсолютно любые файлы которые в принципе может загрузить винда в штатном режиме при двойном клике по файлу, такого нет ни в одном крипторе на данный момент, похожую идею вкидывал клерк в свое время, но у него не было даже PoC, просто теоретические выкладки и рассуждения, а у меня полноценный рабочий PoC, который можно заморфить и использовать в крипторах. Возможно даже продаем его потом, когда отлажу досканально, технология по истине уникальная, повторюсь, такого нет ни в одном крипт сервисе в данный момент и не будет в ближайшее время, в приватах возможно кто-то уже додумался, но огласке это все-равно не скоро придет даже если так, людям лень ресечить код, лень искать что-то новое, вроде LoadPE работает и все заебись, все юзают LoadPE классические и кастомные, даже обходят большинство ав, но это уже прошлый век, технологии из консервной банки
А представь что загрузка происходит средствами винды, только ты вмешиваешься в этот процесс, причем совсем незначительно, это совсем легитимно для любого АВ, отрабатывает штатный загрузчик, который ты слегка меняешь, это совершенный подход
Ps. Я не привык допиливать чужой код и использовать (хоть это и не смертный грех у программистов, стаковерфлоу форевер), я на чужой код смотрю как на справку, делаю какие-то выводы если увидел что-то новое, потом пишу свой код с учетом новых знаний
У клерка немного иной механизм нежели у меня, но если исходить из способа клерка, то там мало будет просто подменить содержимое, не забываем про релоки, и прочие вещи, нужно специально возвращать правильные коды ошибок, которые загрузчик будет узнавать, и понимать что ему еще нужно настроить, если вернуть успех, он ничего не настроит (конечно если нет TLS, SafeSEH таблиц и релоков и тд можно вернуть 0, но разве нас интересуют простые бинарики ?)Тему не читал, только этот пост. Интриговать ты умеешь =) Речь случайно не идет о хуке MapViewOfFile и подмене содержимого? (Мог с api напутать, но вроде про это шла речь у клерка)