Привязка по пк.

spr1te

Потрачен
Автор темы
251
65
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия MoonLoader
.026-beta
Как сделать привязку по пк?
 

Evgeniy_Pavuk

Активный
119
79
Ну не раз обсуждалось же...
Так ему скорее всего интересно как сделать серверную привязку. Единственный гайд который я видел на бх бы мне непонятен(для меня). Мне кстати писали люди с таким вопросом и ссылкой на тот гайд(и так же называли его непонятным)
 

spr1te

Потрачен
Автор темы
251
65
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Так ему скорее всего интересно как сделать серверную привязку. Единственный гайд который я видел на бх бы мне непонятен(для меня). Мне кстати писали люди с таким вопросом и ссылкой на тот гайд(и так же называли его непонятным)
Да еще это привязка по ип, а не по пк.
 

savvin

Известный
404
139
Lua:
-- автор: hnnssy, получение серийника логического диска 
function getSerialHardwareId()
    local ffi = require("ffi")
    ffi.cdef[[
    int __stdcall GetVolumeInformationA(
        const char* lpRootPathName,
        char* lpVolumeNameBuffer,
        uint32_t nVolumeNameSize,
        uint32_t* lpVolumeSerialNumber,
        uint32_t* lpMaximumComponentLength,
        uint32_t* lpFileSystemFlags,
        char* lpFileSystemNameBuffer,
        uint32_t nFileSystemNameSize
    );
    ]]
    local serial = ffi.new("unsigned long[1]", 0)
    ffi.C.GetVolumeInformationA(nil, nil, 0, serial, nil, nil, nil, 0)
    serial = serial[0]
    
    return serial
end

Не знаю, работает ли эта функция, но попробовать стоит.
Хранить на хосте файл с серийниками. При заходе в игру качать файл и проверять его строки на наличие абсолютной схожести с полученным из getSerialHardwareId()

Что-то типа

Lua:
for code in file:lines() do
    if code == getSerialHardwareId() then
        -- скрипт активирован
        break
    end
end
 

#Northn

Известный
Всефорумный модератор
2,662
2,638
Lua:
-- автор: hnnssy, получение серийника логического диска
function getSerialHardwareId()
    local ffi = require("ffi")
    ffi.cdef[[
    int __stdcall GetVolumeInformationA(
        const char* lpRootPathName,
        char* lpVolumeNameBuffer,
        uint32_t nVolumeNameSize,
        uint32_t* lpVolumeSerialNumber,
        uint32_t* lpMaximumComponentLength,
        uint32_t* lpFileSystemFlags,
        char* lpFileSystemNameBuffer,
        uint32_t nFileSystemNameSize
    );
    ]]
    local serial = ffi.new("unsigned long[1]", 0)
    ffi.C.GetVolumeInformationA(nil, nil, 0, serial, nil, nil, nil, 0)
    serial = serial[0]
   
    return serial
end

Не знаю, работает ли эта функция, но попробовать стоит.
Хранить на хосте файл с серийниками. При заходе в игру качать файл и проверять его строки на наличие абсолютной схожести с полученным из getSerialHardwareId()

Что-то типа

Lua:
for code in file:lines() do
    if code == getSerialHardwareId() then
        -- скрипт активирован
        break
    end
end
Глупость, как минимум ты распространяешь чужую информацию, в добавок исходя из личного опыта могу сказать что у большинства серийник ЖД совпадает.
 

savvin

Известный
404
139
Глупость, как минимум ты распространяешь чужую информацию, в добавок исходя из личного опыта могу сказать что у большинства серийник ЖД совпадает.
Тогда вообще понятия не имею как можно сделать
 

spr1te

Потрачен
Автор темы
251
65
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Потому что код надо хорошо закрыть, иначе от привязки смысла не будет
Покупают софт обычно люди которые не могут его написать сами, а если не идет речь о каком-нибудь проэкте аля супер-пупер мульти чит, то это значит что люди его разшифровать не смогут..
 

savvin

Известный
404
139
Потому что код надо хорошо закрыть, иначе от привязки смысла не будет
А при чем тут код хорошо закрыть? Может он пишет платный скрипт, которым будут пользоваться много юзеров
Код закрыть хорошо не получится, только если усложнить процесс декомпиляции и добавить геморроя тому кто пытается это сделать
 
  • Нравится
Реакции: spr1te