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

gasenje programa iz memorije, objasnjenje za kod time...

[es] :: Visual Basic 6 :: gasenje programa iz memorije, objasnjenje za kod time...

[ Pregleda: 1932 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

miki987

Član broj: 208123
Poruke: 511
93.87.215.*



+5 Profil

icon gasenje programa iz memorije, objasnjenje za kod time...26.07.2009. u 17:08 - pre 179 meseci
Pozdrav.Pretrazujem forum vec 4 sata, dosta toga procitam, prebacim kod, eksperimentisem i tako ucim,,,Mnoge stvari kapiram dosta brzo a uz to pravim neki programcic...Zapeo sam kod dve stvari:

Prva: Verovali ili ne ali ja ne umem da ubacim vreme, odnosno prikaze mi trenutno vreme ali tu zakoci i ostane sve dok ne kliknem opet na dugme a kod je:

Code:

Private  Sub Vreme_Click()
Text1.Text = Format(Time, "hh:mm:ss")

Postoji li nesto nalik web dizajnu kao Frame ili ...?
Vidim da se pominje i Timer ali opet ista stvar...!?

Druga: Ako imam neki kod koji u sebi sadrzi slova i brojeve izmesane a ja zelim da brojeve izvucem i mnozim ih, kako to da izvedem

Treca: Posle pokretanja programa isti mi ostaje u Task-u, a ja zelim da ga nema, kako to da uradim?

Cetvrta: Da li nakon pokretanja programa sa recimo C:/ direktorijuma, isti se kopira jos negde (neki Temp ili tako nesto)?

Peta: Koliko je pouzdan Login kod, na foru citanja iz nekog txt-a, negde sam procitao da crack-ri provale program citajuci putanju odnosno kod od samog exe-a, kako to mogu, sta je najpouzdanije?


Hvala na odgovorima, valjda nisam bzvz opet otvorio temu :D
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...26.07.2009. u 17:41 - pre 179 meseci
1. Da. kod moraš da ubaciš u tajmer. Dakle prvo dodaš Timer kontrolu na formu, a onda ubaciš kod u Timer event Timer kontrole
Code:
Private Sub Timer1_Timer()
Text1.Text = Format(Time, "hh:mm:ss")
End Sub

a naravno, negde pre toga setuješ timer interval, ili u design modu tako što ćeš u properties da podesiš interval na recimo 1000 ili možeš iz koda, recimo prilikom učitavanja forme
Code:
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub


2. Prođeš kroz string simbol po simbol i proveriš da li je u pitanju broj, pa ako jeste onda ga ili smeštaš u neku matricu za kasniju manipulaciju ili ih odmah koristiš i smeštaš u neku varijablu ili kontrolu, zavisno već od toga šta želiš da uradiš. Recimo ako ti treba proizvod svih brojeva u stringu "asda78sdaad5sa7sd8", to bi izgledalo nekako ovako
Code:
Dim strTest as String
Dim lngRezultat As Long
Dim I As Long

strTest = "asda78sdaad5sa7sd8"
lngRezultat = 1

For I = 1 To Len(strTest)
   If IsNumeric(Mid(strTest, I, 1)) Then
      lngRezultat = lngRezultat * Val(Mid(strTest, I, 1))
   End If
Next I

MsgBox Rezultat, vbInformation, "Test"


3. Imaš svojstvo forme ShowInTaskbar koje trebaš da promeniš u False. ovo radi samo u design modu, ne i u kodu.

4. Ako sam dobro razumeo pitanje, odgovor je ne.

5. Totalno si nejasno postavio pitanje. Šta je login kod ? Šta je "neki txt" ? Šta je putanja kod exe-a ? Moraćeš da budeš malo precizniji oko ovoga. Generalno, bilo kakva protekcija bilo čega u nekom programu je nauka za sebe i postoji gomila različitih pristupa zavisno od toga šta zaštićuješ, koliki nivo zaštite očekuješ i slično. A crackeri kao crackeri, sve se može provaliti, samo zavisi od toga koliko to ima smisla.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...26.07.2009. u 17:48 - pre 179 meseci
Daj se barem J E D N O M potrudi prije nego pitaš na forumu. Da si se barem malo potrudio bi pronašao i na forumu i na google-u.

http://www.daniweb.com/forums/thread14312.html#

http://www.elitesecurity.org/t63596-0#404911

http://www.elitesecurity.org/t159925-0#1360920

http://www.dreamincode.net/code/snippet2361.htm
F
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
93.87.215.*



+5 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...26.07.2009. u 18:10 - pre 179 meseci
druge forume ne citam a u ovom zaista nisam a pretrazio sam do 50te teme :D a u google kada kucam zaista mi ne izbacuje to sto trazim, probam recimo vreme u vb, vreme i datum u vb6 kod, time code for vb6 i nema nicega

sto se tice ove 5te teme koja je nejasna radi se o sledecem
zelim da postavim da kada se klikne na moj exe ovaj kod

Code:
Private Sub Form_Load()
Dim openfile As String
openfile = hd.Text
If hd.Text = "" Then
MsgBox "Nelicencirana verzija"
Else
Open "C:\blabla.txt" For Input As #1
Input #1, openfile
If hd.Text = openfile Then
MsgBox "Registracija uspesna"
Else
MsgBox "Registracija neuspesna"
End If
Close #1
End If
End Sub

(trebao bih ga srediti, ne znam kako sa ovim If i Else)

da on proveri da li u tom txt-u postoji kod ili ne, odnosno da li zapravo taj txt postoji i u njemu aktivacioni broj postoji ili ne
za njegovo kreiranje bih kasnije napravio nesto kao keygen

ako bi to tako funkcionisalo a keygen svako dobijao zasebno da li bi nekako moglo da se provali putanja jednog validnog pa da sa tim jednim isti se siri dalje

ja bih taj txt "zavukao" negde gde ga je tesko naci ali dzaba ako se putanja moze videti iz samog exe-a
taj programcic nije nista specijalno cak ga radim za mene licno-pomoci ce mi na poslu gde radim, ali zbog njegove funkcionalnosti zeleo bih ipak da ga zastitim od "kolega" kojima bi dobro dosao ...


p.s. lose sam se izrazio za ovo pod 3
dakle meni posle gasenja programa, u tasku ostaje kao aktivan, tako da sledeci put kada fa pokrenem vidim dva, i svaki naredni put za jedan vise, znaci ne gase se???
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...26.07.2009. u 19:02 - pre 179 meseci
Što se tiče zaštita sa skrivenim fajlom, bolje odmah zaboravi na to, jer svako ko iole zna nešto o crackovanju, lako će naći putanju. Ako ćeš već da koristiš licencni fajl, onda gledaj da on sadrži nešto više nego samo ključ, nego dodaj i neke podatke vezane za specifičan kompjuter, recimo serijski broj hard diska i slično tako da jedan licencni fajl neće raditi na drugom računaru. Naravno, taj fajl treba nekako enkriptovati (primere za enkripciju možeš naći na netu), tako da ne moraš da ga kriješ, već možeš da ga smestiš u isti folder gde ti je aplikacija. Pa onda očitaš i ako nema fajla, program nije registrovan, ako se podaci iz tekst fajla ne slažu, opet program nije registrovan. Ako hoćeš to još malo da zakomplikuješ, onda umesto čistog zapisivanja serijskog broja hard diska, možeš da napraviš neku matematičku formulu koja će na osnovu SB HD da upiše neku drugu vrednost, pa onaj ko pokuša da replicira licencni fajl, neće samo morati da dekriptuje fajl, nego i da provali kojom si matematičkom formulom dobio upisanu vrednost. Takođe, pošto u svom programu moraš negde da izvršiš očitavanje, pa samim tim i upotrebiš If... Then... Else... to za nekog iole iskusnijeg hakera ne predstavlja problem, jer on će jednostavno naći tu If then liniju i ukloniti je. Zbog toga, moraš da napraviš neki sistem koji će na više mesta da vrši proveru i opet valjalo bi ubaciti neku matematičku formulu koja može da utiče na izvršavanje programa. Recimo, ako negde imaš neki proračun tipa zbir = a + b, ti ga pretvoriš u a + b + c gde je c izračunat nekom matematičkom formulom koja će u slučaju ispravne registracije iznositi 0, ali ako je neispravna onda da bude recimo šta znam 12345 i onda će i dobijeni rezultat biti pogrešan. Naravno, ovo je metoda koju ne treba koristiti u komercijalnim aplikacijama, jer onda lako može da se desi da s pročuje da tvoj program ne radi dobro, tj. da izbacuje pogrešne rezultate, a ti posle objasni ljudima da je to vrsta zaštite. Međutim, ako se kao u tvom slučaju štitiš od kolega, ovo može biti ok metod. Ako već praviš komercijalnu aplikaciju, onda možeš da iskoristiš sličan metod, ali tako što ćeš umesto pogrešnog rezultata da izbaciš poruku "Program nije registrovan i sada će se zatvoriti. Molim kupite licencu" ili slično. U svakom slučaju, na što više mesta napraviš neku verifikaciju ispravnosti licence, to je program zaštićeniji i manja je šansa da će se neko zezati da krekuje program, jer ipak, nije problem na jednom mestu skinuti proveru, ali ako ih ima na 10-50-100 mesta, pa još ako su zakomplikovane nekim formulama koje su na nekom drugom mestu u kodu, tako da potencijalnom krekeru bude isplativije da sam napiše ceo program, nego da se zeza da krekuje tvoj, vrlo brzo će odustati.

E sad, šta god uradiš, treba da budeš svestan da savršena zaštita postoji i da ako se nađe neko ko je dovoljno uporan, a uz to ima dovoljno znanja, on će to razbiti, pa ne znam šta da je. Uostalom, znaš li neki komercijalni proizvod koji još nije krekovan :) Mislim, eno i MS ulaže silne pare u zaštitu, pa opet izađe crack za Windows i pre nego što je sam Windows izašao na tržište. Tako da, na zaštitu nikako ne treba gledati kao na nešto što će sprečiti da se tvoj program piratuje, za to služe sudovi i tužbe, već kao na nešto što će sprečiti prosečne i nešto iznad-prosečne korisnike da tvoj softver razbiju, a u isto vreme učiniti krekovanje tvog softvera dovoljno teškim da se krekerima ne isplati da isti krekuju i podele keygen sa drugima.

