[ *.net @ 25.08.2002. 16:30 ] @
| Program sam prvo stavio na masinu koja je imala 98micu i registrovao na seriski broj harda. Onda sam na tu istu masinu stavio 2000 profesional i seriski je bio drugaciji. Sta vise bio je to negativan broj. Zatim sam taj isti disk na istoj masini konvertovao u NTFS jer je bio na fat32 i ponovo se promenio serial. Mislio sam da je to seriski broj koji se zadaje u fabrici jos kada se hard proizvede. Onda mi je jedan drug koji "valja" kompnente rekao da se serial moze obrisati sa low level formatiranjem sto i nije neki problem jer u tom slucaju program ponovo nece raditi jer zahteva broj na koji je registrovanm. Ali, pitam se ako neko gostuje disk sa registrovanim programom moze da to sve prebaci na drugu masinu i da onda program radi bez moga znanja?
API funkcija koja sam koristio je GetVolumeInformation
p.s.Ima li neko predlog kako najbolje zastititi svoj program? |
[ steffa @ 25.08.2002. 18:43 ] @
Mislim da poruka nije za ovaj forum, ali sve jedno.
API funkciju koju si koristio vraća informacije o zadatoj particiji a ne disku.
Odkucaj DIR na svakoj particiji i videćeš njihove serijske brojeve.
[ *.net @ 25.08.2002. 19:35 ] @
da particija, daaa.
pa sto nije, to sam kucao u netu, a i bila bi fora da si nekom moderatoru posalo privatnu poruku da mislis da nije poruka za ovaj forum :) tuzibabooo.
kako moze da se uzme pravi serial, molim vas odgovorite mi.
[ Dragi Tata @ 25.08.2002. 19:57 ] @
Pitanje zaista nije za ovaj forum, ali strogo gledano, nije ni za jedan drugi forum, pa nećemo da ga brišemo.
Međutim, moraću da te razočaram odgovorom. Koliko ja znam (a video sam da se isto pitanje postavlja puno puta po raznim programerskim forumima), nema načina da programskim putem dođeš do tog broja.
[ steffa @ 26.08.2002. 13:52 ] @
Nijedna zaštita nije dugovečna.
Kada bih vršio zaštitu svog programa verovatno bih uradio varijaciju već neke oprobane (na primer Borland-ove).
[ jc denton @ 26.08.2002. 19:50 ] @
Mozda ne bi bilo lose da neko ko radi u C/C++ -u pogleda i ovu stranicu :
http://www.winsim.com/diskid32/diskid32.html
Mozda je ovo prava stvar.
pozdrav
[ jc denton @ 27.08.2002. 00:36 ] @
Evo otvorio sam mašinu i pogledao serijski broj na nalepnici mog harda.
Zamislite, posle starta diskid32.exe on vraća baš taj broj !
Lepo bi bilo, a i korisno za sve ovde prisutne, kada bi neki C++ programer prebudžio sors koji je dat ili da bar objasni kako da napravimo dll i neku funkciju koju bi mogli da zovemo iz VB-a, .NET programa, Delphi-ja itd.
Evo linkova za source od diskid32.exe :
http://www.winsim.com/diskid32/diskid32.cpp
http://www.winsim.com/diskid32/diskid32.dsp
http://www.winsim.com/diskid32/diskid32.dsw
Nemanja ;), pozdrav
[ Dragi Tata @ 27.08.2002. 00:48 ] @
Pogledaću, obećavam, a možda i napravim neki dll koji bi omogućio da se to radi iz drugih programskih jezika.
Daj mi samo par dana, jer sam malo u gužvi.
[ jc denton @ 27.08.2002. 00:55 ] @
Što se mene tiče, može i za dva meseca, ionako nisam planirao u skorije vreme da prodajem neki moj program :o) .
pozdrav
[ *.net @ 27.08.2002. 12:12 ] @
oOoO cekamo te tata, oOoO cekamo te tata :)
[ steffa @ 27.08.2002. 13:32 ] @
Uradio sam dll, samo jos da vidim kako da ga izbacim na server?
[ steffa @ 27.08.2002. 13:56 ] @
drugi deo.
[ jc denton @ 28.08.2002. 00:32 ] @
Steffa, baš lepo od tebe, a gde je source za taj dll ?
Još lepše bi bilo da još neko može da vidi o čemu se tu radi, a ne ovako - ko zna šta radi taj tvoj dll; možda je virus ? ;). Pored toga, na ovim forumima je običaj da se i sors priloži uz objašnjenje koga takodje nema :(.
Ipak da sačekamo Nemanju ... a imam i jedan predlog. Ova tema, po meni odgovara baš ranoj elitesecurity koncepciji - 'SECURITY'. Pretraživanjem starih poruka nisam našao neki sors ili neko iscrpno objašnjenje kako da se zaštiti softver. Zato, predlažem da se ova tema prebaci u neki podobniji forum (Art of Programming ?), i prodiskutuje se na pravi način. Možda bi zajedničkim radom i sveobuhvatnijim pristupom problemu moglo da se dodje do nekog univerzalnog rešenja za zaštitu softvera koje je 'izniklo' u elitesecurity zajednici.
Šta mislite o tome ?
Pozdrav
[ steffa @ 28.08.2002. 13:44 ] @
Izvini, mislio sam da ti je potreban dll a ne kod. Za zainteresovane sledi objašnjenje.
Source je isti onaj koji si skinuo sa navedenog sajta. Ako pogledaš funkciju main() videćeš da sve što ona radi je to, da poziva funkciju getHardDriveComputerID () i prihvata vraćenu vrednost (tj. ID tvog HDD-a). Sve što treba da uradiš je sledeće:
- obrišeš main() ili staviš kao komentar
- eksportuješ funkciju getHardDriveComputerID () kako bi se ona videla van dll-a (ja sam to uradio dodavanjem hedera i njegovim pozivom iz koda)
- obrišeš liniju #define PRINTING_TO_CONSOLE_ALLOWED ili staviš kao komentar, kako ne bi vršio ispis u konzoli
- i program kompajliraš kao dll.
Vidim da većina vas koristi VC++, a ja Borland C++ Builder 5, takoda ne znam tačno na koji način treba kompajlirati kod u dll. Meni je bilo dovoljno da u vizardu odaberem "DLL" i da mi kreira početni kostur.
Verovatno te je razlika u veličini dll-a (55k) i exe (44k) navela na razmišljanje o virusu. Razlika se javlja zbog različite veličine hedera koji su uključeni kod različitih kompajlera. Iskompajliraj kod sebe i viećeš. Uostalom, verovatno imaš neki visus skener...
Još jedna stvar. Ukoliko pogledaš kod videćeš da su četiri stukture stavljene pod komentar. To je zato što su one već definisane u hederima kod Borlanda. U stvari, mislim i da je kopirano od Borlanda jer su i komentari isti.
Naravno, okačiću source projekta za BC++.
Ne bi bilo loše da neko da kratak kod za korišćnje ove funkcije iz .Net-a.
[ *.net @ 02.09.2002. 22:56 ] @
Nemogu nikako da ubacim tvoj dll u projekat vb-a (ni u 6 ni u vb.net). Treba li nesto posebno da uradim osim add reference pa dll? Mislim na lib i onaj header.
[ jc denton @ 03.09.2002. 11:01 ] @
Mislim da nije potrebno da dodajes referencu na taj dll posto on nije COM server iliti Active X dll (ovo mi je Nemanja jednom prilikom objasnio). Samo kazes u deklaraciji funkcije putanju do njega i to je to.
poz.
[ *.net @ 29.09.2002. 09:38 ] @
Moze li neko od boljih da prevede ovaj kod u VB.NET ili barem ako je neko probao da kaze kako da koristim ovaj dll. Ja pokusavam vec dugo ali jednostavno ne mogu nista da pozovem iz dll-a.
[ jc denton @ 05.09.2003. 08:29 ] @
Evo, napokon mi je ovo zatrebalo, prvo deklaracija u modulu recimo:
Public Declare Function getHardDriveComputerID Lib "serial.dll" () As Long
Primer za koriscenje funkcije :
Dim ret As Long
ret = getHardDriveComputerID()
Fajl serial.dll je zakacen uz poruku.
[ igorpet @ 16.01.2004. 13:22 ] @
jc denton nadam se da necu cekati godinu dana na odgovor kao *.net.
Ako mozes budi brzi.
Jasno mi je na osnovu prethodnih poruka sta daje getHardDriveComputerID() kada je recimo serijski broj diska kombinacija slova i brojeva, na pr.
ako je ser.br.diska B189WC3E getHardDriveComputerID() daje 111 923 244
ali mi nije jasno sta daje getHardDriveComputerID() kada je ser. br. diska samo broj
ako je ser.br.diska 792 110 176 460 getHardDriveComputerID() daje 183 619 399 6
Da li postoje dva razlicita nacina kodovanja (za tekst i broj)?
I da li mozemo znati kako Serial.dll vrsi kodovanje serijskog broja diska u ComputerID?
Ovo me je zbunilo jer kada je ser.br.diska WD-WT2895409538 (WD disk) getHardDriveComputerID() daje -139 955 775 8.
Interesuje me zasto vraca negativan broj (ili je to crtica)? I interesuje me duzina tj. format broja koji vraca getHardDriveComputerID().
Ako moze kompletan kod za Serial.dll bilo bi odlicno a ako ne moze barem kod za kodovanje ser.broja diska u getHardDriveComputerID().
Zahvaljujem unapred.
[ flighter_022 @ 17.01.2004. 00:12 ] @
Zastita upotrebom serijskog broja diska je zgodna... Ali za DOS su postojali programcici koji su taj serijski broj mogli da podese po vasoj volji, znaci zbogom zastito...
[ igorpet @ 21.01.2004. 12:32 ] @
Kako stvari stoje (jc denton ne odgovara) ipak cu cekati godinu dana na odgovor. Ako neko drugi zna odgovor na moje pitanje zamolio bih da ga objavi.
[ DamijanD @ 26.10.2004. 08:03 ] @
Hi. I am not very good at croatian language so I will use english...
Do you know that Computer ID, which is returned by this code, is genereted from last disk that is found (e.g. Secondary master) and that this disk could be used as a portable one (rack or sth...).
It is important to find out on which EIDE controller system disk is located! And this is my question. Does anyone know how to do it?
bye,
Damijan
[ Buck @ 28.03.2005. 17:09 ] @
Momci sve ovo nije lose na XP-u i verovatno Win 2000, ali ja sam malo eksperimentisao sa 98`micom gde ovaj dll ne pali.
Dodje do nekog loma tipa: ERROR Could not open IDE 21201.VXD file
[ ljube @ 29.03.2005. 16:35 ] @
šta je sa diskovima koji rade sa RAID kontrolerima.
Ja imam dva HD od 80GB koji prave jedan od 160GB.
Da li je neko razmišljao o ovome, koji ID će biti vraćen?
[ ranikolahdd @ 26.09.2005. 03:29 ] @
Ja mnogu da promenim serial na svakom hdd-u
Kod mene je na maxtoru pisalo kad radi autodetekciju/
"Nikola buzdio 40 giga
[ fLuXx @ 28.09.2005. 09:40 ] @
A kako to???
[ ranikolahdd @ 28.09.2005. 12:33 ] @
pa lako i lepo
[ Buck @ 28.09.2005. 16:55 ] @
Nikola, ja bih voleo saznati kako da dobijem ID HDD-a na temelju nekog koda iz aplikacije a ne da budzim (modifikujem) HDD ID. No, da me pogresno ne razumes svakako je interesantno ako taj ID moze da se menja!
[ ranikolahdd @ 28.09.2005. 18:39 ] @
Trebaju ti ata commande nisam siguran da bih zano da ti kazwm kako do da implementiras.
[ toxi_programer @ 28.01.2008. 21:48 ] @
U temi: http://www.elitesecurity.org/t308232-0#1840650 smo dogurali malo dalje kada je reč o dobavljanju ID-a procesora i HD-a, pa ako nekom zatreba... 
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|