Page 1 of 1
imports excluded in protection
Posted: Wed Jan 14, 2026 6:44 pm
by bigproblem
как работает это?
возможно чтобы импорт оставался тут IAT?

Re: imports excluded in protection
Posted: Thu Jan 15, 2026 8:24 am
by Admin
Если защита импорта включена, то к адресу API добавляется "соль" и значение сохраняется в новую IAT.
Если защита импорта выключена, то адреса API сохраняются в старую IAT.
Re: imports excluded in protection
Posted: Thu Jan 15, 2026 8:34 am
by bigproblem
Admin wrote: ↑Thu Jan 15, 2026 8:24 am
Если защита импорта включена, то к адресу API добавляется "соль" и значение сохраняется в новую IAT.
Если защита импорта выключена, то адреса API сохраняются в старую IAT.
v3.10.2 не работает это как понял, все равно все импорты удаляются из iat
это мне надо для хука RaiseException в своем mapped module
Re: imports excluded in protection
Posted: Thu Jan 15, 2026 8:45 am
by Admin
Вы оригинальную IAT на уровне PE формата уже не увидите. Вам нужно куда-то складывать адреса из IAT для нужных API в процессе обработки вмпротектом (ну или до) и потом использовать эти адреса в своем коде.
Re: imports excluded in protection
Posted: Thu Jan 15, 2026 9:13 am
by bigproblem
Admin wrote: ↑Thu Jan 15, 2026 8:45 am
Вы оригинальную IAT на уровне PE формата уже не увидите. Вам нужно куда-то складывать адреса из IAT для нужных API в процессе обработки вмпротектом (ну или до) и потом использовать эти адреса в своем коде.
а как это возможно? если они из pe удаляются vmprotect, а после vmprotect они уже не валид?
есть какой то api?
Re: imports excluded in protection
Posted: Thu Jan 15, 2026 9:35 am
by Admin
Пробежать по всем импортам можно так:
Code: Select all
function OnBeforeCompilation()
local file = vmprotect.core():inputArchitecture()
for i = 1, file:imports():count() do
local import = file:imports():item(i)
print(import:name())
for j = 1, import:count() do
local import_func = import:item(j)
print(' ', import_func:name(), import_func:address())
end
end
end