Hello. Currently I have exe file that i distribute to every user. But I wanted to take advantage of watermarks feature that would allow me to track which user leaked and cracked the program. I’m wondering is there any way I could modify or add watermark with value that I will specify?
local vmp_core = vmprotect.core()
local watermark_name = "BUILD_INFO"
local watermark_data = "12321312"
vmp_core:watermarks():add(watermark_name) --how do i put watermark_data in here
print("Watermark has been generated!")
local vmp_core = vmprotect.core()
local watermark_name = "BUILD_INFO"
local watermark_data = "12321312"
vmp_core:watermarks():add(watermark_name, watermark_data)
print("Watermark has been generated!")
I have been playing around with watermarks and I’m not sure how they work. Because there is a list of watermarks where each can be blocked, but there is option to select one. What is the difference between not blocking and selecting?
I saw that Watermark class has setBlocked(bool) function, but i see that whether i set it to true or false, it always unblocks the watermark. I tested it with following script, comments reflect what is happening for me during tests
function OnBeforeCompilation()
local vmp_core = vmprotect.core()
for i = 1, vmp_core:watermarks():count() do
local found_watermark = vmp_core:watermarks():item(i)
local found_watermark_name = found_watermark:name()
-- now there are listed correct states that are set manually by user
print(found_watermark_name .. " first state: " .. (found_watermark:blocked() and "" or "not ") .. "blocked")
found_watermark:setBlocked(true)
-- they all should be locked, but everything is getting unlocked
print(found_watermark_name .. " second state: " .. (found_watermark:blocked() and "" or "not ") .. "blocked")
found_watermark:setBlocked(false)
-- for test, they still remain unlocked
print(found_watermark_name .. " third state: " .. (found_watermark:blocked() and "" or "not ") .. "blocked")
end
end