algorytm sprawdzania ID sprzętu

0

Chciałbym napisać algorytm do sprawdzania sprzętu na którym będzie instalowane oprogramowanie. Idea jest taka.

  1. Program który będzie instalowany ma sprawdzić numer seryjny płyty głównej i procesora
  2. Na podstawie dwóch powyższych wygenerować jeden unikatowy numer
  3. Na podstawie tego numeru wygenerować klucz aktywacyjny
  4. Gotowy klucz aktywacyjny aktywuje program i gdy ktoś przeniesie całą instalkę na inny komputer, to program wyświetli komunikat o braku aktywacji programu

Ma to na celu uniknięcie przenoszeniu oprogramowania z komputera na komputer. Czy ktoś z was podrzuciłby jakieś przydatne linki na ten temat ? Bo szczerze mówiąc nie wiem czego szukać.

0

Dostępne w miarę normalnie, tzn nie z technik para-asemblerowych, to jest WMI. Przez WMI można zapuszczać kwerendy na temat równych aspektów systemu.
Kosztuje jakieś ułamki sekund.

Na marginesie, takie zabezpieczenie wydaje się z kręgu nieco naiwnych

2

Jezeli jest opcja by maszyna musiala byc podlaczona do internetu, to mozesz aktywacje zrobic przez swoj serwer, przez Twoja aplikacje (wtedy wysylasz info o plycie glownej i procku) i mozesz z produktem zrobic co chcesz (aktywowac, dezaktywowac)

0

ale już tak merytorycznie, czy ma ktoś jakiś punkt zaczepienia jak wydobyć takie informacje ze sprzętu ? czy to pod linux czy windows ?

2

Jeśli chcesz to mieć zrobione porządnie, to możesz się zainteresować sprzętowym zabezpieczeniem - kluczami HASP.
Polski przedstawiciel firmy, z którą miałem kilka razy do czynienia to https://systherm-info.pl/hasp/.
Możesz u nich zamówić wersję demo - prześlą Ci do domu zestaw testowy, zobaczysz jak to działa i czy chcesz iść w tym kierunku.
O ile kojarzę to mają jakąś wersję chmurową/online - czyli że nie trzeba fizycznie niczego wsuwać do USB, tylko weryfikacja jest robiona online. Nie wiem, jak to działa, nie miałem z tym styczności, ale Ty możesz się zainteresować, być może to jest to, czego szukasz.

EDIT
https://systherm-info.pl/hasp/sentinel-ldk/klucz-programowy-sentinel-sl/ - to jest chyba to, o czym pisze @UglyMan w komentarzu do posta. Jest jeszcze jakaś wersja chmurowa - ale jak pisałem, nie miałem z tym styczności, więc się nie wypowiem.

0

w google -> windows c++ get info motherboard
https://stackoverflow.com/questions/43473262/getting-the-motherboards-serial-number

Tu masz info

Podobnie z linuksem tylko zamiast windows szukasz Linux / unix

0

na chwilę obecną największym problemem dla mnie jest dobranie się do tych numerów seryjnych w C++, nie mam pojęcia od czego ruszyć... jak już będę miał to wyświetlone w jakiejś postaci, to prawdopodobnie jakaś fantazja mnie najdzie aby coś z tymi cyferkami zrobić. Dlatego fajnie by było gdyby ktoś podpowiedział jak się do nich dobrać z poziomu C++

1
fasadin napisał(a):

w google -> windows c++ get info motherboard

https://stackoverflow.com/questions/43473262/getting-the-motherboards-serial-number

Genialne jak u Zelenta, pobieranie numeru płyty głównej jako double

czemu z kręgu naiwnych ? Więc co proponujesz ? zkubinski 20 minut temu

W sensie łatwość łamania. Jeśli program MA WARTOŚĆ, będzie złamany, jeśli NIE MA zabezpieczenia są zbędne

zkubinski napisał(a):

na chwilę obecną największym problemem dla mnie jest dobranie się do tych numerów seryjnych w C++, nie mam pojęcia od czego ruszyć... jak już będę miał to wyświetlone w jakiejś postaci, to prawdopodobnie jakaś fantazja mnie najdzie aby coś z tymi cyferkami zrobić. Dlatego fajnie by było gdyby ktoś podpowiedział jak się do nich dobrać z poziomu C++

Wyższe stadium lenistwa
Google C++ WMI
a w praktyce firefox już podpowiada
C++ WMI get serial number

0

np ten link trzeci post. Nie za bardzo znam się na asm i nawet nie wiem czy to jest to czego bym szukał

0

@MarekR22:
Zamiast pocić się asm to spróbowałem wyszukać czegoś po tej bibliotece co podałeś

ID CPU

Nie kompilowałem kodu ale może coś podpowiesz... Wydaje mi się, że jest to czego bym chciał ale pytanie czy dobrze znalazłem ?

Czy to jest jakiś zarzucony projekt ? Bo po datach widać, że już od dawna nie rozwijany ?

0

szkoda, że mało z was udziela się w wątku... a to przydatna rzecz. Poza tym przejrzałem sobie źródła biblioteki "SIGAR" i na pierwszy rzut oka biblioteka ta operuje na poleceniach systemowych. Czy się mylę ? Czy ktoś mnie naprostuje ? Bo jeżeli tak, to prawdopodobnie byłbym w stanie sam wyciągnąć te informacje które chcę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1