1

Тема: Захист від шахрайства

Підкажіть ідею як можна лімітувати час роботи програми, на С/С++ ? В мене тільки вишло придумати зворотній відлік таймера у файлі.

2 Востаннє редагувалося koala (14.02.2021 08:13:46)

Re: Захист від шахрайства

У сенсі щоб без оплати не могли більше ніж 3 години в програмі працювати чи щось таке? Загалом так - вам потрібне зовнішнє сховище інформації про програму. Це може бути просто файл, ну і все, що ще люди придумали для збереження - база даних, реєстр, метадані файлів, але усе це кінець-кінцем зводиться, так, до файлів, бо воно має якось пережити перезавантаження системи. Якщо уточните систему - зможу підказати більше.
Ну і, звісно, може бути щось поза системою - ваш сервер ліцензій, наприклад. Враховуйте сценарій, коли одразу після встановлення програми на віртуальній машині з неї роблять клон.

3

Re: Захист від шахрайства

koala написав:

Якщо уточните систему - зможу підказати більше.

windows 10 ,виходу інтернет звідти нема

4

Re: Захист від шахрайства

навіщо цей ідіотизм? якось я написав програму на замовлення, захистив і віддав. Вона працювала до певної дати, а потім не працювала. А коли я отримав гроші, забув віддати програму без захисту. .Через деякий час замовник звернувся на форум, буцім-то програма працювала, а тепер не працює. Пощастило, що я моніторив цей форум і помітив повідомлення. Тож не довелось фатально зганьбитися.

Є загальна практика з 30 денним випробувальним періодом. Тож треба думати не в бік обмежень, а в бік системи ліцензування.

Не варто вважати, що можна створити надійну систему захисту ПЗ.

Якщо програма ПЗ робиться на фрілансі для конкретного замовника, то захист має бути мінімальним. Бо ніхто не стане ламати програму за 50$, що виконує специфічні функції.

Якщо програма може продаватися, то є багато вже готових систем захисту. Від простих до комплексних з хардварним захистом.

Усі вони успішно ламаються

Питання отримання прибутку не в тому як захистити, а в тому як заохотити заплатити. Наприклад в 90х більшість ігор була неліцензійна. А потім появився широкополосний інтернет і стім. І де ті лотки з дисками крякнутих  ігор? Нещодавно зайшов в одну крамницю, там були ігри на дисках. Ціни від 1600грн... Навряд чи це піратки.

5 Востаннє редагувалося cheappi386 (14.02.2021 15:11:13)

Re: Захист від шахрайства

ur_naz написав:

навіщо цей ідіотизм? якось я написав програму на замовлення, захистив і віддав. Вона працювала до певної дати, а потім не працювала. А коли я отримав гроші, забув віддати програму без захисту. .Через деякий час замовник звернувся на форум, буцім-то програма працювала, а тепер не працює. Пощастило, що я моніторив цей форум і помітив повідомлення. Тож не довелось фатально зганьбитися.

Є загальна практика з 30 денним випробувальним періодом. Тож треба думати не в бік обмежень, а в бік системи ліцензування.

Не варто вважати, що можна створити надійну систему захисту ПЗ.

Якщо програма ПЗ робиться на фрілансі для конкретного замовника, то захист має бути мінімальним. Бо ніхто не стане ламати програму за 50$, що виконує специфічні функції.

Якщо програма може продаватися, то є багато вже готових систем захисту. Від простих до комплексних з хардварним захистом.

Усі вони успішно ламаються

Питання отримання прибутку не в тому як захистити, а в тому як заохотити заплатити. Наприклад в 90х більшість ігор була неліцензійна. А потім появився широкополосний інтернет і стім. І де ті лотки з дисками крякнутих  ігор? Нещодавно зайшов в одну крамницю, там були ігри на дисках. Ціни від 1600грн... Навряд чи це піратки.

В мене задача я маю її вирішити. А ваша філософія мені ніяк не допоможе.

Подякували: Yola1

6

Re: Захист від шахрайства

Пишіть у кілька місць: файл у AppData, реєстр, ще якесь цікаве місце - наприклад, дата створення якогось файлу і окремий файловий потік на чомусь системному, скажімо, тієї ж теки AppData. Але, звісно, від віртуалки це не врятує.

Подякували: 0xDADA11C72

7

Re: Захист від шахрайства

koala написав:

Але, звісно, від віртуалки це не врятує.

__cpuid?

8

Re: Захист від шахрайства

А шо __cpuid?

9

Re: Захист від шахрайства

koala написав:

А шо __cpuid?

по cpuid формувати hwid

10

Re: Захист від шахрайства

koala написав:

А шо __cpuid?

https://en.wikipedia.org/wiki/CPUID

The following are known ID strings from virtual machines:

"bhyve bhyve " – bhyve
" KVMKVMKVM " – KVM
"TCGTCGTCGTCG" – QEMU
"Microsoft Hv" – Microsoft Hyper-V or Windows Virtual PC
" lrpepyh vr" – Parallels (it possibly should be "prl hyperv ", but it is encoded as " lrpepyh vr" due to an endianness mismatch)
"VMwareVMware" – VMware
"XenVMMXenVMM" – Xen HVM
"ACRNACRNACRN" – Project ACRN
" QNXQVMBSQG " – QNX Hypervisor
"VirtualApple" – Apple Rosetta 2


/KIT\ написав:
koala написав:

А шо __cpuid?

по cpuid формувати hwid

і що в EAX писати щоб воно було унікальне ?

11

Re: Захист від шахрайства

/KIT\ написав:
koala написав:

А шо __cpuid?

по cpuid формувати hwid

А шо hwid?

12

Re: Захист від шахрайства

від RE це не врятує

13

Re: Захист від шахрайства

А хто заборонить віртуалці змінити CPUID? У VirtualBox навіть спеціальний параметр для цього є.

14

Re: Захист від шахрайства

Від RE нічого не рятує. Якщо є бажання і час, то все зламати можна.
Як варіант, можна шукати вразливості в дебагерах (як робив denuvo) та ВМ і з їх допомогою закривати дебагер/BSODити/змінювати процедуру дізасму в памяті, щоб замість коду програми всяке сміття рандомне дізасмилось. На деякий час реверс зупинить/ускладнить, але не назавжди.

Подякували: 0xDADA11C71