Program futattása USB-n keresztül

Program futattása USB-n keresztül
2006-06-29T17:13:31+02:00
2006-07-12T10:48:02+02:00
2022-10-31T14:00:45+01:00
nber
Sziasztok!


Azon gondolkoztam, mi van akkor, ha a programod egy részét egy külső usb-s eszközön tárolod, és onnan futtatod.
Arra gondoltam, hogy Flash memórián tárolod Mikrovezérlőt rakni mellé, ami végzi a kommunikációt, illetve dekódolást.
A futtatandó programrészlet egy tetszőleges algoritmus szerint lenne kódolva tárolva a Flash memórián.
Amikor a pc-n futó program eljut ahhoz a részhez, akkor az usb-s eszközön lévő programrészletnek kellene futnia.


Nagyon vad az elképzelés?
Ott akadtam, el, hogy hogyan csináljam meg, hogy a külső eszközön lévő programrészletet lehessen futtatni a PC-s programbol.


Előre is köszi az ötleteket/ elképzeléseket.

By Nber...
Mutasd a teljes hozzászólást!
Az elgondolas tokeletes, mukodokepes, mar tobbszor tertem ki erre a ProgHun belul...

Ott akadtam, el, hogy hogyan csináljam meg, hogy a külső eszközön lévő programrészletet lehessen futtatni a PC-s programbol


Pedig itt szabad kezed van, a megvalositast illetoen!!! A lenyeg, hogy valamilyen tetszoleges interfeszt kell letrehoznod a felhasznaloi programok(gyak sajat magadnak) fele, ami lehet akar HID, CDC, vagy teljesen szabvanytalan is akar. A lenyeg ugysem ezen van, akar sima soros portot is emulalhatsz, ugysem lehet vele mit kezdeni, mivel Te allapitod meg milyen formalyu kommunikaciot fogad el a kulcs, es ad ra(helyes) valaszt...
Ezt feltorni nem lehet!!!!

Ide alapbol olyan mikrovezerlot erdemes hasznalni, aminek elegendo a programmemoriaja nehany lenyegesebb funkcio megvalositasahoz, mert akkor nem kell kulon vedeni a memoriat olvasas ellen, a mikrovezerlot magat veded le.
Ezekutan belole csak az altalad megvalositott interfeszen keresztul lehetne kiolvasni a tartalmat(elmeletileg-gyakorlatilag, az is fizikailag van vedve), de az meg annyira sem ismert, mint a mikrovezerlo fizikai olvashatosaga.

Mindossze jol at kell gondolni, mik azok a fuggvenyek, amiket meg meg tudsz valositani belathato erovel a mikrovezerloben...

Mutasd a teljes hozzászólást!

  • Most te akkor hardverkulcsot akarsz csinálni egy pendriveból?
    Mert akkor egy jócsomó problémával kellene megküzdeni, szerintem felejtős.
    (különben 1 óra alatt felnyomják)

    Persze lehet nem is erre gondoltál?
    Mutasd a teljes hozzászólást!
  • Egy programból lehet indítani egy másik programot, vagy egy külső dll-ben lévő dolgokat el lehet érni.
    De nem igazán értem ezt a kódolásos dolgot. Hardverkulcsot akarsz csinálni vagy mi a célod a dologgal?
    Mutasd a teljes hozzászólást!
  • Az elgondolas tokeletes, mukodokepes, mar tobbszor tertem ki erre a ProgHun belul...

    Ott akadtam, el, hogy hogyan csináljam meg, hogy a külső eszközön lévő programrészletet lehessen futtatni a PC-s programbol


    Pedig itt szabad kezed van, a megvalositast illetoen!!! A lenyeg, hogy valamilyen tetszoleges interfeszt kell letrehoznod a felhasznaloi programok(gyak sajat magadnak) fele, ami lehet akar HID, CDC, vagy teljesen szabvanytalan is akar. A lenyeg ugysem ezen van, akar sima soros portot is emulalhatsz, ugysem lehet vele mit kezdeni, mivel Te allapitod meg milyen formalyu kommunikaciot fogad el a kulcs, es ad ra(helyes) valaszt...
    Ezt feltorni nem lehet!!!!

    Ide alapbol olyan mikrovezerlot erdemes hasznalni, aminek elegendo a programmemoriaja nehany lenyegesebb funkcio megvalositasahoz, mert akkor nem kell kulon vedeni a memoriat olvasas ellen, a mikrovezerlot magat veded le.
    Ezekutan belole csak az altalad megvalositott interfeszen keresztul lehetne kiolvasni a tartalmat(elmeletileg-gyakorlatilag, az is fizikailag van vedve), de az meg annyira sem ismert, mint a mikrovezerlo fizikai olvashatosaga.

    Mindossze jol at kell gondolni, mik azok a fuggvenyek, amiket meg meg tudsz valositani belathato erovel a mikrovezerloben...

    Mutasd a teljes hozzászólást!
  • Vega55 látom érti, mit akarok kérdezni.

    De még szerintem egy kicsit pontosítok.
    A PC-s program egy része futtatható kódrészben az általam készített USB-s mikrovezérlős panelen lenne.
    És a programból futás közben kellene futtatni a hardverkulcsról a program hiányzó programrészét.

    Na ez nem semmi megoldani, ha lehet egyáltalán.

    Vega55 ne kímélj fojtassuk a gondolatmenetet, illetve a többieknek remélem megértitek a kusza fogalmazásomból, mit akarok kérdezni.


    Előre is köszi by Nber...
    Mutasd a teljes hozzászólást!
  • "
    Ezt feltorni nem lehet!!!!
    "

    Ezt valóban nem, de nem is ezt fogják feltörni hanem a programodat.
    Egy kis dissasembly és már meg is van. A neten is találni információt arról, hogy bizonyos programok védettségét hogyan lehet megkerülni.
    Még ha kódolod is a programodat a hardverkulcson található kulcs szerint, az ügyesebbek akkor is képesek lesznik lépésről lépésre vizsgálni a folyamatot. Amíg meg nem találnak egy olyan állapotot az ellenőrzés után, amit visszaállítva a program működőképes.
    Nem értek a microcontrollerekhez, de ha te be tudod programozni, akkor ők meg ki is tudják olvasni a programot. Vagy ezek csak írhatóak?
    Mutasd a teljes hozzászólást!
  • Ahhoz egy meghajtódrivert kell írni.
    De a számítógép működéséből adódóan a memóriába tölti a programokat futtatás előtt.
    A processor a memóriakártyákkal még tud kommunikálni, mert "szinte közvetlenül" kapcsolódik hozzá. (lőjetek le ha tévedek)
    De az USB-s kommunikáció azért egy összetettebb folyamat. Még a PCI kártyákkal is portokon keresztül kommunikál a proci, és programot onnan sem tudsz közvetlenül futtatni.
    Viszont a microcontrollerek programozhatóak, és egy egyszerű kódoló folyamat még kivetelezhető rajtuk.
    Mutasd a teljes hozzászólást!
  • TomX jól mondja, én is így gondolom! Mindent fel lehet törni!Cégek óriási pénzeket fektetnek bele, és folyamatosan fejlesztik a hardveres védelmüket.Mégis feltörik pedig soxor milliós projekteket védenek.Szerintem felesleges időpazarlás...

    Amit most rászánsz időt erre annak töredéke alatt feltörhető lesz.

    De azért majd szólj ha elkészült én meg feltöretem neked egy láda sörért!

    Persze ha nagyon jól csinálod, ki tudja talán még kitalálod újra a hardverkulcsot.
    Viszont majd sörözünk egy jót!
    Mutasd a teljes hozzászólást!
  • Ez egyáltalán nem biztos, mármint, hogy feltörhető! Ha meg is oldható, biztos, hogy nem egy láda sörödbe fog kerülni. Már azt is kétlem, hogy találsz a környezetedben olyat aki képes rá. Egy mikrokontrollerből a beégetett tartalom nem olvasható ki ám olyan egyszerűen. Azaz a visszaolvasás menni fog, csak marhaságot kapsz eredményül. Itt pedig az egyedüli megoldás a beégetett tartalom visszaolvasása, amit aztán elemezhetsz, módosíthatsz, visszaírhatsz. Efféle reverse engineering-re egy példa (PIC18F).
    Természetesen a korrekt működéshez elengedhetelen a jól átgondolt szoftveres komponensek megírása is. Én semmi esetre nem tenném bele a fél programot (nem is férne és minek?), hanem például a pc-n futó programom működéséhez szükséges ugró táblámat vagy egy-két elemi, de nem terjedelmes függvényt. Azt hiszem az interfészen keresztüli kommunikációs protokoll kiagyalható úgy, hogy azt nyomkövetve még az interfész jelenléte esetén sem mutat kikövetkeztethető szabályszerűséget, azaz nem fejthető vissza, nem emulálható. Mindenképp szükséges az mcu tartalma.

    Másrészt miért lenne elpazarolt a rászánt idő? Lehet ért hozzá és hamar megcsinálja. Ha mégsem, akkor egyszer kell megcsinálnia és utána adaptálhatja bármelyik applikációjába. Vmint nem elhanyagolható a megszerzett tudás sem.
    Nem egyszerű, de érdekes feladat és kihívás.
    Mutasd a teljes hozzászólást!
  • Ugyanma gyerekek, naivak vagytok...

    Ha a felhasznaloi program egy lenyeges resze nem elerheto, sem file-kent, sem a memoriaban, akkor hogy a bubanatban fogja valaki feltorni ???? Sehogy!
    Ehhez az kellene, hogy megird a hianyzo reszt, es a megfelelo helyre "odailleszd", ami ha egy kicsit is atgondolva van megoldva, egyszeruen lehetetlen.
    Ha megsem az, akkor mar meg is irtad magat a kesz programot!

    Sot, olyat is lehet csinalni, hogy a felhasznaloi futtathato allomany 90%-a nem ismert algoritmus(de akar ismert is lehet) van kodolva es a maradek 10% feladata csupan annyi, hogy kommunikal a kulccsal, amiben megtortenik a dekodolas, es futtatas, es eredmeny formalyaban visszakuldi a felhasznaloi programnak.

    Persze, ez mar nagyon durva vedelem, ennel sokkal egyszerubb formalyat sem lehet millios($) koltsegvetessel feltorni, tehat nem is foglalkozik vele senki sem, mert ennyiert mar hozzaertot lehet alkalmazni, aki elolrol megirja a szukseges programot.

    Ami a nagy cegek vedelmet illeti, nekik nem is az a celjuk, hogy torhetetlen legyen a vedelem, hanem csak neheziteni szeretnek a torok dolgat, nekik erdekuk(!), hogy ismertte valjon a termekuk, es nem csak prospektusbol...
    Mutasd a teljes hozzászólást!
  • És a programból futás közben kellene futtatni a hardverkulcsról a program hiányzó programrészét.


    Nem, erre igy nincs szukseg....
    Ahogy irtam, egyszerubb, es jobb, ha csak kommunikacio zajlik a kulcs es a felhasznaloi program kozott. Maskepp nem hiszem, hogy megoldhato lenne. Kozvetlen futtatasra, mint olyan, nincs lehetoseg!!!
    Persze trukkozesnek csak a fantazia szab hatart...

    Na ez nem semmi megoldani, ha lehet egyáltalán


    Nagyjabol mar mindent leirtam..., nalam reszlegesen mukodik ilyen hardver, ami egy PIC programozo, es a programozo nelkul nem mukodik a program a fenti okok miatt.
    Ha ezt valaki kepes feltorni, akkor Billy fiut gyorsan utoleri bankszamla teren...
    Mutasd a teljes hozzászólást!
  • Én is amondó volnék, hogy nem lehet feltörni egy ilyet. Már a legegyszerűbb hardwarekulcsokban is vannak algoritmusok, amik jóval túlmutatnak azon, hogy a program lekérdez egy kódot, majd összehasonlítja és ha stimmel akkor megy tovább, vagy el és vissza kódolják a program egy részet mielőtt az futna a memóriában. Ez utóbbiak törhető persze, de ha a hardwarekulcs önállóan elvégzi az f(x,y,z) számítást és azt a főprogram elfogadja és az eredményt futás közben tovább hasznosítja, akkor még ha API szinten is sikerül emulálni a kulcs függvényeit, nehéz lesz (az amúgy kiolvashatatlanul programozható) f(x,y,z) függvényt emulálni, vagy ha valaki tudja, akkor megírhatja a programot is. De az egyszerűbb kulcsoknál (Sentinel, Hasp, Rockey) már hatékonyabb védelem is van. Létezik pl. a Feitiannak olyanja, www.ftsafe.com hogy "smart card dongle" ennél a kulcsban van egy kis pici számítógép (cos operating system, 32k eeprom, 672byte ram) ez egy embedded c szerű nyelvvel programozható. A programod 90% a a PCn fut a maradék, de kulcsfontosságú 10% kód és/vagy adat a smartcardon; egymással API hívásokon keresztül kommunikálnak, és a PC-n futó rész nem számolja maga is ki amit a smartcard kiszámol, hanem annak eredményét teljes egészében elfogadja. A smartcardból nem lehet kiolvasni a kódot, ha egyszer beíródik, akkor azt csak törölni lehet. Egyébként ez utóbbi sok mikrocontrollerre igaz, úgyhogy a TomX által említett kiolvasás sok esetben elbukik. Korábban magam is gondolkodtam rajta, hogy kellene csinálni saját fejlesztésű USB s hardwerkulcsot, de engem elsősorban az ár kérdés motivált. Egy néhányszázforintos 8bites RISC mikrocontrollerből meg is lehetne csinálni. De aztán letettem róla, mert nekem kb. 50 db kulcs elég évente és az időm meg drága, úgyhogy inkább adok darabonkét néhány ezerrel többet és megveszem a készet.
    Mutasd a teljes hozzászólást!
  • Találkoztam már feltört, hardverkulcsal védett programmal. Ami legelőször feltűnt, hogy a módosítás dátuma csupán pár percel volt késöbbi az eredeti programénál. Ennek a legvalószínűbb oka az lehet, hogy a kedves programozó kollega miután lefordította a cég számára a programot. Átírt egy sort és már fordította is az egyéb körben való terjesztésre szánt változatot is.
    A legveszélyesebb bug maga a programozó.
    Mutasd a teljes hozzászólást!
  • nagyon el vagy tajolva. :S
    egyreszt ha csak 1 sort kellene atirni egy ilyen progiban, akkor kicsit egyszeru lenne torni (nekem starforce alapjait magyarazta egyik ismerosom, o mondta, hogyha 1 byteot atirsz a kritikus helyeken, akkor megdol a program, mert "egymasba lognak" a sorok eredmenyei, es egyik ciklus a masik eredmenyevel szamol tovabb, es folyamatosan ellenorzi a reszeredmenyeket, stb.), masreszt meg ha fizikailag nem fer a felhasznalo a lenyeges kodreszlethez, akkor hogy a fenebe fogja feltorni?
    valoban minden torheto, ami a felhasznalonal fut.
    de ezeknel a hardveres cuccoknal, a speci hardvereken fut a kritikus kodreszlet, aminek nem fersz hozza a forraskodjahoz, nem tudod reverse engineringgel visszafejteni, mert nem tudod emulalni a kornyezetet, mivel meg a bytekodhoz sem fersz hozza.

    Tyrael
    Mutasd a teljes hozzászólást!
  • TomX egyetértek abban, hogy létezik olyan hardwarekulcsos védelem, amit fel lehet törni. Én is találkoztam már ilyennel többször is. Csupán annyit állítok, hogy lehet hardweres eszközzel olyan védelmet csinálni, amit nem lehet feltörni, mivel magában a hardwerben vannak a program fontos részei. Ilyenkor a kulcs nélkül nem tudsz mit kezdeni a programmal, mert maga a program csak egy része az egésznek.
    Mutasd a teljes hozzászólást!
  • ha valahol ott a kód, ami végrehajtódik, akkor azt fel lehet törni mindig. bármi rafinált védelmet találsz ki, mindig lesz egy még rafináltabb törés is. a hardverkulcsról betöltött kódrészlet ellen pl. jó a kódrészlet lementése majd a hardverkulcs emulálása (gondolom, mindenki ismeri a daemon toolst), az ott futó kód ellen kiváló a rezidens akárki akibe portolták a kódot...

    egy védelem van, ha a teljes kód a saját trusted szervereden fut, és soha nem kerül ki onnan. különben legfeljebb megnehezítheted a törést, lehetetlenné tenni nem tudod.
    Mutasd a teljes hozzászólást!
  • Simi...Igen ott a kód, csak épp Te sehogy sem férsz hozzá. A kód nem a PC-den van, nem egy exe ben vagy egy dll ben, nem egy CDn vagy egy floppy-n amit olvasni tudsz, hanem a kulcsban és onnan nem tudod kiolvasni. Mivel fogalmad sincs mit csinál a kód, emulálni sem tudod. A daemon tools az egészen más téma, az tud ugyanúgy csinálni mint egy CD meghajtó, hiszen előtte "kiismerhette" mit csinál az eredeti CD. De itt NEM TUDOD kiismerni, mivel nem férsz hozzá. Nem arról van szó, hogy a hardwerkulcsból betöltődik a kódrészlet a PC memóriájába és a PC hajtja végre a kódot ahogy írod. Nem töltődik a kódrészlet sehová sem, a kulcson fut a kód, csak a futás EREDMÉNYE kerül ki. Mivel a PC -n lévő rész önmagában semmit sem ér, csak akkor fut a program, ha a kulcs vagy megvan vagy emulálod... de emulálni meg nem tudod.
    Mutasd a teljes hozzászólást!
  • itt van nálam az exe meg az usb, mert megvettem. szeretném továbbadni még hetvenhét barátomnak. vérprofi vagyok.

    debuggerből ráhookolok a programra, hogy ugyan mire használja az usb-t. olvas róla? király. milyen hívásokkal olvas, rendszerhívás? szuper.

    na akkor gyerünk, mentsük le az usb tartalmát. nem megy? hívjuk meg ugyanazokat a rendszerfüggvényeket, mint a program. nalátod. az adatokat tegyük el dump fájlba.

    írjunk olyan virtual device drivert, ami ezeket az usb hívásokat elkapja. megy? persze, ide lásd a daemon toolst aki a cd hívásokat kapja el, usb-re még könnyebb is. olvassuk fel a választ a dumpfájlból.

    tegyük a dumpot resource-ként bee a virtual driverbe (vagy ne, ízlés kérdése), tegyük oda a cd-re az exe-t mellé őket, és írjunk egy readme-t, hogy előbb ezeket futtassák, és csak utána a progit, és így megy majd kulcs nélkül is.
    Mutasd a teljes hozzászólást!
  • (az elején még azt írtad, hogy usb-n csak tárolod a kódot. ha ott van ténylegesen a kód, akkor kicsit bonyolultabb:

    ki kell olvasni a kütyü cmos-ból a gépi kódú rutint, aztán emulálni a kütyü cpu-t...)
    Mutasd a teljes hozzászólást!
  • Simi...
    igen így tényleg törhető:
    1: ki kell(ene) olvasni a kütyü epromból vagy flashból a kódot
    2: azt analizálni, persze ehhez érteni kell(ene) a megfelelő mikrokontrollerhez is,
    3: és utána az egészet emulálni, másik hardwareval, vagy akár PC szoftverrel.

    Így valóban törhető, a védelem, de a kiolvasás szinte lehetetlen, valószínűleg olyan háttér kell hozzá, ami csak keveseknek van meg.
    Úgyhogy én továbbra is azt mondanám, hogy az ilyen védelem inkább feltörhetetlen mintsem feltörhető, mivel az 1. ponton elbukik a kísérlet. Szóval ez a kérdés szerintem nem "kicsit" bonyolultabb csak, mint a debuggeres, hookolos virtual device driveres, valóban vérprofi megoldásod.
    Mutasd a teljes hozzászólást!
  • Latom meg mindig nem erted..., pedig mttamas olyan turelmesen magyarazta!

    hívjuk meg ugyanazokat a rendszerfüggvényeket, mint a program. nalátod. az adatokat tegyük el dump fájlba


    Ott a hiba, hogy senki sem mondta, hogy csak egy szuk parametercsoport lehetne a hivasi parameter, amire adott valaszokat eltarolnad. Ha az allandoan valtozik(es miert ne tenne), akkor mit mentesz le dump-ba ???! Na latod...

    Talan egy szovegszerkeszto vedelmet igy torhetned(azt se feltetlenul), de barmi mas, egy kicsit is valtozo parametereket atado programet nem!!!
    Mindenesetre igen benan kellene megirni a vedelmet, hogy ilyen modon torni lehessen
    Mutasd a teljes hozzászólást!
  • majd,ha kicsit is konkretan fogsz foglalkozni mikrovezerlokkel, rajossz mennyire naiv ez a gondolatmenet
    Mutasd a teljes hozzászólást!
  • Ez érdekes tém, kicsit belekoyogok, ha nem gáz.

    Szal:

    - Tegyük fel, hogy van egy olvashatatlan USB kulcsod, amin van valami futóképes kód.
    - Ha beteszed a kulcsot a gépbe, akkor lekezd futni a kód, és csinál valami kimenetet
    - Mikor megtörtént az a valami, amit a kulcs csinál, elindulhat a programod, és teszi, amit tennie kell.
    - ha kiveszed a kulcsot, nincs, kimenet, nem megy a progi.

    Jól látom?

    De a dolgok mindenképp a memóriába keülnek, és ott olvashatók...
    Vagy a progid exe-éje lene a kulcson, az sem indulhat el, ha nem olvasható...

    Szal valami sántít itt nekem....

    Amúgy mikor én csináltam "hardverkulcsos" védelmet, akor a penya serialját, meg a penyán lévő egy-két fájlt ellenőriztem a progiból.
    Ez debuggolással természetesen viszafejthető. De véleményem szerint minden visszafejthető, mert a munkamemóriát bárki olvashatja...
    Mutasd a teljes hozzászólást!
  • egy szuk parametercsoport lehetne a hivasi parameter, amire adott valaszokat eltarolnad


    a progid, és a port közé belehet hallgatni, ekkor látod a kérdés-felelet pártokat, amiből meghatározható a válaszalgoritmus, és GameOver.
    Nem?

    Persze nem akarok kötekedni, csak gondolkozom a témában.
    Mutasd a teljes hozzászólást!
  • a progid, és a port közé belehet hallgatni, ekkor látod a kérdés-felelet pártokat, amiből meghatározható a válaszalgoritmus, és GameOver.


    De!
    Nagyon egyszeru esetekben valoban, elmeletileg(gyakorlatilag) visszafejtheto az "algoritmus", de a valodi algoritmusokat igy nem fogod megfejteni.
    Ha megis, akkor mint mondtam mar meg is irtad magat a progit, vagy legalabbis a lenyegi reszet...

    Egyebkent probaltal mar ertelmezni egy olyan algoritmust, amirol szinte semmit sem tudsz...??? Kapasbol "vegtelen" szamu megoldas lehetseges, vegtelen szamu realizalasi mod mellett...
    Mutasd a teljes hozzászólást!
  • Természetesen igazad van!
    B@romi nehéz megfejteni, csak felvázoltam, hogy hogyan lehetséges sztem.

    Mondjuk nemtudom, milyen kaliberű progit írsz, ami indokolja ezt a viszonylag komplikált megoldást, esestleg megfontolandó lenne, valami egyszerűbb és költségkímélőbb megoldás keresése.
    Mutasd a teljes hozzászólást!
  • Nemo... szerintem ha a "belehallgatózásból" akarod megállapítani, hogy mit csinál az MCU, akkor már gyorsabban érsz el célt, ha felkutatod a védelem íróját ellopod a PC jét és megnézed az MCU forráskódját...
    Egyébként nem túlzottan költséges eszközökről van szó, amint írtam ezek kereskedelmi forgalomban már elérhető kütyük és 10000Ft alatti áron van is olyan usbs eszköz amibe Te írhatsz embedded C vel 32- knyi programot. Az interface API-t is készen megkapod, azzal sem kell bíbelődnöd.

    Másrészt osztom Vega azon véleményét, hogy az igazán sikeres nagy és drága programoknak (itt nem játékokra gondolok) sosem volt célja a nehezen feltörhető védelem. Ha a programot feltörik akkor terjed, sokan megismerik, és előbb utóbb megveszi azok egy része is aki addig illegálisan használta. Ha nem törik fel, akkor is megveszi az akinek kifejezetten "az" kell, de akinek csak egy "olyan" kell, de éppen nincs pénze, az később azt fogja megvenni (vagy annak az újabb verzióját), amit feltörve használt esetleg éveken át. Szerintem nagyobb profitot ér el fejlesztőjének a gyenge védelmű, de amúgy jól használható program, mint a "feltörhetetlen" akármennyire is jó program. Kb. olyan ez mint a mesében, hogy legyen védelem is, meg ne is...

    (játékoknál valószínűleg nem igazak a fentiek, hiszen ott 1 év alatt már avult lesz a játék, így tényleg nem cél, hogy "ismerkedjen" vele mindenki, de pl. CAD témában szerintem így van)
    Mutasd a teljes hozzászólást!
  • De a dolgok mindenképp a memóriába keülnek, és ott olvashatók...
    Vagy a progid exe-éje lene a kulcson, az sem indulhat el, ha nem olvasható...


    Szerintem te nem érted. A hardverkulcson levő kódot nem a CPU hajtja végre, így nem is kell a PC-d memóriájába bekerülnie. A hardverkulcsnak van egy saját végrehajtó egysége (nem tudom, hogy ezt is processzornak hívják-e, mert én se értek a témához), és az futtatja a kódot.

    Csak a kimenet olvasható ki a hardverkulcsról, az általa futtatott kód nem. Gondolom, innentől legfeljebb úgy lehetne törni, ha valahogy leműtöd a kulcsról a kódot tartalmazó részt, és valami saját eszközzel olvasod. Ez viszont már nem egyszerű dolog, és valószínűleg elveszi a törők kedvét...
    Mutasd a teljes hozzászólást!
  • 'Ez érdekes téma (..)'


    Egyetértek, az elmúlt tán két évben az egyetlen topic volt a Tudástárban amit végigolvastam. Ráadásul a 'kulcs kalkulál, pc feldolgoz' elgondolás tetszik is.

    Összetett és védendő számolásokon alapuló (teszemazt tözsdei vagy időjárás-előrejelzés) rendszereknél ügyes módszer lehet, már csak a kulcs sérülékenysége és fizikai másolhatósága kérdés csupán.
    Mutasd a teljes hozzászólást!
  • Vega55-el már vitáztunk egyszer ezzel a témával kapcsolatban és utólag be kell látnom, hogy igaza van.

    Az eddig is világos volt, hogy a mikrokontrollerből nem lehet kiolvasni a kódot (ha olvasásvédettként programozod be), de attól függetlenül én úgy gondoltam, hogy törhető. Azzal a módszerrel, hogy elkapjuk a kommunikációt a MCU és PC között. (ha valaki megvette a programot és mondjuk hosszú időn keresztül dumpolja a kommunikációt), akkor lehet, hogy lesz belőle valami haszna.

    a kulcs sérülékenysége és fizikai másolhatósága kérdés csupán.

    Ha valamit nem tudsz kiolvasni, akkor hogyan tudod másolni? Fizikai képtelenség.

    Úgy tűnik, hogy vannak még érdekes teremtmények. Ha valaki nem ért a mikrokontrollerhez, akkor ne okoskodjon a témában olyannal, hogy úgyis betöltődik a memóriába a kód és PC CPU-ja végzi el az utasításokat.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd