IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @051
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Spoločnosti Online s.r.o.

Ponúkame čisté spoločnosti. Obchodný register vybavíme za vás! www.spolecnostionline.cz

TREND konferencia - Marketing

dá sa rásť, aj keď spotreba a rozpočty klesajú? Dozviete sa *12. júna 2012* www.etrend.sk

Poistenie nehnuteľnosti

V prípade núdze sa postaráme o Vaše náhradné bývanie - UNIQA Assistance www.uniqa.sk

Ako ste stratili hmostnosť.

Zistite jej tajomstvo pre dokonalé telo. Môžete dosiahnuť tieto výsledky tiež. www.janinblog.com

Detské drevené zábrany

Zábrany na posteľ, schody a do dverí. Tovar skladom. Rýchle dodanie. www.detske-ohradky.sk

[Delphi] Registracny kluc?

Zaslať odpoveď
AutorSpráva
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Ut 08.06.10 11:57Odpovedať s citátomNávrat hore

Ako by som mohol aplikaciiu odomykat klucom? Budem mat list vygenerovanych klucov a nenapada ma ako mam dosiahnut kontrolu v aplikacii ci je ten kluc spravny. Samozrejme ze do aplikacie nestrcim zoznam 20 klucov a nebudem prechadzat zoznam.
Zobraziť informácie o autoroviOdoslať súkromnú správu
Forty-
Užívateľ
Užívateľ

Založený: 01.04.2010
Príspevky: 343

PríspevokZaslal: Ut 08.06.10 12:18Odpovedať s citátomNávrat hore

Desktopka? Ja by som to ulozil do nejakej lightweight databazky ako SQLite kde by som mal ulozene nejake hashovane hodnoty toho zoznamu a tie by som porovnaval so zadanym klucom ktory by som dodatocne aj kryptoval podla struktury databazy.
Zobraziť informácie o autoroviOdoslať súkromnú správu
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Ut 08.06.10 12:38Odpovedať s citátomNávrat hore

ty myslis ze mat na webe hashovanu DB klucov, aplikacia posle kluc na web, ten prebehne zoznam a odosle tru/false?
Zobraziť informácie o autoroviOdoslať súkromnú správu
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Ut 08.06.10 12:47Odpovedať s citátomNávrat hore

Ide o shareware, klasika, trial a potom treba kluc. No ja by som sa len chcel vyhnut tomu aby som do programu strcil zoznam napr 100 klucov. Ono by bolo najlepsie to generovat a neobmedzovat to takto zoznamom.

A predpokladajme ze ten program ma fungovat aj bez netu. Cize riesit to externe cez web nechcem. 1 kluc = 1 user. To je tiez dovod preco by som tam nechcel strkat zoznam a porovnavat (sifrovane).
Zobraziť informácie o autoroviOdoslať súkromnú správu
Forty-
Užívateľ
Užívateľ

Založený: 01.04.2010
Príspevky: 343

PríspevokZaslal: Ut 08.06.10 12:50Odpovedať s citátomNávrat hore

Nie, myslim ze ta SQLite ma byt priamo sucastou programu. Ten zoznam bude v databaze (v pamati nepristupnej userovi) a hodnoty nebudu stringy ale kryptovane kluce, ktore sa tou kryptovaciou funkciou budu spatne porovnavat.

Inak je to bezpecnejsie mat ako pises na webe, ale ak chces aby to pracovalo offline tak musis aj takto ...

Mozno niekto pride s niecim lepsim, ale ja by som to zrejme riesil takto.

PS : Ta SQLite je len priklad. V principe sa jedna o embedded database, co to je a ako sa to pouziva najdes napriklad na tejto adrese : http://en.wikipedia.org/wiki/Embedded_database
Zobraziť informácie o autoroviOdoslať súkromnú správu
Fico
Skúsený užívateľ
Skúsený užívateľ

Založený: 11.01.2009
Príspevky: 1052

PríspevokZaslal: Ut 08.06.10 13:00Odpovedať s citátomNávrat hore

ha2 napísal:
Ono by bolo najlepsie to generovat

Akékoľvek generovanie alebo kontrola správnosti sériového čísla (alebo inej formy kľúča) sa dá v kóde vyhľadať. Dobrý druh ochrany je napríklad: po spustení aplikácie užívateľ zadá kľúč, ktorý sa použije na dešifrovanie DLL knižnice, z ktorej budú neskôr volané funkcie. Ak bol kľúč nesprávny, DLL nebude použiteľná. Žiadna kontrola tam neprebieha, takže úspech dešifrovania ja takmer nemožný (jediný úspech je vlastne vtedy, ak správny kľúč víjde "von" medzi verejnosť). No tu je zas nevýhoda iba jedného kľúča a ty zrejme chceš viac kľúčov. Tie sa ale kdesi v kóde musia porovnať a potom sa spustí aplikácia. Cracker buď nájde generovanie alebo jednoducho zmení jedinú inštrukciu, kde sa kontroluje správnosť (preto rozhodne nepouži niečo ako "if (generovanykluc = spravnykluc)" ale buď ho rozdeľ na viac časti alebo proste nejaký iný algoritmus).
Zobraziť informácie o autoroviOdoslať súkromnú správuICQ
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Ut 08.06.10 13:02Odpovedať s citátomNávrat hore

Forty- dik za tip. Ale tomuto som sa chcel vyhnut. Pretoze dajme tomu ze tam strcim 100 klucov a stiahne si to 150 ludi )) kluce sa minu :o). Preto som to chcel riesit generovanim ale hmm. Asi to fakt len na ten sifrovany zoznam spravim
Zobraziť informácie o autoroviOdoslať súkromnú správu
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 936

PríspevokZaslal: Ut 08.06.10 13:15Odpovedať s citátomNávrat hore

Fico, ani ta metoda nieje nepriestrelna, staci z programu zistit algoritmus decryptovania a nasledne bruteforce sposobom skusat rozne kluce , kedze dll musi mat predpisanu hlavicku je dost lahke overit ci bola dll spravne decryptovana. nepriestrelna metoda ani neexistuje, ved keby bola tak, neexistuje tolko warezov pokial ide o shareware tak decryptovanie nejakej dll je asi nepouzitelne lebo ta dll musi byt funkcna aj s trial klucom obmedzeny cas. jedine zeby trial verzia mala iba ciastocnu funkcionalitu a iba funkcie dostupne vo full verzii by boli obsiahnute v cryptovanej dll.
Zobraziť informácie o autoroviOdoslať súkromnú správu
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Ut 08.06.10 13:20Odpovedať s citátomNávrat hore

ono, neexistuje nepriestrelna metoda, otazka je, co sa tomu najviac priblizuje
Zobraziť informácie o autoroviOdoslať súkromnú správu
Fico
Skúsený užívateľ
Skúsený užívateľ

Založený: 11.01.2009
Príspevky: 1052

PríspevokZaslal: Ut 08.06.10 13:22Odpovedať s citátomNávrat hore

ha2 napísal:
A predpokladajme ze ten program ma fungovat aj bez netu
...
dajme tomu ze tam strcim 100 klucov a stiahne si to 150 ludi

Ako tvoj program bude vedieť, koľko kľúcov je v obehu, ak má fungovať offline ??? (ak som to pochopil správne a chceš na každého usera použiť práve jeden kľúč).
Už keď chceš pre každého usera špecifický kľuč, tak sa to rieši napríklad tak, že user zadá svoje meno a podľa tvojho algoritmu sa z mena vygeneruje kľúč, ktorý sa porovná s tým, ktorý mu ty zasleš pri registrácii.

coldak napísal:
Fico, ani ta metoda nieje nepriestrelna, staci z programu zistit algoritmus decryptovania a nasledne bruteforce sposobom skusat rozne kluce , kedze dll musi mat predpisanu hlavicku je dost lahke overit ci bola dll spravne decryptovana

Aj keby útočník zistil algoritmus dekryptovania, ak použiješ dostatočne dlhý kód, nie je šanca aby to dešifroval minimálne do konca tohto roka. A ty vôbec nemusíš meniť hlavičku, môžeš šifrovať iba stred, alebo všetko, je to proste na tebe.
Zobraziť informácie o autoroviOdoslať súkromnú správuICQ
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 936

PríspevokZaslal: Ut 08.06.10 13:25Odpovedať s citátomNávrat hore

vacsina softov to riesi tak ze vygenerovane kluce maju s pouzitim urciteho algoritmu rovnaky hash a ten je ulozeny priamo v kode. nieco podobne ako MD5 pri urcitej dlzke hashovanej hodnoty uz nedokaze zabezpecit jedinecnost vystupneho kratkeho hashu, takze niekolko hodnot na vstupe ziskava rovnaky hash
Zobraziť informácie o autoroviOdoslať súkromnú správu
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Ut 08.06.10 13:28Odpovedať s citátomNávrat hore

ten druhy citat nieje moj ale neva . Fico ano. Ale tak to robit (generovat na zaklade mena) z urciteho dovodu nebudem. Pretoze tie kluce budu uz pevne predgenerovane. Ale uz viem ako. Budem kluc delit na casti a kontrolovat na neaku podmienku. Tak sa aspon vyhnem zoznamu klucov v aplikacii. Reverznut sa to da vzdy a nerobim autocad cize naco mega zlozite opatrenia.
Zobraziť informácie o autoroviOdoslať súkromnú správu
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Ut 08.06.10 13:30Odpovedať s citátomNávrat hore

coldak napísal:
vacsina softov to riesi tak ze vygenerovane kluce maju s pouzitim urciteho algoritmu rovnaky hash a ten je ulozeny priamo v kode. nieco podobne ako MD5 pri urcitej dlzke hashovanej hodnoty uz nedokaze zabezpecit jedinecnost vystupneho kratkeho hashu, takze niekolko hodnot na vstupe ziskava rovnaky hash


ano tak som to chcel, ze si jednosmernou sifrou vygenerujem zoznam a ulozim do aplikacie. No a ked zaslem kluc (z ktoreho to bolo povodne generovane) program to znova prevedie a porovna. Ale je to obmedzene no
Zobraziť informácie o autoroviOdoslať súkromnú správu
stopa27
Užívateľ
Užívateľ

Založený: 19.09.2006
Príspevky: 729
Bydlisko: Ružomberok<->Bratislava (21)

PríspevokZaslal: Ut 08.06.10 14:20Odpovedať s citátomNávrat hore

ha2 napísal:
ten druhy citat nieje moj ale neva . Fico ano. Ale tak to robit (generovat na zaklade mena) z urciteho dovodu nebudem. Pretoze tie kluce budu uz pevne predgenerovane. Ale uz viem ako. Budem kluc delit na casti a kontrolovat na neaku podmienku. Tak sa aspon vyhnem zoznamu klucov v aplikacii. Reverznut sa to da vzdy a nerobim autocad cize naco mega zlozite opatrenia.


na oklamanie neznaleho nepriatela dobre, inak uplne nanic. Tak ci tak budes musiet mat nejaky zoznam klucov, ktore budu musiet mt nejaku vlastnost, cim spravis cracknutie o trochu zlozitejsim, no rataj s tym, ze bez poriadnej antidebugovacej metody to aj tak nebude mat zmysel.

_________________
Quick memory editor 5.5 (RAW 0xFC58C) : Hi crackers, please don't crack me. Thank you!
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkypeFacebookZobraziť autorove WWW stránky
Forty-
Užívateľ
Užívateľ

Založený: 01.04.2010
Príspevky: 343

PríspevokZaslal: Ut 08.06.10 16:44Odpovedať s citátomNávrat hore

Ako by ste zlomili ten moj navrh? Nechcem vyryvat, ale zaujima ma to.
Predpokladajme funkciu databazoveho jazyka s nazvom HASH (nieco ako MD5 ale pokrocilejsie).

Teraz napisem pseudokod. V delphi som uz dlho nerobil tak to bude nejaka Java :
kód:

String kluc = klucTextField.getText();
// ideme na db kod, kluc je premenna hore zadefinovana
Connection con = new Connection(server_ip, db_name);
//spojenie k embedded databaze
Statemet st = con.createStatement();
int hasKey = st.executeQuery("SELECT count(*) FROM kluce WHERE orig_kluc = HASH(kluc)");
if (hasKey > 0) {
  // uspech
  // teraz a treba zamysliet, ci predsa len chcem kompletne offline program
  // lebo jeden spravny kluc moze pouzivat viacero ludi
  // chcelo by to update databazy
} else {
  // neuspech - zly kluc
}
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd