imports excluded in protection

Issues related to VMProtect
Post Reply
bigproblem
Posts: 24
Joined: Wed Feb 10, 2021 3:58 pm

imports excluded in protection

Post by bigproblem »

как работает это?
возможно чтобы импорт оставался тут IAT?
Image
Image
Admin
Site Admin
Posts: 2808
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: imports excluded in protection

Post by Admin »

Если защита импорта включена, то к адресу API добавляется "соль" и значение сохраняется в новую IAT.
Если защита импорта выключена, то адреса API сохраняются в старую IAT.
bigproblem
Posts: 24
Joined: Wed Feb 10, 2021 3:58 pm

Re: imports excluded in protection

Post by bigproblem »

Admin wrote: Thu Jan 15, 2026 8:24 am Если защита импорта включена, то к адресу API добавляется "соль" и значение сохраняется в новую IAT.
Если защита импорта выключена, то адреса API сохраняются в старую IAT.
v3.10.2 не работает это как понял, все равно все импорты удаляются из iat
это мне надо для хука RaiseException в своем mapped module
Admin
Site Admin
Posts: 2808
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: imports excluded in protection

Post by Admin »

Вы оригинальную IAT на уровне PE формата уже не увидите. Вам нужно куда-то складывать адреса из IAT для нужных API в процессе обработки вмпротектом (ну или до) и потом использовать эти адреса в своем коде.
bigproblem
Posts: 24
Joined: Wed Feb 10, 2021 3:58 pm

Re: imports excluded in protection

Post by bigproblem »

Admin wrote: Thu Jan 15, 2026 8:45 am Вы оригинальную IAT на уровне PE формата уже не увидите. Вам нужно куда-то складывать адреса из IAT для нужных API в процессе обработки вмпротектом (ну или до) и потом использовать эти адреса в своем коде.
а как это возможно? если они из pe удаляются vmprotect, а после vmprotect они уже не валид?
есть какой то api?
Admin
Site Admin
Posts: 2808
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: imports excluded in protection

Post 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
Post Reply