local nport = 50196 -- needed port local tip = "127.0.0.1" -- test ip if not getOpenedProcessID() then openProcess("RobloxPlayerBeta.exe") end local baseaddr = getAddress("RobloxStudioBeta.exe") if not baseaddr then error("attach ce to roblox first") end --ns::create local taddr = baseaddr + 0x1D19053 local orig = readBytes(taddr, 1, true)[1] if orig == 0x74 then writeBytes(taddr, 0xEB) print(string.format("%X", taddr)) else print(string.format("%X", orig)) end function dissecthex(pathh) local file = io.open(pathh, "r") if not file then error("config file not found") end local stringgy = file:read("*a") file:close() --stringgy = stringgy:gsub("%s+", "") -- remove spaces and newlines if array is non c formatted local bytes = {} for i = 1, #stringgy, 2 do local bs = stringgy:sub(i, i+1) table.insert(bytes, tonumber(bs, 16)) end return bytes end -- edit config paths local serverconfig = dissecthex("C:\\Users\\newuser\\Desktop\\stigma\\server.txt") local connectionconfig = dissecthex("C:\\Users\\newuser\\Desktop\\stigma\\connectioninfo.txt") -- randomizing port for connection config if needed -- always use one port for every new inst -- local cport = {math.floor(nport / 256), nport % 256} local cport = {0xD3,0x24} -- ports r defined in bytes cs i forgot to auto format local cip = {} for num in tip:gmatch("%d+") do table.insert(cip, tonumber(num)) end if #cip ~= 4 then error("addy should have 4 seggs but got:" .. #cip) end connectionconfig[3] = cport[1] -- 0x02 connectionconfig[4] = cport[2] -- 0x03 connectionconfig[21] = cip[1] -- 0x14 connectionconfig[22] = cip[2] -- 0x15 connectionconfig[23] = cip[3] -- 0x16 connectionconfig[24] = cip[4] -- 0x17 local sconfigalloc = allocateMemory(#serverconfig) local connalloc = allocateMemory(#connectionconfig) writeBytes(sconfigalloc, serverconfig) writeBytes(connalloc, connectionconfig) registerSymbol("sconfigalloc", sconfigalloc) registerSymbol("connalloc", connalloc) local hookaddr = 0 while hookaddr == 0 do hookaddr = getAddress("ws2_32.send") if hookaddr == 0 then sleep(100) end end print(string.format("%X", hookaddr)) local nicfunc = baseaddr + 0x1D14EE0 -- update dis every new network update print(string.format("%X", nicfunc)) local origfunc = readBytes(hookaddr, 5, true) if not origfunc then error("cant hook this addy") end local orighex = "" for _, byte in ipairs(origfunc) do orighex = orighex .. string.format("%02X ", byte) end orighex = orighex:sub(1, -2) local lines = { "[ENABLE]", "alloc(hook, 128)", "registerSymbol(hook)", "", string.format("%X:", hookaddr), -- entry point "jmp hook", "nop", "", "hook:", string.format("mov rcx, %X", sconfigalloc), string.format("mov rdx, %X", connalloc), "mov r8, rdx", string.format("mov rax, %X", nicfunc), "jmp rax", "", "[DISABLE]", "unregisterSymbol(hook)", "dealloc(hook)", "", string.format("%X:", hookaddr), "db " .. orighex } local createreplicator = table.concat(lines, "\n") print(createreplicator) local success, testtt = autoAssemble(createreplicator) if not success then error(testtt) else print("injected") end