Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???

[es] :: Access :: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???

Strane: 1 2

[ Pregleda: 12430 | Odgovora: 25 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

obradorriuss
Nikola Obradovic
CEO & Founder
NO SOLUTIONS
Novi Sad

Član broj: 30270
Poruke: 177
*.ptt.yu.

ICQ: 329831125
Sajt: www.nosolutions.rs


Profil

icon Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???11.08.2004. u 00:32 - pre 238 meseci
Zanima me, kako Vi programeri koji pravite svoje aplikacije u Access-u (bilo kojoj verziji) uspevate da zastitite svoje aplikacije ne od krajnjih korisnika (sto se radi pretvaranjem MDB u MDE) vec od ljudi koji zele da iskoriste Vasu aplikaciju da bi je prodali nekom i zaradili neki dinar a nisu nista radili? Npr. napravite program za magacin jednoj firmi, u tu firmu upadnem ja, snimim Vas program na CD, odnesem ga kuci, provalim ga i prodajem ga po ceni duplo manjoj nego Vasoj?
 
Odgovor na temu

istok
Nikola Raonic

Član broj: 16032
Poruke: 13
*.208.EUnet.yu



Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???11.08.2004. u 21:36 - pre 238 meseci
Ja sam trazio istu stvar... Naleteh neki dan na webu na neki freware za zastitu, nesto kao copy protector za access 97, a link za 2000 ne radi...
Javicu ti se cim saznam nesto vise.
Ti si me pitao da budem detaljniji oko exe-a. Ali na moju temu nije bilo odgovora. Ja sam temu postavio da bih izbacio sve nedoumice oko toga sta taj exe treba da radi... No sacekacemo malo, pa cemo da vidimo.
Ovo za zastitu i ja jedva cekam da vidim... Ovde na forumu ima veoma dobrih strucnjaka, koji su meni do sada bar nekoliko puta spasavali reputaciju, tako da ce i ovo verujem biti vrlo brzo razjasnjeno...
 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
195.252.80.*

Jabber: DarkMan


Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???06.09.2004. u 23:51 - pre 238 meseci
Ja sam jos uvek pocetnik u accessu i tek pocinjem da shvatam neke stvari, zato neka me neko ispravi ako gresim.

Ja ovako na to gledam. Prvo sve pravis u mdb fajli a na kraju je konvertujes u mde iz kojeg ti drugi ne mogu prostupiti tvojem kodu (design view je onemogucen) ali i dalje mogu da citaju podatke iz same baze.

Ako se stvarno ne moze prostupiti kodu onda bi jedini nacin za zastitu od kopiranja bila ubacivanje koda u samu bazu koji ce je vezati za serijski broj hard diska, sto i nije neki problem (source kodovi se mogu naci na netu pa cak i u ovde na u c++ forumu). Tako kada se baza veze za serijski broj hd-a drugi ljudi ga mogu kopirati ali nece moci da ga pokrenu osim naravno ako mogu da pristupe kodu i izbrisu zastitu.

Da li je tacno ovo sto sam rekao za MDE fajlove ? Ja kod mene nemogu da pristupim design modu kada konvertujem iz mdb u mde.

Inace, malo sam cunjao po netu za slicnim stvarima oko zastite i naleteo na sledeci tekst (nemam trenutno vremena da isprobam pa bih zamolio da ako neko proba da izlozi svoje utiske).
Citat:

You can still "lock" the db down so that the users cannot get into the db objects (forms, tables, modules, etc...).

Create a new module and paste this code:

Sub SetStartupProperties()
ChangeProperty "StartupForm", dbText, "YourFormHere"
ChangeProperty "StartupShowDBWindow", dbBoolean, False
ChangeProperty "StartupShowStatusBar", dbBoolean, False
ChangeProperty "AllowBuiltinToolbars", dbBoolean, False
ChangeProperty "AllowFullMenus", dbBoolean, False
ChangeProperty "AllowBreakIntoCode", dbBoolean, False
ChangeProperty "AllowSpecialKeys", dbBoolean, False
ChangeProperty "AllowBypassKey", dbBoolean, False
ChangeProperty "AppTitle", dbText, "Application Title Here vs1.2"
Application.RefreshTitleBar
End Sub

Public Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270

Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True

Change_Bye:
Exit Function

Change_Err:
If ERR = conPropNotFoundError Then ' Property not found.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function

The key line of code here is this

ChangeProperty "AllowBypassKey", dbBoolean, False

This turns off the shift key. It's a good idea to create yourself a back door by changing the line to this:

ChangeProperty "AllowBypassKey", dbBoolean, True

You can put that on the Double Click event of a label. You should try this out on a COPY of your database first.

This code does not prevent anyone from creating a new database and then importing all the objects from your database.

 
Odgovor na temu

obradorriuss
Nikola Obradovic
CEO & Founder
NO SOLUTIONS
Novi Sad

Član broj: 30270
Poruke: 177
*.ptt.yu

ICQ: 329831125
Sajt: www.nosolutions.rs


Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???07.09.2004. u 00:38 - pre 238 meseci
Tako je Darko. Kada konvertujes MDB u MDE tada ne bi trebalo da se pristupi tvom kodu. Ali ja sam recimo skinuo neke programcice sa neta koji ti omogucavaju da vratis MDE u MDB, znaci sve tabele, upite, forme i reporte ali ne uspe da konvertuje code napisan u VB, tako da se slobodno moze reci da je nemoguce. Mozes prakticno samo masku da izvuces. Da to za HDD si upravu, cak ga treba i povezati za kapacitet hard diska, znaci ukoliko se kapacitet hdd-a razlikuje u 1 bajt i serijski broj se razlikuje da izadje iz aplikacije ili js bolje da ugasi racunar, tj. resetuje komp. pa ko hoce da ga provali a pri tom da mu se kompo gasi jedno 100 puta nek izvoli. Ali veruj mi ne isplati se. Najbolje ti je da krenes iz pocetka da radis fajlove. Probacu to sto si napisao. Javicu ti vec........
Pozdrav
 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
*.smin.sezampro.yu.

Jabber: DarkMan


Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???07.09.2004. u 15:39 - pre 238 meseci
Evo visual basic koda kojim se mogu procitati neke informacije o hard disku (cita informacije sa prvog primarnog diska sto je pretpostavljam u 99.99% slucajeva disk sa operativnim sistemom)
Code:

Option Explicit

Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As 
Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal 
dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function DeviceIoControl Lib "kernel32" (ByVal hDevice As Long, ByVal dwIoControlCode As Long, ByRef 
lpInBuffer As Any, ByVal nInBufferSize As Long, ByRef lpOutBuffer As Any, ByVal nOutBufferSize As Long, ByRef 
lpBytesReturned As Long, ByVal lpOverlapped As Long) As Long

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Private Const GENERIC_READ = &H80000000
Private Const GENERIC_WRITE = &H40000000
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2
Private Const OPEN_EXISTING = 3
Private Const INVALID_HANDLE_VALUE = -1&

Public Const DFP_GET_VERSION = &H74080
Public Const DFP_SEND_DRIVE_COMMAND = &H7C084
Public Const DFP_RECEIVE_DRIVE_DATA = &H7C088

Public Const IDE_ATAPI_IDENTIFY = &HA1
Public Const IDE_ATA_IDENTIFY = &HEC

Public Const IDENTIFY_BUFFER_SIZE = 512

Public Type GETVERSIONOUTPARAMS
   bVersion As Byte      ' Binary driver version.
   bRevision As Byte     ' Binary driver revision.
   bReserved As Byte     ' Not used.
   bIDEDeviceMap As Byte ' Bit map of IDE devices.
   fCapabilities As Long ' Bit mask of driver capabilities.
   dwReserved1 As Long   ' For future use.
   dwReserved2 As Long   ' For future use.
   dwReserved3 As Long   ' For future use.
   dwReserved4 As Long   ' For future use.
End Type

Public Type IDEREGS
   bFeaturesReg As Byte       ' Used for specifying SMART "commands".
   bSectorCountReg As Byte    ' IDE sector count register
   bSectorNumberReg As Byte   ' IDE sector number register
   bCylLowReg As Byte         ' IDE low order cylinder value
   bCylHighReg As Byte        ' IDE high order cylinder value
   bDriveHeadReg As Byte      ' IDE drive/head register
   bCommandReg As Byte        ' Actual IDE command.
   bReserved As Byte          ' reserved for future use.  Must be zero.
End Type

Public Type SENDCMDINPARAMS
   cBufferSize As Long      '  Buffer size in bytes
   irDriveRegs As IDEREGS   '  Structure with drive register values.
   bDriveNumber As Byte     '  Physical drive number to send command to (0,1,2,3).
   bReserved1 As Byte       '  Reserved for future expansion.
   bReserved2 As Byte       '  Reserved for future expansion.
   bReserved3 As Byte       '  Reserved for future expansion.
   dwReserved1 As Long      '  For future use.
   dwReserved2 As Long      '  For future use.
   dwReserved3 As Long      '  For future use.
   dwReserved4 As Long      '  For future use.
   bBuffer() As Byte        '  Input buffer.
End Type

Public Type DRIVERSTATUS
   bDriverError As Byte  '  Error code from driver, or 0 if no error.
   bIDEStatus As Byte    '  Contents of IDE Error register, only valid when bDriverError is SMART_IDE_ERROR.
   bReserved1 As Byte    '  Reserved for future expansion.
   bReserved2 As Byte    '  Reserved for future expansion.
   dwReserved1 As Long   '  Reserved for future expansion.
   dwReserved2 As Long   '  Reserved for future expansion.
End Type

Public Type SENDCMDOUTPARAMS
   cBufferSize As Long            ' Size of bBuffer in bytes
   inDriveStatus As DRIVERSTATUS  '  Driver status structure.
   bBuffer() As Byte              '  Buffer of arbitrary length in which to store the data read from the drive.
End Type

Public Enum vbDiskDataType
    vbDriveModelNumber = 0
    vbDriveSerialNumber = 1
    vbDriveControllerRevisionNumber = 2
    vbControllerBufferSize = 3
    vbDriveType = 4
End Enum

Function ConvertToString(DiskData() As Byte, firstIndex As Long, lastIndex As Long) As String
    Dim index As Integer
    Dim s As String
    index = firstIndex
    While index <= lastIndex
        s = s + Chr(DiskData(index + 1)) + Chr(DiskData(index))
        index = index + 2
    Wend
    ConvertToString = Trim(s)
End Function

Function GetDiskData(DataType As vbDiskDataType) As String
    GetDiskData = ""
    Dim hPhysicalDriveIOCTL As Long
    hPhysicalDriveIOCTL = CreateFile("\\.\PhysicalDrive0", _
                            GENERIC_READ Or GENERIC_WRITE, _
                            FILE_SHARE_READ Or FILE_SHARE_WRITE, 0, _
                            OPEN_EXISTING, 0, 0)
    If hPhysicalDriveIOCTL <> INVALID_HANDLE_VALUE Then
        Dim VersionParams As GETVERSIONOUTPARAMS
        Dim cbBytesReturned  As Long
        If DeviceIoControl(hPhysicalDriveIOCTL, DFP_GET_VERSION, _
            Null, 0, VersionParams, Len(VersionParams), cbBytesReturned, 0) <> 0 Then
    
            If VersionParams.bIDEDeviceMap > 0 Then
                
                Dim cmd_in As SENDCMDINPARAMS
                Dim cmd_out As SENDCMDOUTPARAMS
                Dim buf(Len(cmd_out) + IDENTIFY_BUFFER_SIZE - 1) As Byte
                Dim bIDCmd As Byte
                If (VersionParams.bIDEDeviceMap And &H10) = &H10 Then
                    bIDCmd = IDE_ATAPI_IDENTIFY
                Else
                    bIDCmd = IDE_ATA_IDENTIFY
                End If

                cmd_in.cBufferSize = IDENTIFY_BUFFER_SIZE
                cmd_in.irDriveRegs.bFeaturesReg = 0
                cmd_in.irDriveRegs.bSectorCountReg = 1
                cmd_in.irDriveRegs.bSectorNumberReg = 1
                cmd_in.irDriveRegs.bCylLowReg = 0
                cmd_in.irDriveRegs.bCylHighReg = 0
                cmd_in.irDriveRegs.bDriveHeadReg = &HA0 ' 0xA0 | ((bDriveNum & 1) << 4);

                cmd_in.irDriveRegs.bCommandReg = bIDCmd
                cmd_in.bDriveNumber = 0  ' bDriveNum
                cmd_in.cBufferSize = IDENTIFY_BUFFER_SIZE
                cbBytesReturned = 0
                If DeviceIoControl(hPhysicalDriveIOCTL, DFP_RECEIVE_DRIVE_DATA, _
                        cmd_in, Len(cmd_in) - 1, buf(0), _
                        Len(cmd_out) + IDENTIFY_BUFFER_SIZE - 1, _
                        cbBytesReturned, 0) <> 0 Then
                    
                    If DataType = vbDriveModelNumber Then GetDiskData = ConvertToString(buf, 70, 108)
                    If DataType = vbDriveSerialNumber Then GetDiskData = ConvertToString(buf, 36, 54)
                    If DataType = vbDriveControllerRevisionNumber Then GetDiskData = ConvertToString(buf, 62, 68)
                    If DataType = vbControllerBufferSize Then GetDiskData = Str((CLng(buf(58)) + CLng(buf(59)) * 256) * 512)
                    If DataType = vbDriveType Then
                        If (buf(16) And &H80) = &H80 Then
                            GetDiskData = "Removable"
                        ElseIf (buf(16) And &H40 = &H40) Then
                            GetDiskData = "Fixed"
                        Else
                            GetDiskData = "Unknown"
                        End If
                    End If
                End If
            End If
        End If
        CloseHandle hPhysicalDriveIOCTL
    End If
End Function

Sub Main()
    MsgBox "Drive Model Number_________________: " + GetDiskData(vbDriveModelNumber) + vbLf + _
            "Drive Serial Number_______________: " + GetDiskData(vbDriveSerialNumber) + vbLf + _
            "Drive Controller Revision Number__: " + GetDiskData(vbControllerBufferSize) + " bytes" + vbLf + _
            "Drive Type________________________: " + GetDiskData(vbDriveType)
End Sub


E sad, problem moze biti u sledecem:
- za ovo treba Win2K/XP (ne moze u 9x)
- potrebna su administratorska prava (nisam proverio ali prema originalnom kodu iz c++ potrebna su)

Naravno kako ce se kod iskoristiti zavisi od programera.
Jedna od mogucnosti je: po instalaciji na klijenta procitati neko od ovih podataka, kriptovati ih i smestiti u bazu, zatim napisati funkciju koja ce proveriti validnost ovih podataka i u slucaju ne poklapanja izbaciti neku poruku o gresci.
 
Odgovor na temu

bobby63
Nis

Član broj: 11398
Poruke: 180
*.041net.co.yu.



Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???21.08.2005. u 10:25 - pre 226 meseci
Vadim ovu temu iz naftalina ali da ne bih duplirao tred.

Seriski broj HD-a dobijam ovako:

Dim fs, d
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName _
(fs.GetAbsolutePathName(drvpath)))
HDDBroj = d.SerialNumber

