Oh i forgot about important thing, Now i know why it failed to change value xD
gg.setValues must appended after modifiying result from gg.getResults.
xor = bit32.bxor
sf = string.format
DefaultXorKey_1 = 0xFF
DefaultXorKey_2 = 0xAA
DialogOut = gg.prompt({
'Xor Key #1', -- [1]
"Value #1", -- [2]
'Xor Key #2', -- [3]
"Value #2" -- [4]
},
{DefaultXorKey_1, 0, DefaultXorKey_2, 0},
{number, number, number, number})
XoredValueWithKey_1 = xor(DialogOut[2], DialogOut[1])
XoredValueWithKey_2 = xor(DialogOut[4], DialogOut[3])
gg.clearResults()
gg.searchNumber(sf("%d;%d;%d;%d;1;5:100", DialogOut[1], XoredValueWithKey_1, DialogOut[3], XoredValueWithKey_2), gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)
o = gg.getResults(4)
o[2].value = xor(1000000000, DialogOut[1])
o[4].value = xor(1000000000, DialogOut[3])
gg.setValues(o) -- < This api is required to apply modified value.