Nego da skratim... ako ćeš da se baviš zaštitom... pretraži internet sa "software protection", "creating trial version", "copy protection" i slično i naravno na kraju svake fraze dodaš VB6 radi preciznije pretrage i sigurno ćeš naći nekoliko primera. Takođe, ako te mrzi da praviš sam svoju zaštitu... pogledaj kontrolu activelock
http://www.activelock.com/
koja je besplatna i služi upravo da zaštiti aplikaciju koju si napisao.

Što se tiče ovoga pod 3, radi se o tome da nešto nisi dobro zatvorio (najverovatnije neku formu), tako da, pogledaj ovaj link koji je picard ostavio
http://www.dreamincode.net/code/snippet2361.htm
prema nekom mom iskustvu, to je definitivno najbolji način za zatvaranje aplikacije.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
93.87.215.*



+5 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...26.07.2009. u 19:25 - pre 179 meseci
Hvala ti na iscrpnom odgovoru, sve mi je jasno samo sam pre ovoga nekako shvaatao da crack-ti neki program i nije tako lak posao za iskusnog crack-ra.E sad, sve ovo sto si naveo, za neki hardver ili hd ja to zapravo i hocu, pa sam stoga postavio pitanje kako da izvucem brojeve iz s.n. hd-a i mnozim ih (tada sam mislio da je to perfektna zastita) :D ali sada shvatam da bas i nije
Kao sto mozes zakljuciti ja imam nesto malo znanja, program nije komercijalan ali ideja i sama sustina kao i primer da jednostavna verzija toga moze da radi, moze NEKOGA zaintrigirati a samim tim ta ideja i naplatiti...sve u svemu da bude jasnije, firma sa osrednjim kapitalom, nestrucnim kadrom, sve po sistemu "sto kompjuterski kad moze i rucno" a prosek po godinama zaposlenih od 40 pa navise...
Iz gore navedenog razloga pominjem zastitu, i mozda eventualni strah da ce neko iz konkurentne firme ukrasti ideju i platiti nekog da isto provali na koji nacin radi te vapim za pomoc...ali ne tako glasno posto uljeza ima i ovde (konkurenata) :D
Sve u svemu, hardver + matematika + na vise puta u kodu a ako se crack-ru vise isplati da provaljuje umesto da skapira kako to radi i napravi i naplati vise onda neka radi crack :D

