Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zapobiec kradzieży programu


Rekomendowane odpowiedzi

Opublikowano

Witam,

mam pytanie a zarazem proźbę jak przypisać program do danego komputera na przykład żeby tylko chodził pod danym użytkownikiem konta lub komputera,

chodzi o to że kiedyś udało mi się napisać przeglądarkę internetową i dałem znajomemu ale powiedziałem że ona jest tylko dla niego i żeby nikomu jej nie dawał a ten porozsyłał wszystkim :( więc czy jest możliwość w AutoIT napisania skryptu żeby odczytywał nazwę konta i wtedy dopiero się uruchomił jeśli ona się zgadza ? pewnie poprzez pętle można to zrobić ale nie mam żadnego pomysłu w jaki to sposób zrobić :/ Bardzo proszę o podpowiedzi z góry dziękuję i pozdrawiam forumowiczów.

Opublikowano

If Not @UserName = "Nazwa użytkownika" Then ; sposób 1
Exit
EndIf

If Not @ComputerName = "Nazwa komputera" Then ; sposób 2
Exit
EndIf

 

Zawsze taki skrypt można w łatwy sposób zdekompilować i dokonywać dowolnych zmian..

 

#Edit

 

Ew. możesz skorzystać z tego:

 

 

If Not DecodeProductKey(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DigitalProductID")) = "Klucz wygenerowany wcześniej" Then Exit

Func DecodeProductKey($BinaryDPID) ; by debugger from autoit.xaa
Local $bKey[15]
Local $sKey[29]
Local $Digits[24]
Local $Value = 0
Local $hi = 0
local $n = 0
Local $i = 0
Local $dlen = 29
Local $slen = 15
Local $Result
$Digits = StringSplit("BCDFGHJKMPQRTVWXY2346789", "")
$BinaryDPID = stringmid($BinaryDPID, 105, 30)
For $i = 1 to 29 step 2
	$bKey[int($i / 2)] = dec(stringmid($BinaryDPID, $i, 2))
next
For $i = $dlen - 1 To 0 Step -1
	If Mod(($i + 1), 6) = 0 Then
		$sKey[$i] = "-"
	Else
		$hi = 0
		For $n = $slen - 1 To 0 Step -1
			$Value = Bitor(bitshift($hi, -8), $bKey[$n])
			$bKey[$n] = int($Value / 24)
			$hi = mod($Value, 24)
		Next
		$sKey[$i] = $Digits[$hi + 1]
	EndIf
Next
For $i = 0 To 28
	$Result = $Result & $sKey[$i]
Next
Return $Result
EndFunc   ;==>DecodeProductKey

 

 

Weteran
Opublikowano

Najpierw obfuscatorem kodujesz skrypt, potem go kompilujesz. Nie da Ci to 100% bezpieczeństwa, ale już trzeba się trochę pobawić, żeby zobaczyć normalny kod.

1329036830-U154499.png
  • 2 tygodnie później...
Opublikowano

Ewentualnie:

- Włazisz na cba.pl (czy tam jakikolwiek chcesz hosting tego typu)

- Tworzysz (albo ktoś dla ciebie tworzy) stronkę w HTML i PHP która będzie rejestrowała program, i zapisywała usery i hasła do plików .txt (taa, wiem że może ktoś ukraść, ale nie ma super zabezpieczeń, zawsze możesz próbować szyfrować te pliki)

- AutoIT funkcją InetRead czyta zawartość pliku, funkcją StringSplit rozdziela usery/hasła (zapisane wcześniej dobrze, czyli np. rozdzielone myślnikami albo coś w tym stylu), i sprawdza każdy login i hasło po kolei :)

Nie sprawdzałem tego, ale w teorii działa. Trzeba się tylko nieco namęczyć.

846331404756772371599.jpeg
Opublikowano

Baza mysql

4 kolumny

Nazwa komputera; użytkownika; do kiedy ważne; status

 

Program automatycznie wypełni, a ty możesz edytować

Dla przykładu niech wypełnia do 3 dni w przód - wtedy masz wersję trial

Oddajcie minusy! :(

Opublikowano

To AutoIT, w nim można wykonywać funkcje która wykonuje tekst jako kod, więc polecam zrobić to tak by skrypt php sprawdzał wysłaną nazwę użytkownika i hasło, i jeśli działają to zwracał jakiś istotny kawałek kodu (może być zaszyfrowany czy coś). Także nie da ci to 100% bezpieczeństwa ale to już zabezpieczenie na o wiele lepszym poziomie niż sprawdzanie użytkowników z bazy w programie.

Twoja stara robi catch the clowny w Game Makerze.

Opublikowano

A, takie krótkie BTW:

Zawsze ktoś może ci zdekompilować kod :> Do załatwienia zabezpieczenia Obfuscatora wystarczy podobno jedna tablica.

I jakiekolwiek zewnętrzne zabezpieczenia pójdą w buty.

 

Jedynymi wyjściami są:

- Edycja nagłówku programu w Assemblerze i dodanie podpisu cyfrowego

- Edycja sposobu kompilacji programów

 

A ja właśnie próbuję rozgryźć jak w ten sposób zabezpieczyć, i jestem narazie "głęboko w dupie" więc nie pomogę...

846331404756772371599.jpeg
Opublikowano

Gdyby AutoIT nie zamknęło swojego kodu kilka lat temu to robienie swojej 'metody kompilacji' byłoby banalne.

Niestety najnowsze źródło nie posiada wielu potrzebnych funkcji, jak np. tych do dll'ek.

Twoja stara robi catch the clowny w Game Makerze.

  • 2 tygodnie później...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...