local NoRun={} local found=false; function getAddresses() local ends = { ['0'] = 'cmp byte ptr [esi+00000110],00'; ['B'] = 'cmp byte ptr [esi+00000110],00'; ['5'] = 'mov byte ptr [esi+00000110],01'; }; local hex = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F'}; for i = 4, 6 do for _, v in next, hex do for _, c in next, hex do for _, e in next, hex do local p = '0044' .. i .. v .. c .. e; local _, opcode, _ = splitDisassembledString(disassemble(tonumber('0x' .. p))); if not opcode then return; end; local l = ends[p:sub(-1)]; if (l ~= nil) then if (opcode == l) and (tonumber(ends[p:sub(-1)]) == nil) then if (ends[p:sub(-1)] == ends['B']) then local z = tonumber('0x' .. p) + 7; local _, opcode, _ = splitDisassembledString(disassemble(z)); if (opcode:match('jne')) then ends[p:sub(-1)] = p; end; else ends[p:sub(-1)] = p; end; end; end; end; end; end; end; return ends['0'], ends['B'], ends['5']; end; function mycheck(sender) local id = getProcessIDFromProcessName("RobloxPlayerBeta.exe"); for i,v in pairs(NoRun) do if v==id or not id then return; end; end; table.insert(NoRun, id); openProcess(id); if id~=nil then if found==false then print'Found robloxplayer'; end; found = true; end; pause(); local x, y, z = getAddresses(); if x and y and z then --print(x, y, z); autoAssemble([[ ]] .. x .. [[: cmp byte ptr [esi+00000110],01 ]] .. y .. [[: //0044452B: cmp byte ptr [esi+00000110],01 ]] .. z .. [[: mov byte ptr [esi+00000110],00 ]]) end; unpause(); end; local t = createTimer(nil); timer_setInterval(t, 300); timer_onTimer(t, mycheck); timer_setEnabled(t, true); --[[ 01038328 : mov eax,[ebp+14] 00444F30 : cmp byte ptr [esi+00000110],00 0044486B : cmp byte ptr [esi+00000110],00 00444915 : mov byte ptr [esi+00000110],01 --]]