Kako da dobijem velicinu Hard Diska, nisam se nesto snasao u gornjem postu?

Pozdrav svima i unapred hvala
Hear all, trust nothing!
 
Odgovor na temu

kloktor
Velimir Milosavljevic
Kosjeric

Član broj: 18093
Poruke: 56
*.ptt.yu.



+2 Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???21.08.2005. u 21:10 - pre 226 meseci
Evo izvod iz help-a:

TotalSize Property
Description

Returns the total space, in bytes, of a drive or network share.

Syntax

object.TotalSize

The object is always a Drive object.

Remarks

The following code illustrates the use of the TotalSize property:
Code:

Sub ShowSpaceInfo(drvpath)
    Dim fs, d, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))
    s = "Drive " & d.DriveLetter & ":"
    s = s & vbCrLf
    s = s & "Total Size: " & FormatNumber(d.TotalSize/1024, 0) & " Kbytes"
    s = s & vbCrLf
    s = s & "Available: " & FormatNumber(d.AvailableSpace/1024, 0) & " Kbytes"
    MsgBox s
End Sub

Klo
 
Odgovor na temu

adenis
bih

Član broj: 24296
Poruke: 256
*.dlp12.bih.net.ba.



Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???22.08.2005. u 07:58 - pre 226 meseci
vec smo o ovome diskutovali:

http://www.elitesecurity.org/t...em-serijskog-broja-ili-slicno-
 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
*.neobee.net.

Jabber: DarkMan


Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???24.08.2005. u 13:06 - pre 226 meseci
Citat:
bobby63
Dim fs, d
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName _
(fs.GetAbsolutePathName(drvpath)))
HDDBroj = d.SerialNumber

ovo nije dobar nacin za koriscenje zastite. Ovaj kod vraca VOLUME SERIAL NUMBER tj. serijski broj particije a ne HD. Ovaj broj se menja pri svakom formatiranju particije a moguce je izmeniti i odgovarajucim programom. Pravi serisjki broj HD-a je dosta duzi i, bar koliko ja znam, nije moguce izmeniti (ako je moguce sigurno je mnogo teze to izvesti nego promeniti volume serial number).
 
Odgovor na temu

bobby63
Nis

Član broj: 11398
Poruke: 180
*.041net.co.yu.



Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???25.08.2005. u 09:06 - pre 226 meseci
A kako se dobija taj broj?
Hear all, trust nothing!
 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
*.neobee.net.

Jabber: DarkMan


Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???27.08.2005. u 22:14 - pre 226 meseci
Citat:
bobby63: A kako se dobija taj broj?

U zadnjoj poruci, pre nego sto si ovu temu izvadio iz naftalina, sam ostavio poduzi kod za dobijanje tog broja. Iskopiraj dati kod u neki modul i koristi GetDiskData(vbDriveSerialNumber) za citanje serijskog broja HD-a.
 
Odgovor na temu

pravi trenutak

Član broj: 56252
Poruke: 13
*.sabotronic.co.yu.



Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???28.08.2005. u 16:27 - pre 226 meseci
'Ajde MOOOLIM TE DarkMan -e UPLOADUJ jedan, primer da to konkretno radi...
Ako moze FORMA na kojoj ce da ispise taj serijski broj u jednom polju, i broj pomnozen sa 2 u drugom... ako ti nije preterano tesko/ako imas vremena

Pokusao sam, ali kada iskopiram sav onaj kod koji si ostavio, uvodni deo bude crven (dakle kontam da je greska... u kodu ili kod mene nesto u ACCESS-u nije podeseno...)

Hajde molim te !!!
Bio sam na gomili foruma i tema...a nisam jedini... svi nesto pametuju/predlazu niko da konkretno pomogne i pokaze na primeru...
" evo ovaj primer radi ! "

Hvala ti unapred, u moje, i u ime svih onih koji nisu neki "gurui" ACCESS-a, a zele da uce !!!!
Imace se, moci ce se . . .
 
Odgovor na temu

adenis
bih

Član broj: 24296
Poruke: 256
*.dlp334.bih.net.ba.



Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???28.08.2005. u 22:51 - pre 226 meseci
Citat:


pa pogledaj malo bolje
 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
