Üdv,
Tud-e valaki csuklóból olyan eszközt, ami egy C forráskódot kipucol? (Megjegyzések kivágása, konstansok behelyettesítése, sorok egyesítése, miegymás.)
- 1759 megtekintés
Hozzászólások
gcc -E
ha jól emlékszem, így csak a prepocesszort futtatja.
- A hozzászóláshoz be kell jelentkezni
gcc -E csak a preprocesszort futtatja
- A hozzászóláshoz be kell jelentkezni
A C preprocesszor. http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html#Preprocessor…
- A hozzászóláshoz be kell jelentkezni
b+, szólok mindjárt egy havernak, hőgy ő is írja be ide, hogy "gcc -E - csak a preprocesszort futtatja".
- A hozzászóláshoz be kell jelentkezni
Nem lesz mar jo, neki is 21.15-kor kellett volna irnia.
De jo kis egyseges valaszok jottek.
- A hozzászóláshoz be kell jelentkezni
De azért a véletlen milyen érdekes, mi? :D
- A hozzászóláshoz be kell jelentkezni
gcc -E, cepreprocesszor, csak aztat futassa e!
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
+1 :DD
- A hozzászóláshoz be kell jelentkezni
szerinted is gcc -E, csak a blablabla? :D
- A hozzászóláshoz be kell jelentkezni
de ha a gcc -E -t mar tul sokan mondtak, probald ki a cpp-t, az csak a preprocesszort futtatja:)
- A hozzászóláshoz be kell jelentkezni
Hu ez nem jutott eszembe, de probaltatok mar a preprocesszort ? :)
- A hozzászóláshoz be kell jelentkezni
Van a GCC-nek egy kapcsolója, ami csak a preprocesszort futtatja... Majd utánanézek neked, hogy melyik is az!
- A hozzászóláshoz be kell jelentkezni
gcc -E? Mekkora ötlet, erre még senki sem gondolt.
- A hozzászóláshoz be kell jelentkezni
talán ez is érdekes neked:
man indent
INDENT(1) INDENT(1)
NAME
indent - changes the appearance of a C program by inserting or deleting
whitespace.
- A hozzászóláshoz be kell jelentkezni
A kommenteket nem pucolja ki.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
kommentek? :))))
- A hozzászóláshoz be kell jelentkezni
A sorok egyesiteset sajnos a gcc -E nem csinalja meg, illetve adott esetben tulmukodese van, mivel nem csak a konstans szamokat, hanem minden #define sor altal meghatarozott dolgot felold. Legy ovatos vele.
En elso korben valami awk scriptet csapnek ossze hozza, ami megcsinalja a kommentek kidobasat meg a soregybesitest, a konstans feloldas meg ugyis bonyibb, meg azt nem is biztos hogy erdemes megtenni.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
plusz minden #include fájlt beszúr.
Ugyanakkor érdemes a Kérdezőnek megnéznie; nem tudom, konkrétan mire kell.
- A hozzászóláshoz be kell jelentkezni
Geci megrendelőnek -szerződés szerint- forráskódot átadni. :)
- A hozzászóláshoz be kell jelentkezni
Deszemét, rendel egy programot, és még a forráskód is kell neki?
Szerintem a változóneveket is cseréld le 30 karakter hosszú random string-ekre.
- A hozzászóláshoz be kell jelentkezni
a random string nem elég szemét húzás... itt lentebb láttam az új ötletet, megfelelő mennyiségű aláhúzásjel:)
régebben olyanról is hallottam, hogy az 1lI (egyes szám, kis l, nagy I) betűkből alkotott stringre kell cserélni a változóneveket, mert az jól összefolyik a monitoron... de főleg az egy és a nagyi.
- A hozzászóláshoz be kell jelentkezni
Végső esetben pedig - ha nincs kikötve a programnyelv - oda lehet adni a generált listafájlt, mint assembly forráskód... :)
- A hozzászóláshoz be kell jelentkezni
http://en.wikipedia.org/wiki/Obfuscated_code ez esetleg hasznos lehet, ha már a gcc -E-s ötletek kifogytak...
Szerk: amikor a változóneveket kezdi obfuszkálni, az már durva, ezért régen ascii art kick járt ircen:)
- A hozzászóláshoz be kell jelentkezni
Én a láthatóan elb..ott forráskódot nem venném át, ha a megrendelőnek lennék... Aztán lehet játszadozni a dologgal, de a teljesítési igazolást csak neki kell alávésnie...
- A hozzászóláshoz be kell jelentkezni
:D
- A hozzászóláshoz be kell jelentkezni
Azután majd jól felszámoltat egy-két fórumtárs:P
- A hozzászóláshoz be kell jelentkezni
+1, s ha a megállapodás úgy szól, hogy a forráskódot is megkapja, akkor meg eleve elég szemét húzás obfuscálni a kódot.
Sőt, a helyében át sem venném, ki sem fizetném, tán még asztalt is borítanék, amiért feleslegesen rabolták az időmet.
- A hozzászóláshoz be kell jelentkezni
Notehát.
A szóban utólag (igen, hiba) megrendelt módosításokat nem akarja kifizetni, de a szerződés szerinti forráskódra igényt tart. A két állapot nem választható szét jelenleg.
És ezt írtam "Megjegyzések kivágása, konstansok behelyettesítése, sorok egyesítése, miegymás".
A miegymást akkor ki is húznám, az ötletek "durvaságát" látván.
Szóval, ha dolgoznunk kellett kvázi ingyen, akkor dolgozzon ö is, ha tovább akar lépni innen!
- A hozzászóláshoz be kell jelentkezni
"a két állapot nem választható szét jelenleg" -- Gondolom verziókövetést csináltál a fejlesztés során, abból meg szépen vissza lehet követni a fejlesztést a vitatott módosítások előttig...
- A hozzászóláshoz be kell jelentkezni
Nem.
A szóban rendelt plusz munka nem a szerződés teljesítés után született, hanem a fejlesztés folyamatában, így nem lehet rollback-elni a svn-ből.
- A hozzászóláshoz be kell jelentkezni
akkor ezt a melót szépen átadod, a szóban elrendelt plusz fejlesztések költségét pedig a "tanulópénz" főkönyvi számlaszámon elkönyveled.
- A hozzászóláshoz be kell jelentkezni
És visszaértünk a topic elejére.
"Tud-e valaki csuklóból olyan eszközt, ami egy C forráskódot kipucol? (Megjegyzések kivágása, konstansok behelyettesítése, sorok egyesítése, miegymás.)"
gcc -E, ami csak a prepocesszort futtatja, nem jó.
- A hozzászóláshoz be kell jelentkezni
Amit, mint gányt a megrendelő, ha van esze, nem vesz át. Vagy pedig átvesz, viszont a fejlesztő a saját rosszhírét szépen meg fogja vele alapozni: "nédda, ilyen gány kódot ad ki a kezéből..."
- A hozzászóláshoz be kell jelentkezni
mondom szépen adod át, nem gányolva. és akkor nem tértünk vissza a topic elejére.
- A hozzászóláshoz be kell jelentkezni
+1
Ha mégis megpróbálkozol vele (mármint STP), akkor néhány jólirányzott sed szkript csodákra képes. Első menetben kigyűjteni (reguláris kifejezés segítségével, pl. sed) az int, double, float, char ... utáni sztringeket a ";", a " ", a "[", és a "=" karakterig (meg amit kihagytam) egy fájlba. Majd a fájl tartalma alapján véletelenszerűen, vagy módszeresen helyettesítő sztringek generálás. És ez alapján a cserék végrehajtása (szintén lehet sed).
Utána minden sor "/*"-al kezdődő részének törlése a sor végéig (lehet sed).
Minden sor "//"-al kezdő részének törlése a sor végéig, utána minden sor törlése a "//" jelig. Ez kicsit macerásabb de sejtésem szerint ez is mehet sed-el (hasonlót még nem csináltam, de emlékeim szerint a doksi szerint lehet), esetleg awk-al.
1. kiegészítés: Az eredeti kódot ne töröld, mert valószínűleg nem fogja elfogadni a megrendelő az "egyszerűsített" változatot :-).
2. kiegészítés: ha nagyon ráérsz, és törvényesen ki akarsz tolni vele, akkor írd át a kódot szerződés szerinti (szóbeli módosítások nélküli) verzióra, és azt add át szépen kommentezve. Ekkor egy szava sem lehet. Legfeljebb legközelebb nem veled dolgoztat, de szerintem ez a veszély már nem áll fenn. Vagy pedig marad a tanulópénz elkönyvelése.
-----
Dropbox tárhely igénylése: https://www.getdropbox.com/referrals/NTI2MzM2MjA5
- A hozzászóláshoz be kell jelentkezni
akkor a módosítások előtti állapotot átadod rendes forráskódban.
a módosítást meg elteszed patch formájában, majd ha fizet, megkapja.
- A hozzászóláshoz be kell jelentkezni
Ez mondjuk jó ötlet.
- A hozzászóláshoz be kell jelentkezni
Persze, nyílván árnyaltabb a kép, én arról az esetről beszéltem, hogy "s ha a megállapodás úgy szól, ... ", akkor blablabla.
Igazságot tenni úgysem tudunk, te tudod hogy mi van a megrendelővel, mi nem, én a gcc -E megoldást ismerem, másról nem tudok.
(Megírni mondjuk nem lenne sok, ami neked kell.)
- A hozzászóláshoz be kell jelentkezni
gcc- E, azthiszem.... Csak a preprocesszort futtatja!
- A hozzászóláshoz be kell jelentkezni
Közben kitaláltam, hogy gcc -S meg assembly kimenetet dob neki, az is forráskód végülis. :D
- A hozzászóláshoz be kell jelentkezni