Hvala jos jednom a za ovaj kod sa If i Else gde sam se spetljao prilikom poziva nekog txt i provere da li je tu...!?Ako imas vremena ili neko drugi dobro bi mi dosla pomoc!
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...26.07.2009. u 20:53 - pre 179 meseci
Citat:
sve mi je jasno samo sam pre ovoga nekako shvaatao da crack-ti neki program i nije tako lak posao za iskusnog crack-ra.

Pa dobro si shvatio, i nije lako krekovati program, čak ni za iskusnog krekera. Iskustvo mu olakšava utoliko što će lakše provaliti kakva je zaštita korišćena i šta otprilike treba da gleda, ali je krekovanje poprilično pipav posao. Doduše, ovako kako sam ja opisao deluje kao laganica, ali to je zato što sam se trudio da skratim koliko god je moguće. Recimo, ovo što sam rekao za traženje i uklanjanje If... Then... Else... zvuči poprilično lako, ali nije... Treba prvo naći pravi If... Then... Else, jer gotovo svaki program, pogotovo ako je malo kompleksniji obično ima nekoliko takvih grananja, a ako ukloni pogrešan, pokvariće funkcionalnost aplikacije i onda ništa nije uradio. A i samo traženje tih grananja u exe fajlu predstavlja izazov, jer ne postoji aplikacija koja će ti na tacni dati source code iz exe fajla, nego se koristi gomila alata kao što su hex editori, debuggeri i slično da bi se pratio rad programa, a onda se na osnovu iskustva naslućuje šta je šta i šta bi trebalo izmeniti/ukloniti. Prema tome, ako tvoja aplikacija nije dovoljno interesantna za neke šire narodne mase, i takva zaštita će biti dovoljna, jer retko ko će da se upušta u taj poduhvat. Ono što sam rekao o pravljenju komplikovanije zaštite, odnosilo se na to ako hoćeš da komercijalizuješ zaštitu, pa da maksimalno otežaš posao potencijalnim krekerima.
Citat:
sve u svemu da bude jasnije, firma sa osrednjim kapitalom, nestrucnim kadrom, sve po sistemu "sto kompjuterski kad moze i rucno" a prosek po godinama zaposlenih od 40 pa navise...

Pa što ne kažeš tako. U tom slučaju, biće dovoljno da ako primetiš da ti je neko uzeo progra, jednostavno izvučeš kabl od miša, pa da nedelju dana traže kvar :)
Šalu na stranu, u takvoj situaciji se ja ne bih mnogo zamlaćivao sa zaštitom... jednostavno hardkodiraš očitavanje hard diska i ako nije tvoj hard disk u pitanju, lepo ne dozvoliš startovanje aplikacije... ne trebaju ti nikakvi eksterni fajlovi i slično. Kod za očitavanje serijskog broja hard diska možeš naći i ovde na forumu, a i po netu. Evo recim imaš ovde nešto
http://www.elitesecurity.org/t52038
http://www.elitesecurity.org/t257173
ili google u šake pa kucaj "read hd serial number vb6" ili "get hd serial number vb6" ili kombinuj i dobićeš gomilu primera
Citat:
Hvala jos jednom a za ovaj kod sa If i Else gde sam se spetljao prilikom poziva nekog txt i provere da li je tu...!?Ako imas vremena ili neko drugi dobro bi mi dosla pomoc!

Pa ništa, imaš funkciju Dir sa kojom možeš proveriti da li postoji neki fajl. Recimo staviš ovako nešto u Form_Load
Code:
Dim strText As String
Dim fn As Integer
If Dir("C:\registracija.txt") = "" Then 'fajl ne postoji
   MsgBox "Program nije registrovan", vbInformation, App.Title
   Unload Me
   Set Form1 = Nothing
   Exit Sub
Else 'postoji fajl
   fn = FreeFile
   Open "C:\registracija.txt" For Input As #fn
   Line Input #fn, strText
   Close #fn

   If strText <> "ABCD-EFGH-IJKL-MNOP" Then 'recimo da je ovo ispravan kod koji treba da se nalazi u text fajlu
      Msgbox "Pogresan registracioni fajl", vbInformation, App.Title
      Unload Me
      Set Form1 = Nothing
      Exit Sub
   Else
      'program je regiostrovan, uradi nesto drugo, recimo otvori novu formu ili jednostavno nastavi sa radom
      Exit Sub
   End If
End If

Naravno, kao što rekoh, to sad treba malo zakomplikovati, jer ako koristiš isti kod, neko treba samo da prekopira fajl na drugi komp i program će raditi. zato lepo uzmeš, pa dodaš serijski HD-a u fajl, ili na osnovu HD-a i registracionog ključa napraviš neku vrednost, recimo jednostavan način bi bio
Code:
Dim I As Long
Dim strHDSN As String
Dim lngTransposeKey As Long
Dim strResultKey As String
Dim fn As Integer

strHDSN = GetHDSerialNumber
lngTransposeKey = 1 + 2 + 3 + 4 + 5 + 6

For I = 1 To Len(strHDSN)
   strResultKey = strResultKey & Chr$(Asc(Val(Mid(strHDSN, I, 1))) + lngTransposeKey)
Next I

fn = FreeFile
Open App.Path & "\licence.txt" For Output As #fn
Print #fn, strResultKey
Close #fn


I onda strResultKey upišeš u fajl, to je kao neki registracioni ključ baziran na serijskom HD-a. I onda koristiš isto ovo kada vršiš proveru u fajlu i ako se strResultKey ne slaže sa onim što je upisano u fajlu (a ako je fajl prekopiran i neće se slagati jer nije isti serijski broj HD-a), program se neće startovati i to je to. Evo kako bi izgledao ceo kod.

Dakle, registrator (program koji ćeš kreirati licencni ključ bi izgledao ovako)
Code:
Dim I As Long
Dim strHDSN As String
Dim lngTransposeKey As Long
Dim strResultKey As String
Dim fn As Integer

strHDSN = GetHDSerialNumber
lngTransposeKey = 1 + 2 + 3 + 4 + 5 + 6

For I = 1 To Len(strHDSN)
   strResultKey = strResultKey & Chr$(Asc(Val(Mid(strHDSN, I, 1))) + lngTransposeKey)
Next I

fn = FreeFile
Open App.Path & "\licence.txt" For Output As #fn
Print #fn, strResultKey
Close #fn

ovo smestiš u Command Button click event recimo, nazoveš dugme "Kreiraj licencni fajl za ovaj računar" i kompajliraš kao exe. kada pokreneš aplikaciju, trebalo bi da ti kreira license.txt fajl u istom folderu gde ti je exe fajl koji si pokrenuo. Taj license.txt fajl ti postaje licencni fajl za taj računar. A ako hoćeš da zakomplikuješ neiskusnim korisnicima, možeš jednostavno da koristiš neku drugu ekstenziju umesto txt, recimo lic i dobar deo njih neće umeti da je otvori u Notepadu, mada i da otvori, videće samo nekakav vrljav tekst koji neće znati kako je dobiven, a na drugom računaru osim na onog na kome si kreirao fajl neće raditi. Onda u tvojoj aplikaciji gde proveravaš registraciju uradiš ovo

Code:
Dim strText As String
Dim fn As Integer
Dim I As Long
Dim strHDSN As String
Dim lngTransposeKey As Long
Dim strResultKey As String

If Dir("C:\registracija.txt") = "" Then 'fajl ne postoji
   MsgBox "Program nije registrovan", vbInformation, App.Title
   Unload Me
   Set Form1 = Nothing
   Exit Sub
Else 'postoji fajl
   fn = FreeFile

   strHDSN = GetHDSerialNumber
   lngTransposeKey = 1 + 2 + 3 + 4 + 5 + 6

   For I = 1 To Len(strHDSN)
      strResultKey = strResultKey & Chr$(Asc(Val(Mid(strHDSN, I, 1))) + lngTransposeKey)
   Next I

   Open "C:\registracija.txt" For Input As #fn
   Line Input #fn, strText
   Close #fn

   If strText <> strResultKey Then
      Msgbox "Pogresan registracioni fajl", vbInformation, App.Title
      Unload Me
      Set Form1 = Nothing
      Exit Sub
   Else
      'program je regiostrovan, uradi nesto drugo, recimo otvori novu formu ili jednostavno nastavi sa radom
      Exit Sub
   End If
End If

I to je otprilike to. Naravno, GetHDSerialNumber funkciju ćeš morati sam da napraviš (koristi primere koje sam ti dao). Samo imaj u vidu da ovo nije neka ne znam ni ja kakva zaštita, ali će sprečiti prosečne korisnike da lako prekopiraju program i koriste ga. A ti ako hoćeš nešto bolje, možeš malo da razradiš ovo, recimo da dodatno enkriptuješ fajl, da malo zakomplikuješ formulu kojom se dobija registracioni ključ, da koristiš registry bazu umesto text fajla sa nekim kriptičnim nazivom ključa, da vršiš proveru na više mesta u kodu, da koristiš ključ dinamičke dužine... itd. opcija je bezbroj.

E da, kod sam pisao iz glave i nisam siguran da baš sve radi kako treba, tako da nije isključeno da će zahtevati neke sitnije izmene.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
93.87.215.*



+5 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...26.07.2009. u 23:16 - pre 179 meseci
Malo sam zakasnio pa sada nemam vremena da proverim da li radi ali odgovoricu ti kad stignem - napisacu ti kako sam ja to zamislio:

Imam jako koristan program (vb6 - source) za citanje sn harda
Pomocu njega ocitam broj a na "sacuvaj" "oteram" txt zajedno sa njim u neki folder da ne kazem u p...m...
Iz programa ga vucem a ako ga nema treba da nastupi ono sto sam okacio ali nisam se snasao najbolje sa tim petljama ili kako se vec zovu, sada si mi otezao stvar :D imam da ucim celu nedelju dana :D
E sad da bih malo otezao stvar mada s' obzirom da ne treba previse, pomocu izdvajanja brojeva iz serai number-a i matematickom operacijom hteo sam nesto brckati i u onaj txt koji sam pomenuo sacuvati konacan broj
Dakle onda bi za 5 racunara u mojoj firmi na svakom bio razlicit source programa jer bi u tom slucaju hardovi bili drugaciji, jedino bi bio isti txt t.j. na istom mestu
Hvala jos jednom
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...26.07.2009. u 23:58 - pre 179 meseci
E sad si i mene zbunio. Ne znam šta tačno hoćeš, ali nema smisla praviti 5 različitih exe fajlova koji rade sa jednim fajlom, mnogo je logičnije imati različite fajlove za svaki komp, a isti exe, tj. u njemu ne menjati ništa. To je upravo ovo što sam ti dao. Prvo napraviš onaj program koji možeš zvati registrator i njime na svakoj mašini praviš ključ jedinstven za tu mašinu.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
93.86.99.*



+5 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...27.07.2009. u 22:12 - pre 179 meseci
Izvini sto me nema, evo sad sam razradjivao nesto... Medjutim ja ne mogu da shvatim bas najbolje kako to funkcionise
Evo kako ja mislim da to radi:
Recimo da imamo 5 neregistrovanih programa
Svaki pojedinacno je ustvari isti exe koji u sebi ima sledeci kod :
Code:
Dim strText As String
Dim fn As Integer
If Dir("C:\registracija.txt") = "" Then 'fajl ne postoji
   MsgBox "Program nije registrovan", vbInformation, App.Title
   Unload Me
   Set Form1 = Nothing
   Exit Sub
Else 'postoji fajl
   fn = FreeFile
   Open "C:\registracija.txt" For Input As #fn
   Line Input #fn, strText
   Close #fn

   If strText <> "ABCD-EFGH-IJKL-MNOP" Then 'recimo da je ovo ispravan kod koji treba da se nalazi u text fajlu
      Msgbox "Pogresan registracioni fajl", vbInformation, App.Title
      Unload Me
      Set Form1 = Nothing
      Exit Sub
   Else
      'program je regiostrovan, uradi nesto drugo, recimo otvori novu formu ili jednostavno nastavi sa radom
      Exit Sub
   End If
End If


Sa druge strane imam registrator odnosno kod koji poziva serial number HD-a, radi nesto sa njim i kao krajni dobije neku zvrljotinu koja ce biti jedinstvena za taj racunar...
Ali ono sto ne shvatam je, kako ce onda program znati da je na mestu npr."C:\registracija.txt" kod koji je ispravan...
Da bi znao umesto ovoga
Code:
If strText <> "ABCD-EFGH-IJKL-MNOP" Then 'recimo da je ovo ispravan kod koji treba da se nalazi u text fajlu

ta zvrljotina upravo treba i da stoji!?Ako je tako znaci da ja uvek, za svaki racunar posebno trebam kreirati SN pomocu registratora a onda dobijeni kod upisati u predhodno otvoren source programa!?Ispravi me ako gresim?
Evo saljem i source HD-a koji sam obradio...U sustini meni nije tesko da za svaki poseban racunar otvaram source i ubacujem kod koji ce da cita...ali ako se vratimo na pocetak oko onoga oko crackovanja, cemu onda matematike i mat.operacija ako cracker moze odmah da ocita gotov kod a koji je kao uslov t.j. ovo "ABCD-EFGH-IJKL-MNOP"
Prikačeni fajlovi
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...27.07.2009. u 22:47 - pre 179 meseci
Ne, poenta onog mog posta je da ne treba da menjaš source code za svaki računar. Ti izgleda gledaš prvi deo mog odgovora, a treba da gledaš drugi deo. Ako pogledaš videćeš da deo koji proverava ispravnost registracije radi isto što i registrator, dakle izračunava ispravan ključ za taj računar. E sad, razlika je u tome što registrator uzima ispravan ključ, kerira licencni fajl i u taj fajl upisuje izračunati ključ, dok aplikacija izračunati ključ koristi da ga uporedi sa onim što je u licencnom fajlu i ako se poklapaju registracija je ispravna, u suprotnom nije (tj. ili je fajl prekopiran sa nekog drugog računara ili ga uopšte nema). Dakle, nemoj da gledaš prva 2 code blocka, tu sam ti samo dao primer kako da otvoriš fajl, pročitaš vrednost, uporediš... nego gledaj druga dva code blocka gde se umesto fixnog ključa "ABCD-EFGH-IJKL-MNOP" koristi dinamički generisan ključ.

Btw, nisi lepo okačio projekat, fali forma, ali nebitno... uglavnom rekao sam ti na šta da obratiš pažnju i trebalo bi da radi.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
79.101.174.*



+5 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...30.07.2009. u 00:36 - pre 179 meseci
Cao Marko, samo da se javim da sam uspeo napraviti registraciju.Poenta je bila sto ono GetHDSerialNumber nije funkcionisao, pa sam dosao na ideju da iskoristim kod koji sam nasao negde na forumu i njega predstavim u text2.text a zatim ga umesto ovog GetHDSerialNumber predstavim kao text2.text, njega sam stavio na hide tako da se ne vidi kada se aplikacija otvori i sve funkcionise ok osim jedne stvari:
ja sam umesto ovoga

Code:
strHDSN = GetHDSerialNumber
lngTransposeKey = 1 + 2 + 3 + 4 + 5 + 6

ovo odradio ovako
Code:
strHDSN = text2.com
lngTransposeKey = 123

misleci da je ono 1 + 2 + 3 + 4 i t.d. zapravo mat.operacija koju si ti uprostio a ja je trebao razviti ali posle upisa trocifrenog broja 123 meni se pojavljuju neki herogligi u txt koji izgledaju ovako ««®««­««¬«¬²°² te mi nije jasno sta je sad to ...
Takodje meni on izdvaja tekst odnonso slova a ne brojeve, pa ako bi mi mogao objasniti sta radi ovaj kod bio bih ti zahvalan jos jednom :D

Code:
 strHDSN = GetHDSerialNumber
   lngTransposeKey = 1 + 2 + 3 + 4 + 5 + 6

   For I = 1 To Len(strHDSN)
      strResultKey = strResultKey & Chr$(Asc(Val(Mid(strHDSN, I, 1))) + lngTransposeKey)
   Next I
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...30.07.2009. u 01:45 - pre 179 meseci
Pa i jeste matematička operacija, čisto da se malo oteža nekome ko bi možda pogledao exe pomoću nekog hex editora. Umesto toga možeš da upišeš i 21 ili 123 kao što si i sam primetio. Hijeroglifi koji se pojavljuju je enkriptovani serijski broj hard diska, a enkriptujemo ga čisto da korisnik ne bi mogao tako lako da otvori fajl i upiše serijski svog harda i koristi program, nego bi prvo morao da provali kako da ga enkriptuje, a da programu bude čitljiv. Naravno, kao što sam rekao, ovo je jako rudimentalna zaštita, jer em je bazirana samo na serijskom broju hard diska, em je enkripcija do zla Boga prosta, ali poslužiće da spreči prosečne korisnike računara da na jednostavan način prekopiraju i koriste aplikaciju. Naravno, može da posluži i kao osnova za neku ozbiljniju zaštitu.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
93.87.191.*



+5 Profil

icon Re: gasenje programa iz memorije, objasnjenje za kod time...30.07.2009. u 16:37 - pre 179 meseci
aha, hvala
ako budes mogao pogledaj http://www.elitesecurity.org/t...tnik-combobox-neka-pojasnjenja jos neka pitanja (nisam zeleo otvoriti novu temu)
poz
 
Odgovor na temu

[es] :: Visual Basic 6 :: gasenje programa iz memorije, objasnjenje za kod time...

[ Pregleda: 1932 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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