*.neobee.net.

Jabber: DarkMan


Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???31.08.2005. u 17:52 - pre 226 meseci
Citat:
pravi trenutak: 'Ajde MOOOLIM TE DarkMan -e UPLOADUJ jedan


Primer moje zastite postoji u temi http://www.elitesecurity.org/tema/76325/0#484387

Okacicu ga ovde ponovo sa razlikom sto sada na vrhu forme ispisuje serijski broj HDD-a.
Na temi http://www.elitesecurity.org/t...em-serijskog-broja-ili-slicno- koju adenis spominje, se dosta diskutuje o zastiti i ima primera ali ih nisam gledao. Kako koji kod radi je veliko pitanje, kao i da li radi na svim racunarima. Kao sto sam i rekao ranije ne znam da li ce ovo raditi na svim racunarima i zato sam naglasio da je potrebno testirati ali ne vidim da se iko oglasio povodom toga.
Prikačeni fajlovi
 
Odgovor na temu

darkog
Obrenovac

Član broj: 82291
Poruke: 147
*.beogrid.net.



+1 Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???22.03.2006. u 15:33 - pre 219 meseci
On Open glavnog obrasca:

Private Sub Form_Open(Cancel As Integer)

Dim fs, d, s, t

Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))
Select Case d.DriveType
Case 0: t = "Unknown"
Case 1: t = "Removable"
Case 2: t = "Fixed"
Case 3: t = "Network"
Case 4: t = "CD-ROM"
Case 5: t = "RAM Disk"
End Select
s = "Drive " & d.DriveLetter & ": - " & t
s = s & vbCrLf & "SN: " & d.SerialNumber
If d.SerialNumber <> HDDBroj Then
msg
DoCmd.Close

End If
End Sub

********************************************************************************************
On Clik dugmeta na glavnom obrascu koji iscitava ser.br. HDD-a:

Private Sub Command23_Click()

Dim fs, d, s, t
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))
Select Case d.DriveType
Case 0: t = "Unknown"
Case 1: t = "Removable"
Case 2: t = "Fixed"
Case 3: t = "Network"
Case 4: t = "CD-ROM"
Case 5: t = "RAM Disk"
End Select
s = "Drive " & d.DriveLetter & ": - " & t
s = s & vbCrLf & "SN: " & d.SerialNumber
MsgBox s

End Sub

Ovo mozda nije neka opaka zastita ali sljaka 100%
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
195.29.146.*



+8 Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???23.03.2006. u 09:59 - pre 219 meseci
Najbolja zastita je ime firme na listama ili na ekranu ispis firme.

Znaci napravio sam program za Videoteku "Tropicana" i na svim formama se ispisuje u cosku ime firme
I sad ako mi mazne program , *.mde ,a ne moze zaci u VBA kod ,
taj program ne moze prodat Videoteci "OSKAR" zato jer se ispisuje logo firme i na racunu i na ekranu



 
Odgovor na temu

sbing
Hr

Član broj: 48455
Poruke: 77
*.net.t-com.hr.



Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???23.03.2006. u 10:24 - pre 219 meseci
Citat:
Trtko: Najbolja zastita je ime firme na listama ili na ekranu ispis firme.

Znaci napravio sam program za Videoteku "Tropicana" i na svim formama se ispisuje u cosku ime firme
I sad ako mi mazne program , *.mde ,a ne moze zaci u VBA kod ,
taj program ne moze prodat Videoteci "OSKAR" zato jer se ispisuje logo firme i na racunu i na ekranu

Ovo je definitivno najjača i najjednostavnija zaštita. Svaka čast na ideji! Nema nikakvih kemijanja sa serijskim brojem diska...
 
Odgovor na temu

Vladimir Djuric

Član broj: 110840
Poruke: 42
*.telrad.net.

Sajt: www.medical-bn.com


Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???20.09.2006. u 20:17 - pre 213 meseci
Citat:
darkog: On Open glavnog obrasca:

If d.SerialNumber <> HDDBroj Then



Nisi definisao "HDDBroj", tako da meni ne sljaka...
Unapred hvala...
 
Odgovor na temu

ilekicika
dipl pravnik

Član broj: 257869
Poruke: 34
*.dynamic.sbb.rs.



Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???12.10.2010. u 12:10 - pre 163 meseci
Pozdrav svima. Mene interesuje da li neko ima programski kod koji bi slovne simbole, odnosno stringovie koji su sastavni deo serijskog broja HD koji se dobija programskim kodom koji je postavio Darkog prevede u cifre i da od seriskog broja HD koji je kod mene na primer "WD-WMAM9UP89804" dobijem jedinsveni Number gde bi slovne simbole zamenio ciframa na kome mogu primeniti matematičke operacije kao što su korenovanje, deljenje ili množenje koa što se može primeniti na serijski broj particije koji je dat u istoj temi.
I.L.
Prikačeni fajlovi
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???12.10.2010. u 13:44 - pre 163 meseci
Ovo nije direktan odgovor na tvoje pitanje ali ti moze dati deju kako da resis taj problem.

Naime, zapis:
Citat:
WD-WMAM9UP89804

... se sastoji od:
* prefiksa proizvodjaca (WD-W) i
* alfanumerika koji cini jednistveni zapis (MAM9UP89804)

Tvoj zadatak bi bio da izolujes oba dela i na "univerzalan" nacin pretvoris u broj, koji bi obrbutim postupkom bio u mogucnosti da se vrati u pocetno stanje.

Problem je što je nekada lako utvrditi šta je proizvođač a šta broj:
Maxtor 86480D6
WDC AC2635F
FUJITSU MHK2120AT
... a nekada nije, kao u tvom slučaju (WD-W / MAM9UP89804). Zato kod koji se bavi pretvaranjem broja hard diska mora da ima i hardkodovane elemente.

Da ne pominjemo da je nemoguce unapred znati ko su sve (ili ce biti) proizvodjaci HD-a.


Za pocetak pogledaj kako izgledaju neki od hardverskih brojeva hard diskova:
http://www.winsim.com/diskid32/diskid32.html
... jer ti moze stvoriti sliku o eventualnim problemima.

Ako se ipak opredelis da i slova tretiraš kao broj diska, onda ostaješ bez potencijalne informacije o tome ko je proizvodjac.


Primer CPP koda mozes pogledati ovde:
http://www.winsim.com/diskid32/diskid32.cpp
... a ja cu izdvojiti karakteristicne detalje. Tebe zanima ovaj deo (par redova vise je petlja): case '0': id += 0; break;


Ukratko:
* potrebna ti je petlja koja ce ici od pocetka do kraja stringa
* izbeci slova koja se ticu proizvodjaca
* U svakom prolazu kroz petlju množiti trenutnu sumu sa odredjenom konstantom (oni su uzeli 10, ali ja mislim da treba da bude onoliko koliko ima mogucih slova i brojeva, to bi se zvala baza brojnog sistema)
* Svako pronadjeno slovo treba da ima svoj jedinstven broj koji se sabira sa ostatkom sume
* Konacno, sabrati pridruzenu konstantu za proizvodjaca sa sumom

 
Odgovor na temu

[es] :: Access :: Kako shtitite svoje aplikacije od nezeljenog kopiranja, tj. kradje aplikacija???

Strane: 1 2

[ Pregleda: 12430 | Odgovora: 25 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.