- Статус
 - Оффлайн
 
- Регистрация
 - 4 Апр 2023
 
- Сообщения
 - 107
 
- Реакции
 - 8
 
		Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
	
			
				hwid:
			
		
		
		local ffi = require("ffi")
ffi.cdef[[
    typedef struct {
        unsigned char cpu[32];
        unsigned char gpu[32];
        unsigned char ram[32];
    } HardwareInfo;
    void get_hardware_info(HardwareInfo* info);
]]
local hardware = ffi.new("HardwareInfo")
-- Вместо вызова библиотеки, можно вставить ваш собственный код для получения аппаратной информации
-- Пример:
-- hardware.cpu = "CPU_IDENTIFIER"
-- hardware.gpu = "GPU_IDENTIFIER"
-- hardware.ram = "RAM_IDENTIFIER"
local sha2 = require("sha2")
local cpuHash = sha2.sha256(ffi.string(hardware.cpu))
local gpuHash = sha2.sha256(ffi.string(hardware.gpu))
local ramHash = sha2.sha256(ffi.string(hardware.ram))
local expectedCPUHash = "здесь вставьте ожидаемый хэш для CPU"
local expectedGPUHash = "здесь вставьте ожидаемый хэш для GPU"
local expectedRAMHash = "здесь вставьте ожидаемый хэш для RAM"
if cpuHash == expectedCPUHash and gpuHash == expectedGPUHash and ramHash == expectedRAMHash then
    print("Аппаратная проверка прошла успешно. Вы можете продолжить выполнение скрипта.")
else
    print("Аппаратная проверка не пройдена. Скрипт не может быть выполнен.")
end
	
			
				libka:
			
		
		
		-- sha2.lua
local bit = require("bit")
local sha256 = {}
local function ROTR(n, x)
    return bit.bor(bit.rshift(x, n), bit.lshift(x, 32 - n))
end
local function Ch(x, y, z)
    return bit.bxor(bit.band(x, y), bit.band(bit.bnot(x), z))
end
local function Maj(x, y, z)
    return bit.bxor(bit.bxor(bit.band(x, y), bit.band(x, z)), bit.band(y, z))
end
local function Sigma0(x)
    return bit.bxor(bit.bxor(ROTR(2, x), ROTR(13, x)), ROTR(22, x))
end
local function Sigma1(x)
    return bit.bxor(bit.bxor(ROTR(6, x), ROTR(11, x)), ROTR(25, x))
end
local function sigma0(x)
    return bit.bxor(bit.bxor(bit.rshift(x, 7), bit.rshift(x, 18)), bit.rshift(x, 3))
end
local function sigma1(x)
    return bit.bxor(bit.bxor(bit.rshift(x, 17), bit.rshift(x, 19)), bit.rshift(x, 10))
end
local K = {
    0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
    0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
    0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
    0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
    0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
    0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
    0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
    0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
    0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
    0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
    0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
    0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
    0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
    0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
    0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
    0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
}
function sha256.hash(msg)
    local H = {
        0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
        0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
    }
    local function preprocess(msg)
        local len = #msg
        local extra = 64 - ((len + 9) % 64)
        if extra == 64 then
            extra = 0
        end
        msg = msg .. "\x80" .. ("\x00"):rep(extra) .. string.char(bit.rshift(len, 56) & 0xFF) .. string.char(bit.rshift(len, 48) & 0xFF) .. string.char(bit.rshift(len, 40) & 0xFF) .. string.char(bit.rshift(len, 32) & 0xFF) .. string.char(bit.rshift(len, 24) & 0xFF) .. string.char(bit.rshift(len, 16) & 0xFF) .. string.char(bit.rshift(len, 8) & 0xFF) .. string.char(len & 0xFF)
        return msg
    end
    msg = preprocess(msg)
    for i = 1, #msg, 64 do
        local chunk = msg:sub(i, i + 63)
        local w = {}
        for j = 1, 16 do
            local start = (j - 1) * 4 + 1
            w[j] = bit.bor(bit.lshift(chunk:byte(start), 24), bit.bor(bit.lshift(chunk:byte(start + 1), 16), bit.bor(bit.lshift(chunk:byte(start + 2), 8), chunk:byte(start + 3))))
        end
        for j = 17, 64 do
            w[j] = sigma1(w[j - 2]) + w[j - 7] + sigma0(w[j - 15]) + w[j - 16]
        end
        local a, b, c, d, e, f, g, h = table.unpack(H)
        for j = 1, 64 do
            local T1 = h + Sigma1(e) + Ch(e, f, g) + K[j] + w[j]
            local T2 = Sigma0(a) + Maj(a, b, c)
            h = g
            g = f
            f = e
            e = d + T1
            d = c
            c = b
            b = a
            a = T1 + T2
        end
        H[1] = (H[1] + a) & 0xFFFFFFFF
        H[2] = (H[2] + b) & 0xFFFFFFFF
        H[3] = (H[3] + c) & 0xFFFFFFFF
        H[4] = (H[4] + d) & 0xFFFFFFFF
        H[5] = (H[5] + e) & 0xFFFFFFFF
        H[6] = (H[6] + f) & 0xFFFFFFFF
        H[7] = (H[7] + g) & 0xFFFFFFFF
        H[8] = (H[8] + h) & 0xFFFFFFFF
    end
    local function tohex(num, len)
        local hex = string.format("%x", num)
        if len then
            hex = string.rep("0", len - #hex) .. hex
        end
        return hex
    end
    local hash = ""
    for i = 1, #H do
        hash = hash .. tohex(H[i], 8)
    end
    return hash
end
return sha256
	первое это сама луа на хвид, второе это либка для ние
			
				Последнее редактирование: