• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    /* Toto je klub především pro lidi, pro které je programování jednou z mnoha massive multiplayer online počítačových her, které lze hrát.
        V tomto klubu hrozí sémantická hereze a nezdravě vysoký obsah syntaktického cukru. Nevhodné pro algoritmické diabetiky.
        Od účastníků debaty se předpokládá automaticky přístup k instalovanému GNU C: sudo apt-get install build-essential
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    C (programovací jazyk)#C99 Heslo na české Wikipedii
    Jazyk C - Základy praktického programování V Praze 2oo7 pro SSPŠ Tomáš Harvie Mudruňka a kolektiv - jak si programování v C představuje většina lidí
    http://stevenkobes.com/ctest.html C Programming Puzzlers - nepouštějte se do flamewars v tomhle klubu, pokud neuhodnete aspoň polovinu správně!
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://en.wikipedia.org/wiki/C99 C99 is a modern dialect of the C programming language.
    http://cprogramminglanguage.net/ C programming language
    http://cprogramminglanguage.net/c-programming-language-tutorial.aspx C programming language - úvod
    http://en.wikipedia.org/wiki/Criticism_of_the_C_programming_language C makes it easy to shoot yourself in the foot. (ještě že ne do hlavy...)
    http://en.wikipedia.org/wiki/C_preprocessor
    http://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html C99 makra s proměnným počtem argumentů - __VA_ARGS__
    http://gcc.gnu.org/onlinedocs/gcc/ GNU C Compiler
    http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Optimize-Options.html
    http://bellard.org/tcc/ Tiny C Compiler - prý C99 compliant (min. umí __VA_ARGS__) - vhodný pro skriptování v C - umí #!/usr/bin/tcc -run
    http://en.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest - pokud jste neviděli tohle, tak jste ještě neviděli opravdu nečitelný C zdroják
    http://bellard.org/otcc/ Obfuscated Tiny C Compiler - z tohohle vtípku vznikl Tiny C compiler
    http://en.wikipedia.org/wiki/ANSI_C Jak se střelit do nohy standardizovaným způsobem.
    http://eli-project.sourceforge.net/c_html/c.html ANSI C Specification
    http://www.lysator.liu.se/c/ Různý ANSI C bordel
    http://www.cs.rit.edu/~ats/books/ooc.pdf Object Oriented Programming with ANSI-C - a pak že to nejde
    http://en.wikipedia.org/wiki/Longjmp co jsou to setjmp()/longjmp() knihovní funkce (pro všechny, podle kterých to bez C++ try { } catch() ... nejde)
    http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/dcdc710c27f47c72 C neumí správně počítat (?)
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://www.fastcgi.com/ FastCGI is simple because it is actually CGI with only a few extensions.
    http://www.metalshell.com/source_code/18/Mysql_Select.html How to do a simple connection and select with mysql
    http://xmlsoft.org/ The XML C parser and toolkit of Gnome
    http://curl.haxx.se/libcurl/ libcurl - the multiprotocol file transfer library
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    https://dev.arachne.cz/svn/cll1h SVN/Trac jazyka C<<1 (user-friendly nadstavba nad ANSI C99 - ve stylu JQuery vs. JavaScript)
    Benchmark iterace a serializace stringů v různých jazycích vs. v C
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        moderátor se velice zhruba řídí zvyklostmi moderace, která kdysi platila v řadě konferencí sítě FidoNet ... C != 0xdead */
    rozbalit záhlaví
    GIOMIKY
    GIOMIKY --- ---
    DAVIDOWITCH: Ja taky ne, ale na urovni c asi nebude mozny jen tak posouvat sekce v pe, ne?
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    GIOMIKY: Nechapu co s tim ma spolecnyho ASM...
    JANFROG
    JANFROG --- ---
    GIOMIKY: Hmm...to vypada na ten blob :-)
    GIOMIKY
    GIOMIKY --- ---
    JANFROG: Sorry, za OT, ale zjistil jsem nasledujici. IDA pise: positive sp value has been found. Předpokládám tedy, že Import section je až za Resource section. Nejspíše opravud nějaké ASM bastlení.
    JANFROG
    JANFROG --- ---
    GIOMIKY: To je docela zajimavy. Docela by me zajimalo, jake sekce ma ta binarka, zkus si dumpnout strukturu toho - podle me musi mit alespon PE strukturu). Pokud nema, pak je to IMHO nejaky blob jen "pojmenovany" jako .dll pripadne .dll s jednou nestandardni sekci ktera obsahuje ten blob :-)
    A ten co to pouziva ma nejaky kod, co se v tom vyzna (zkopiruje do pameti, (dekoduje), mprotect(+x) & goto entrypoint.
    Nicmene z beziciho program bys to mel dumpnout celkem v pohode.
    GIOMIKY
    GIOMIKY --- ---
    Diky moc za rady, hledal jsem nejjednodussi moznou cestu, coz je napriklad tohle: http://upx.sourceforge.net/
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    GIOMIKY: Trivialne, pokud to dllko neni univerzalni dllko, ale plugin specialne pro toho robota, nikdo nerika ze ten robot nemuze natahnout dllko do pameti jako binarni blob, ten binarni blob dekomprimovat a dekryptovat a az potom z toho mit neco do ceho se daj delat cally.
    GIOMIKY
    GIOMIKY --- ---
    XCHAOS: Jestli myslis, ze je to v asm, tak navrhuji celou debatu utknout. Open-source zdar.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: No, ja to beru z pohledu atraktivity takovej soft vyrobit.
    Na primem prikladu tech vizualnich efektu. Potrebujes hodne specifickej soft, kterej beznymu smrtelnikovi je uplne k nicemu (napr. mnoho TB textur.. to moc nepotrebujou ani nadsenci do HD textur pro hry, protoze to je proste nesmyslne moc dat na skoro cokoliv).
    Takze moc developeru ktery by do toho sli z nadseni pro obecne uzitecnou vec (coz je velka motivace za spoustou Open Source projektu, a je skvela) nesezenes, protoze to co potrebujes neni obecne uzitecna vec. Obecne bych rekl ze tu vzdycky bude "trh" pro proprietarni soft v jistym smyslu toho slova, tj. ne closed-source-za-prachy, ale spis "neco co je uzitecny fakt jen pro superuzkou skupinu lidi, dost casto ciste inhouse".
    GIOMIKY
    GIOMIKY --- ---
    XCHAOS: Tak vzhledem k tomu, ze to potrebuje vc redist, tak bych rekl, ze to sem sedi.
    GIOMIKY
    GIOMIKY --- ---
    Jo a vm je dobrej napad, ale nevim, jak by se realizovat, protoze ty funkce v dll potrebuju volat z obchodniho terminalu z mql4 a tam je v podstate pouze moznost naimpotrtovat exporty z dll a pak je v proprietarnim jazyce volat.
    XCHAOS
    XCHAOS --- ---
    GIOMIKY: a jak to souvisí s tématem klubu? máš nějaké indicie, že to, co ti nejde dekompilovat, vůbec bylo vytvořené nějakým kompilátorem Céčka, nebo tak? ta ochranná obálka můžou být (a nejspíš jsou) nějaké triky, ubastlené přímo v ASM, nebo tak.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: nemyslím si, že mluvíme o tom samým.

    jestli někdo upřednostňuje svobodný software před proprietárním, to je v podstatě věc vkusu, názoru, sázky na určité směry vývoje ekonomiky i vzdělávání, apod.

    jestli je "matematicky" možné dokázat či vyvrátit, zda lze vytvořit "nedekompilovatelný" binární kód (ať už knihovnu nebo samostatně spustitelný soubor), to je úplně jiná otázka, která dodnes zajímá hodně lidí. já v příspěvku [ XCHAOS @ ANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API ] postnul jeden z nejrelevantnějších odkazů poslední doby na toto téma - a sklidil jsem za příspěvek moderaci -2. Super. Co jiného taky čekat na NYXu, kde je většina lidí chytřejších, než hmm... většina lidí.

    jinak připomínám, že tenhle klub je spíš o GNU-řešeních, tedy minimálně open source přístup (vše je dodáváno se zdrojáky a tudíž rekompilovatelné), ideálně bez politických tahanic jak moc to "přibalování" zdrojového kódu vynucovat.
    GIOMIKY
    GIOMIKY --- ---
    Jako ceho chci dosahnout. Mam forex robota, ktery pouziva dll. A kdyz jsem ho ze zvedavosti zkusil prohnal idou, tak to pise, ze je zkomprimovany nebo jinak chraneny proti reversnuti. Kdysi jsem videl nejaky programky, ktery umeli vzit exe a neco s nim udelali, takze nesel jednoduse debuggovat. Tak jsem chtel najit nejaky program, ktery by tohle dokazal s dll. Je mi zahadou, jaktoze decompiler nevidi ani exportni funkce a prece to funguje.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    GIOMIKY: Ja delam VFX, mam pro neopen-source dost pochopeni.
    REDGUY
    REDGUY --- ---
    GIOMIKY: 100% zpusob jak se uchranit pred dekompilaci je napsat to jako webovou aplikaci. Coz prinasi i celou radu dalsich vyhod.
    GIOMIKY
    GIOMIKY --- ---
    DAVIDOWITCH: Tohle by mohla byt obchodni strategie pro financni trhy, open-source neni ta cesta, kterou se chci vydat.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Pripomels mi toho cloveka z FELu, co me po moji prednasce o filmovejch tricich zacal presvedcovat, ze proprietarni software nema budoucnost a filmovej prumysl by mel prejit na blender.
    Jsou proste oblasti kde ten open source nema dostatecnou uzivatelskou zakladnu, no.
    XCHAOS
    XCHAOS --- ---
    GIOMIKY: většina lidí, co se nad tímhle někdy (kdysi dávno) zamýšlela, pochopila, o čem to celé je, dostala rozum a přeorientovala se na open source.

    i když nedávno jsem slyšel přesně o tom, co požaduješ:
    Computer Scientists Develop 'Mathematical Jigsaw Puzzles' To Encrypt Software - Slashdot
    http://tech-beta.slashdot.org/...-scientists-develop-mathematical-jigsaw-puzzles-to-encrypt-software

    ... ale osobně se mi to moc nezdá, že by to bylo možné. prostě když kód může interpretovat procesor, může ho intepretovat i jakýkoliv virtuální procesor, který můžeš neomezeně pozorovat, co přitom dělá.

    ale nějaké množství "přidané obfuskace" asi možné je. mě osobně zajímá vymýšlení nových obchodních modelů pro open source (přičemž dnešní stav, kdy se klíčový software vlastně nedistribuuje a běží na serverech s open source systémem, kdy ke kódu ani datům nemají přístup uživatelé, nepokládám nutně za nejlepší - zajímavý je distribuované open source alikace se sdílenými databázemi, i typu Bitcoin ... prostě varianta, ve které jde jen o to něco utajit, je vlastně jedna z nejméně zajímavých...)
    XCHAOS
    XCHAOS --- ---
    KEYMASTER: ale co dekompilace té virtuální mašiny? :-)
    KEYMASTER
    KEYMASTER --- ---
    1) Navrhni si vlastní formát virtuální mašiny
    2) Napiš si interpreter a překladač do téhle virtuální mašiny
    3) Zkompiluj svůj program do téhle virtuální mašiny
    4) ???
    5) Profit!
    Kliknutím sem můžete změnit nastavení reklam