• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    HHANULKA
    HHANULKA --- ---
    Shánějí se programátoři pro Social Innovation Camp (16.-18.3. 2012, Brno)
    - inspirativní víkend strávený na tvorbě těchto 6 projektů, které mají za cíl stát se sociálními inovacemi:
    Nápady pro Social Innovation Camp 2012 | Inovace pro společnost.cz
    http://www.inovaceprospolecnost.cz/clanek/napady-pro-social-innovation-camp-2012

    Přihláška co nejdříve zde:
    Zapoj se | Inovace pro společnost.cz
    http://www.inovaceprospolecnost.cz/zapoj-se
    (je už po deadlinu, tedy stačí se hlásit bez nápadu)
    ALCATOR
    ALCATOR --- ---
    ANDY_WARHOL: Visual Studio Express je zadarmo. Muzes ho kdykoliv upradeovat za castku mezi 300 a 1000 dolaru/euro na full verzi. Celkem rozsirena praxe je, ze vytvaris v upiratene verzi, a kdyz mas hotovy program a vypada to nadejne s komercni uspesnosti, tak si holt zlegalizujes a rychle prodavas, aby se ti to vratilo.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    PIGSTER: jasne, s tema indama je to trochu nadsazka, ale mas uplnou pravdu
    z c nemam zadny zkusenosti, takze ti budu muset verit. vychazel sem z toho, ze v podstate kazdej program je cracknutelnej, ale to muze byt samozrejme jinejma metodama, nez jen prostym rozkompilovanim a zmenou v kodu.
    PIGSTER
    PIGSTER --- ---
    ANDY_WARHOL: je to tady trochu OT, ale C / C++ je tak dobre dekompilovatelny, jak spatnej mas prekladac. Dobrej prekladac C je snad nejlspsi obfuscator - uz rozbalenej cyklus je pruda, ale jakmile do toho zacne kecat inlineing a obchazeni zasobniku pri volani a navratech tak to uz proste nejde - kopa informaci se tam proste v procesu ztrati. Uplne chybi metadata - mas jenom horu napul strukturovanyho ASM a nejaky zbesily tabulky ktery ti rikaj kam a kdy se skace kdyz volas metody.

    .NET ma metadata, muzes je schovavat jak chces, ale na jednotlivy objekty a metody to pujde rozdelit vzdycky. A IL neni zdaleka takovej humus jak 32bit intel assembler.

    IMHO teze o dostatku indu po tom, co jsem slysel jak kvalitni jsou to programatori neplatila nikdy. S dostatkem Rusu uz bych si zdaleka tak jistej nebyl :)

    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: takze to pujde, ale bude to namahavy, tzn je to pouzitelna ochrana, ale teze o dostatku indu plati dal :)
    diky
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: No, jde o to, ze na zaklade C# zdrojaku jsi schopen vytvorit jen podmnozinu moznosti, ktere lze udelat v IL.
    Jeden priklad za vsechny: v C# nemuzes volat (i definovat) dve metody lisici se pouze typem navratoveho parametru. V IL s tim neni problem. Pri dekompilaci do C#/VB.NET/atd... se ti tento kus proste nepovede prevest. A pokud se ti povede prevest do C#, tak ho uz ale nezkompilujes.

    V IL je taktez validni, kdyz staticka metoda neni v zadnem typu (trida/struktura) a je obsazena primo v modulu (tam co jsou typy). Nicmene v C#/VB.NET/atd... to je nevalidni.

    Dalsi moznosti je delat tam ruzny prasarny. V nejakym blogpostu jsem cetl napad cloveka, kterej vzal vygenerovanej IL ze C# kde byl klasicky "for(int i = 0; ......)" a zprahazel tam nejaky IL instrukce. Ve vysledku to fungovalo uplne stejne dobre, ale dekompilatory si s tim neporadili (nedokazali zrekonstruovat ten upravenej "for").

    Nicmene pokud chces necemu takovymu zabranit chytrejsim zpusobem nez jen pouzit nejaky dostupny obfuskator, tak se nevyhnes primy praci s IL.

    Ve vsech pripadech ale plati, ze si to vzdycky muze diassemblovat primo do IL a upravit si to rovnou v nem. Kdyz si v projektu nekde vedle udela metodu se stejnou signaturou, vyplni ji svym kodem a nasledne vznikly IL vymeni za ten tvuj, nejspis bude uspesny.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    tohle me opravdu zajima, nechci vydat svuj prvni krabicovej soft aby to hned prvni jouda s reflektorem a deobfuscatorem rozprcal a vykrad
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    ANDY_WARHOL: timto sem nemyslel nejaky se posmivani ti, ale spis aby si to rozvedl do detailu, jak si to predstavujes, ja to pak zkusim a zkusim to dekompilovat a uvidime.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: no priznam se ze sem zde na velmi tenkem lede, tyhle veci sem nikdy do hloubky nezkoumal, takze si rad necham poradit.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: Zdaleka ne veskere validni IL lze patricne prepsat do C#.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    jak tu nekdo psal, kdyz ma clovek dostatek indu (casu) tak rozprca vsechno.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: jak si to predstavujes konkretne, treba pouzivat f# na casti ? a kdyz je to v msil, a dekompilujes to tak to stejne dostanes do c# nebo se pletu ? nebo si myslel to psat v cecku ? ale to je taky dekompilovatelny
    mozna to napsat rovnou 0101100110010101010101010011011110101101 :)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: Co treba nektery funkce mit napsany v necem jinem nez v C#. A nektere metody nemit v zadne tride ale jen v ramci modulu?
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    MORMEGIL: diky, tohle sem hledal !
    MORMEGIL
    MORMEGIL --- ---
    ANDY_WARHOL: BizSpark (a související).
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    SHIGORBIRDMAN: to ja samozrejme taky, ale byl problem to sehnat, tedy tam kde sem v te dobe zil. ze zacatku mi stacil manual, pak sem nejakou knizku sehnal, obcas clanek v nejakem casopise s vypisem programu, ktery si rucne musel pretukat (a z toho se pak dalo lecos nauci), problem nebyl basic jako takovy ale to ze na comodoru byla jina syntaxe a jinak se pouzival nez treba na tom tvem sinclairu. takze clovek potreboval vylozene ten basic pro ten svuj komp. navic kdyz si chtel delat neco opravdoveho potreboval si stejne asemlber a to uz bylo tezsi se naucit jen tak
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    ANDY_WARHOL: o nicem takovem nevim, jen o studentskych akcich atd.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    ANDY_WARHOL: ja pouzival teda literaturu i ve skalnich dobach, bez prirucky basicu bych se sinclairem moc nenadelal, zvlast tabulka asemblerovskych instrukci byla naprosto prazakladni literatura :D
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    jedna se mi hlavne o visual studio
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    mam dotaz z jineho soudku, vim ze existovali nejaky licence na microsoft produkty pro start upy a podobne, kde to bylo velmi vyhodne, nekruli snad i zadarmo na nejakou dobu. nemate nekdo prehled o takovychto akcich, treba i v zahranici ? nejak se mi to nedari vygooglit
    Kliknutím sem můžete změnit nastavení reklam