Тема: Захист від шахрайства
Підкажіть ідею як можна лімітувати час роботи програми, на С/С++ ? В мене тільки вишло придумати зворотній відлік таймера у файлі.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Алгоритми та структури даних, технології → Захист від шахрайства
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Підкажіть ідею як можна лімітувати час роботи програми, на С/С++ ? В мене тільки вишло придумати зворотній відлік таймера у файлі.
У сенсі щоб без оплати не могли більше ніж 3 години в програмі працювати чи щось таке? Загалом так - вам потрібне зовнішнє сховище інформації про програму. Це може бути просто файл, ну і все, що ще люди придумали для збереження - база даних, реєстр, метадані файлів, але усе це кінець-кінцем зводиться, так, до файлів, бо воно має якось пережити перезавантаження системи. Якщо уточните систему - зможу підказати більше.
Ну і, звісно, може бути щось поза системою - ваш сервер ліцензій, наприклад. Враховуйте сценарій, коли одразу після встановлення програми на віртуальній машині з неї роблять клон.
Якщо уточните систему - зможу підказати більше.
windows 10 ,виходу інтернет звідти нема
навіщо цей ідіотизм? якось я написав програму на замовлення, захистив і віддав. Вона працювала до певної дати, а потім не працювала. А коли я отримав гроші, забув віддати програму без захисту. .Через деякий час замовник звернувся на форум, буцім-то програма працювала, а тепер не працює. Пощастило, що я моніторив цей форум і помітив повідомлення. Тож не довелось фатально зганьбитися.
Є загальна практика з 30 денним випробувальним періодом. Тож треба думати не в бік обмежень, а в бік системи ліцензування.
Не варто вважати, що можна створити надійну систему захисту ПЗ.
Якщо програма ПЗ робиться на фрілансі для конкретного замовника, то захист має бути мінімальним. Бо ніхто не стане ламати програму за 50$, що виконує специфічні функції.
Якщо програма може продаватися, то є багато вже готових систем захисту. Від простих до комплексних з хардварним захистом.
Усі вони успішно ламаються
Питання отримання прибутку не в тому як захистити, а в тому як заохотити заплатити. Наприклад в 90х більшість ігор була неліцензійна. А потім появився широкополосний інтернет і стім. І де ті лотки з дисками крякнутих ігор? Нещодавно зайшов в одну крамницю, там були ігри на дисках. Ціни від 1600грн... Навряд чи це піратки.
навіщо цей ідіотизм? якось я написав програму на замовлення, захистив і віддав. Вона працювала до певної дати, а потім не працювала. А коли я отримав гроші, забув віддати програму без захисту. .Через деякий час замовник звернувся на форум, буцім-то програма працювала, а тепер не працює. Пощастило, що я моніторив цей форум і помітив повідомлення. Тож не довелось фатально зганьбитися.
Є загальна практика з 30 денним випробувальним періодом. Тож треба думати не в бік обмежень, а в бік системи ліцензування.
Не варто вважати, що можна створити надійну систему захисту ПЗ.
Якщо програма ПЗ робиться на фрілансі для конкретного замовника, то захист має бути мінімальним. Бо ніхто не стане ламати програму за 50$, що виконує специфічні функції.
Якщо програма може продаватися, то є багато вже готових систем захисту. Від простих до комплексних з хардварним захистом.
Усі вони успішно ламаються
Питання отримання прибутку не в тому як захистити, а в тому як заохотити заплатити. Наприклад в 90х більшість ігор була неліцензійна. А потім появився широкополосний інтернет і стім. І де ті лотки з дисками крякнутих ігор? Нещодавно зайшов в одну крамницю, там були ігри на дисках. Ціни від 1600грн... Навряд чи це піратки.
В мене задача я маю її вирішити. А ваша філософія мені ніяк не допоможе.
Пишіть у кілька місць: файл у AppData, реєстр, ще якесь цікаве місце - наприклад, дата створення якогось файлу і окремий файловий потік на чомусь системному, скажімо, тієї ж теки AppData. Але, звісно, від віртуалки це не врятує.
Але, звісно, від віртуалки це не врятує.
__cpuid?
А шо __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
koala написав:А шо __cpuid?
по cpuid формувати hwid
і що в EAX писати щоб воно було унікальне ?
koala написав:А шо __cpuid?
по cpuid формувати hwid
А шо hwid?
А хто заборонить віртуалці змінити CPUID? У VirtualBox навіть спеціальний параметр для цього є.
Від RE нічого не рятує. Якщо є бажання і час, то все зламати можна.
Як варіант, можна шукати вразливості в дебагерах (як робив denuvo) та ВМ і з їх допомогою закривати дебагер/BSODити/змінювати процедуру дізасму в памяті, щоб замість коду програми всяке сміття рандомне дізасмилось. На деякий час реверс зупинить/ускладнить, але не назавжди.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися