[törölve]
yozsi88Kedves Yozsi, egész meghatódtam: te vagy az első az életemben, aki hekkernek (vagy hackernek) szólított! Igazából cseppet sem vagyok ám biztos benne, megillet-e engem ez a megtisztelő cím. De mindenekelőtt: gyorsan segítek neked. Ha nem félsz a parancssor használatától, vagy legalábbis nem nagyon, akkor ott üsd be, hogy mc mire felugrik neked egy olyan kis kétpaneles prograny, mint a szeretett windózod alatt a Norton Commander (ha ismerted azt netán). Elvileg magyar nyelvű lesz. És ennek a menüjében találsz ám olyat, ami a könyvtárakat összehasonlítja neked... A "winfos" írásmód miatt ne izgulj, e fórumon sokan ezt nem szeretik, nem tudom miért, de én is gyakran így írom. Teljesen megértem az érzelmeidet. Hekkernek lenni... Ne azt akard hogy az legyél. Aki ezért küzd, sosem lesz az. Bárki az lesz azonban, aki IGAZÁN szeret valamit, és állandóan azzal foglalkozik. Én például főleg irodalomból vagyok "hekker": eddig írtam 57 regényt (sci-fi) és sok apróságot. A számítástechnikával még akkoriban kezdtem foglalkozni amikor a C-64 volt "nagy gép". Gépi kódban programoztam, írtam rá saját programnyelvet(oprendszert) is. Azon a gépen ez a kettő nem különült el élesen egymástól. Temérdek idődbe kerül mire "hekker" leszel bármiben is. Ez nem a számtech sajátja. Ha autók bütykölésében akarsz hacker lenni ott is ugyanez megy. (csak az több pénzedbe kerülne). Én például nem járok kirándulni, meg kocsmákba, meg nők után, nekem ez a szórakozás. Az életem. Nem munkának tartom hanem élvezetnek. El se tudom képzelni, hogyan élhetnék számítógép nélkül. Mindent ezen csinálok: filmet nézek, zenét hallgatok... és programozom. Jellemző a hackerekre (rám is) hogy képtelen mennyiségű időt képesek beleölni egy feladat elvégzésébe, amit mások feleslegesnek tartanak. Például azt kutattam, hogyan lehet beállítani, hogy a NumLock bekapcsolva legyen már a gép elindulásakor. Megoldottam. Nehogy már minden induláskor eggyel több gombot kelljen lenyomnom, hát az barbár nyomor! De egészen biztos hogy mire megoldottam, több időmbe tellett mint amit annak az egy gombnak a plusz lenyomása a hátralevő életem alatt összesen igénybe vett volna. Ha itt hacker akarsz lenni, okvetlenül meg kell ismerkedned a parancssorral, és hiába fikáznak engem egyes "hobby-linuxozók", követned kell a példámat hogy előnyben részesíted a parancssoros alkalmazásokat ha teheted. Másképp nem szoksz ehhez hozzá. Grafikus progikat a hülye is tud használni. Abban semmi pláne nincs. És ha erre jön valaki hogy ő a gépet használni akarja és nem programozni meg a rendszert túrni, vonj vállat és mondd neki hogy igaza van akkor ő tegye azt. Az ő dolga. Épp csak az olyan fickóból soha a büdös életben nem lesz hekker. A hekkerre épp az a jellemző, hogy a gépet nem csak munkaeszköznek tartja, hanem a barátjának is, és SZERETI túrni a rendszert. Őt igenis ez boldogítja. Ha olvasod a blogomat itt e fórumon, abban számos okosságot találsz, miként tedd egyedivé a masinádat, például saját billentyűzetkiosztás csinálása, stb. Egy hacker szereti, ha a masinája vagy legalábbis az általa használt szoftverkörnyezet egyedi. És meg kell tanuld ezért a "héjprogramozást", azaz legalább egyszerűbb shell szkriptek írását. Van erre jó magyar könyv, egy Büki nevű úr írta. A progik amikben minimum el kell mélyedned ehhez: bash, sed, grep, awk, s ismerned kell a "szabályos kifejezések" (regular expression) lélektanát. "Igazi" programnyelvnek pedig kizárólag a C és később a C++ elsajátítását javaslom. Sokan fújolnak hogy a C felett "eljárt az idő", meg az "nem kezdőknek való", stb. Hát nézd, ha csak annyit akarsz tudni hogy a géped minden bekapcsolásnál kiírja az aktuális névnapot a képernyőre s erre írj egy programot, akkor nem muszáj a C. De komolyabb munkára igenis az kell. Meg a C++. Persze van sok más okosság is, PHP, Python, Perl, de szerintem ha mondjuk a Perl-be kezdesz, hát izé, hamar rájösz hogy a C fényévekkel könnyebb. És elterjedtebb. És minden normális rendszerben van C fordító. A PHP meg főleg szerveroldali feladatokra való. A Python nem tudom milyen, bevallom azt nem ismerem, de első ránézésre hasonlít a C-re, azaz ha a C jól megy neked később a pythont könnyen megtanulod. És nekem a C-64 után az első nyelv amit megtanultam itt a C volt. Senki nem segített, és rém szar irodalmam volt hozzá. NEM TARTOTTAM NEHÉZNEK. Lehet persze ez egyéni ízlés kérdése is. Később amikor mutattam valakinek a könyvet amiből tanultam, azt mondta, meghajtja a fejét előttem hogy nekem ez ebből ment, otthon, tanfolyam nélkül, mert ez a létező legszarabb könyv hírnevét érte el. Ma már vannak sokkal jobb szakirodalmak is. A hekker életét leginkább épp a szakirodalom hiánya keserítheti meg. E programomban a legnagyobb kihívást nekem egy nyúlfarknyi kis rutin okozta, ami az EXT fájlrendszer-specifikus flagek beolvasását végzi. Végül nem maradt más hátra a számomra, mint elővenni az lsattr forráskódját, s végigelemeztem azt. Sorra elkezdtem mindent kigyilkolni belőle amiről úgy gondoltam hogy felesleges. (A // és /* ... */ a barátom: Amikor nem működött, újra engedélyeztem a részeket... ) A végén nem maradt csak egy fél képernyőnyi rutin. (Persze ekkor már nem is szépen karakterekkel listázta nekem a biteket csak egy egész számot írt ki, de ez nem zavar). Ennyi lett belőle: #define HAVE_EXT2_IOCTLS #ifdef O_LARGEFILE #define OPEN_FLAGS (O_RDONLY|O_NONBLOCK|O_LARGEFILE) #else #define OPEN_FLAGS (O_RDONLY|O_NONBLOCK) #endif int fgetflags (const char * name, unsigned long * flags); int fgetflags (const char * name, unsigned long * flags) { int fd, r, f = 0; fd = open (name, OPEN_FLAGS); if (fd == -1) return -1; r = ioctl (fd, EXT2_IOC_GETFLAGS, &f); *flags = f; close (fd); return r; } Természetesen a "flags" tartalmazza majd a flagek bitmezőjét. Ezért a kis részért vagy 3 napot küzdöttem... Ehhez képest a programom összes többi része egy "laza csuklómozdulat" volt, rutinmunka. Így ránézve persze nincs ebben sem semmi különös, TECHNIKAILAG nem bonyolult, csak amíg rájöttem, mert azok a francos leírások illetve azok hiánya... Wiki akkor kell majd ha a program kész lesz. De ha neki akarsz esni hogy nézegesd, leírtam mit kell tenned: küldesz nekem egy email címet, s arra elpostázom neked. Nagyon szívesen, mert miért is ne...