Close
Faqja 4 prej 4 FillimFillim ... 234
Duke shfaqur rezultatin 31 deri 35 prej 35
  1. #31
    i/e regjistruar
    Anëtarësuar
    12-06-2006
    Vendndodhja
    Redmond, WA, USA
    Postime
    181
    Neritan, ja po e publikoj këtu një metodë të cilën Microsofti e përdorë shumë që nga W2k, dhe e ka përdorur edhe më shumë tani në Vista.

    Metoda quhet "shimming".
    Konsideroje rastin kur ti ke sistemin operativ XP. Dhe ke plot programe për XP. Në rastin kur ti bën -upgrade- nga XP në Vista, të gjitha programet që ke pasur prapë do të mbesin. Por disa prej tyre mund të mos jenë të përshtatshëm për punë në Vista. Në këtë rast, ti e shejon që ky program të punojë në "XP compatibility mode".
    Kur një program i tillë ekzekutohet, sistemi krijon një proces të ri, por në këtë proces libraria e parë që do të ngarkohet është shim.dll. Vista ka dy lloj të librarive, një lloj të vetat dhe ato për XP. Shim.dll do të ngarkoj libraritë për XP dhe do ti ri-hartojë të gjitha API thirrjet në adresa të librarisë së ngarkuar. Gjëra të tilla nuk janë sekrete, dhe as që janë të pamundura.

    Ja edhe një shembull tjetër nga bota e rootkit-ave.
    http://www.rootkit.com/newsread.php?newsid=689


    Edhe një gjë tjetër.
    Atë që ke postuar ti nga Intel - PROTECTION. A mund të më tregosh se si mund një procesor të identifikojë se nga çka duhet të mbrohet.

    Apo më mirë, a mund të më tregosh se për çfarë mbrojtje bëhet fjalë?

    A e din se çka janë Ring Levels?

    Cilat janë përjashtimet kur një kod in nivelit më të ulët mund të ketë çasje në atë më të lartë?

    Ato që ke parashtruar ti janë më tepër probleme të atyre që kërkojnë ta bëjnë patch (apo upgrade) kernellin dhe atë pa e resetuar procesorin fare. Projekte të tilla ka për linux.

    //Agroni

  2. #32
    Team UARE
    Anëtarësuar
    23-11-2006
    Vendndodhja
    Bathore
    Postime
    19
    Citim Postuar më parë nga Neritan Hyso
    Tani, une e di se sa e veshtire eshte te sigurosh jetesen ne Shqiperi duke krijuar programe, ashtu sikurse e di se sa e PA-MUNDUR eshte te sigurosh jetesen duke krakuar programe. Keshtuqe une i mirekuptoj reagimet emocionale te krakerave ndaj argumentave te mi. Ne fund te fundit, iluzioni i tyre se mund te krakojne gjithcka, dhe se nese nuk e bejne nje gje te tille, eshte sepse jane njerez “etik” - eshte i vetmi shperblim qe mund te marrin nga puna e tyre.
    Nese ti mendon se qellimi yne eshte te thyejme programe per te siguruar jetesen atehere qenke vertet naiv Ne te vertet eshte thjesht nje kuriozitet ose hobi quaje si te duash. Sikur ti kishim varur shpresat per te siguruar buken e gojes tek thyerja e programeve ky diskutim nuk do kishte ndodhur sepse do kishim vdekur urie Ndersa sa per fjalen "etik" po ta sqaroj qe nuk e botuam ne net krakun per fjalorin tend sepse nuk deshem te te conim dem punen tende me te cilen ti siguron jetesen. Nese ti me fantazine tende mendon qe nuk e botuam sepse deshem ta shisnim me cmim te lire ne treg te zi une do te te demostroj te kunderten duke e botuar ne te gjithe forumet shqiptare. Sa per dijenine tende pjesa me e madhe e anetareve tane jane ne vende pune me te ardhura te konsiderueshme, disa prej tyre ndodhen jashte kufijve te Shqiperise dhe nuk kane nevoje per cikerrima sepse nuk jane pabuksa.
    Team UARE

  3. #33
    i/e regjistruar
    Anëtarësuar
    17-11-2006
    Postime
    81
    Nje zot e di se si ky tekst:
    Tani, une e di se sa e veshtire eshte te sigurosh jetesen ne Shqiperi duke krijuar programe, ashtu sikurse e di se sa e PA-MUNDUR eshte te sigurosh jetesen duke krakuar programe. Keshtuqe une i mirekuptoj reagimet emocionale te krakerave ndaj argumentave te mi. Ne fund te fundit, iluzioni i tyre se mund te krakojne gjithcka, dhe se nese nuk e bejne nje gje te tille, eshte sepse jane njerez “etik” - eshte i vetmi shperblim qe mund te marrin nga puna e tyre.
    nenkuptoka ne fakt te kunderten e tij.

    Menyra se si funksionon mendja e Gabelit eshte nje mister me vete, por nuk di pse e gjitha kjo me sjell ndermend barsaleten e pleshtit:

    “Mesuesja, per ta ndihmuar nje nxenes te dobet, i thote se neser do ta ngreje ne mesim, prandaj te mesoje nje nga temat e zhvilluara. Nxenesi zgjedh mesimin ku flitej per pleshtin, por te nesermen mesuesja ishte e semure, dhe zevendesuesja nuk dinte gje per paktin qe nxenesi kishte me mesuesen e tij. Zevendesuesja e ngre ne mesim dhe e pyet per delen. Nxenesi ja nis.... ... delja na jep mishin, qumeshtin, leshin... ... tani tek leshi ndodhet pleshti, dhe pleshti... (nxenesi ja nis gjere e gjate mbi pleshtin – te vetmin mesim qe dinte). Mesuesja, e habitur pak nga akrobacia me te cilen nxenesi e transformoi mesimin e deles ne ate te pleshtit, e pyet per mesimin mbi dhine. Nxenesi, permes te njejtit “sistem” (leshit) kalon perseri nga dhia te pleshti. Tashme, mesuesja qe e kapi hilen, e pyet nxenesin per mesimin mbi peshkun. Nxenesi ja nis ... peshku ka luspa, nuk ka lesh, por po te kishte lesh aty do rritej pleshti... ...dhe pleshti...“

    ...ndoshta per shkak te ngjashmerise me te cilen gabeli transformon theniet e te tjereve ne menyre qe ta “nxjerre muhabetin” tek naiviteti (nuk dua te spekulloj se pse gabeli eshte kaq i fiksuar mbas naivitetit).

    Dhe meqe jemi ne “atmosferen” e barsaletave (shume nga “argumentat” e mesiperm, me shume se argumenta teknik, jane (sic thote edhe qoska) gallate), edhe komenti i Ulke Topallit me sjell ndermend “... Cfare uji i ke dhene gomarit...” – po te thuash se ke pak eksperience me nje debuger, qoska do thoshte “smarrke vesh”, po te thuash se ke shume eksperience me nje debuger, ulke thote “serisht s’marrke vesh”, “... ma dogje gomarin...”

    Dikur kur perdorja Delphi-n, dhe lexoja neper artikuj “s’ka programe pa bug-e”, apo “se sa e veshtire eshte te kapen disa bug-e” – thosha me vete “une duhet te jem vertet shume i zoti, sepse programet e mi s’kane bug-e, dhe une e arrij kete pa u sforcuar fare” (te gjithe kalojme permes nje “adoleshence profesionale”, dhe une s’bej perjashtim). Por ca vite me vone, kur u “rrita” profesionalisht, dhe me Delphi-n apo C++ Builder gjithnje e me teper “me dilnin kembet jashte jorganit”, fillova te shkruaj programe duke perdorur “low level” API, dhe “zbulova” se (ndonese tashme dija me shume) as une nuk beja perjashtim nga “simptoma” e te shkruarit programe me bug-e.
    I “shqetesuar” i bera pyetje vetes “po si dreqin me pare shkruaja programe “perfekte”?”.
    Pergjigja qe munda t’i jap vetes ishte: - sepse me pare perdorja “platforma”, nje nga meritat kryesore te te cilave eshte se ofrojne implementime te gatshem (te testuar dhe “de-bug”-uar), duke minimizuar ndjeshem bug-et qe mund te ndodhin “at runtime” duke i “detyruar” keto bug-e te ndodhin “at compile time” – ku eshte me e lehte per t’i kapur.


    Ulke mund te jete vertete ne hapat e tij te pare ne programim, por meqenese na demostroi se ka nje “formim” te respektueshem juridik, une do i sugjeroja Gabelit, qe me Ulken si avokat, ta hedhin ne gjyq kompanine qe ka krijuar “Magic Utilities 2006” (ne nje mesazh te meparshem Gabeli shkruante se ky program kishte “guxuar” t’i demtonte kompjuterin, por i kishte ngecur sharra ne gozhde me nje “usta” si Gabeli).

    Per sa i perket referencave qe sjell Agroni, une sinqerisht nuk e kuptova se c’lidhje kishin me subjektin, prandaj do doja ta shtjellonte me tej. Deri atehere, komenti im eshte ky:
    Nje kraker nuk ka nevoje te “sfilitet” per te krijuar nje program (si ai i shembullit) i cili “at runtime” te modifikoje programin “target” ne kompjuterin e c’do perdoruesi – nje kraker mund ta modifikoje ne menyre shume me komode programin “target” ne kompjuterin e tij, e me pas te shperndaje kete kopje te modifikuar. Pra, ndersa referenca paraqiste nje teknike intelektualisht te respektueshme, ajo nuk perben asnje argument ekstra mbi mundesine e krakimit (ne fakt aty pershkruhet se si mund te injektosh kod ne nje proces tjeter – dicka me shume “virus alike”). Edhe programi i fjalorit tim, ndonese ne nje menyre shume me “qytetare”, injekton kod ne proceset e tjere (si per te monitoruar dopio-klikun ashtu edhe per te perkthyer ne IE apo Word).

    Tani persa u perket fragmenteve nga dokumentacioni i Intelit, une nuk i “zgjodha” ato me ambicien per te sjelle nje shpjegim te detajuar mbi “ring”et apo suportin qe ofron procesori per “virtual memory”, por thjeshte si nje indikacion. Pra une u perpoqa te perfshija ne ato figura logon e Intel-it si dhe titullin e kapitullit – sic mund ta vini re, dokumentacioni i Intel-it permban kapituj te tere mbi keto subjekte. Nese me pyetjet e tua, shpreson se une do vete-punesohem si perkthyes i ketij forumi (duke ta perkthyer/shpjeguar gjithe dokumentacionin e Intel-it ne Shqip), me duhet te te zhgenjej.

    Realisht une nuk arrij ta kuptoj, se si nga njera ane ju duket krejtesisht e mundur (dhe ne fakt eshte), qe nje program te injektoje (dhe ekzekutoje) kod brenda nje procesi tjeter (pa qene nevoja te ekzekutohet ne “ring 0”), dhe e keni te veshtire te kuptoni qe nje program, e ka akoma me te lehte t’i beje keto truke mbi veten e tije. Une serisht nuk e kuptoj se ku e sheh qoska nevojen per te “tejkaluar API-n” apo per te krijuar nje “emulator”. Shembulli i ATL-se per implementimin e WindowProc, artikulli qe gjeti edspace mbi te njejtin subjekt, dhe ky i fundit qe sjell Agroni, te gjithe tregojne se nje bllok me numra (ne artikullin qe solli Agroni “blloku me numra” perfaqesohej nga nje vector UCHAR InjectionCode[] = {...}, ndersa ne shembujt e tjere perfaqesohej nga nje strukture struct _stdcallthunk {...}), mund t’i jepet procesorit t’i ekzekutoje. Dhe nuk shoh ku qendron veshtiresia te ngarkosh nje bllok me byte nga nje file propietary ne “address – space” e programit tend.

    Sidoqofte, sic thote edhe gabeli, perqasja juaj ndaj kesaj fushe eshte ne nivel amatoresh, mbasi per te jetuar ju duhet te beni pune te tjera (kjo shpjegon shume gjera – psh. formimin juridik te Ulkes – me siguri punon si jurist), prandaj ne vijim po ju parashtroj nje “teknike” shume me te thjeshte per te mbrojtur nje program.

    Ne rastin tipik, nje program krahason disa parametra (per te kuptuar nese eshte i regjistruar/aktivizuar) dhe ne varesi te rezultatit shfaq dritaren e regjistrim/aktivizimit apo hapet normalisht.
    Tani eshte e kote t’i hyjme debatit “mundet apo s’mundet te lexohet/kuptohet” i gjithe programi ne asm (ekzistenca e termit “open source” (dhe gjithe debatet rreth tij) jane pergjigja me e mire), per me teper per te krakuar nje program nuk eshte nevoja ta kuptosh te gjithe ate.
    Momenti kur shfaqet dritarja e regjistrim/aktivizimit perben piken (e arsyeshme) te nisjes – nje kraker mjafton te inspektoje kodin prane instruksionit qe shfaqi dritaren, dhe te “loze” duke ndryshuar ndonje “ja”, “jb”, “jg”, ejt ne “jmp” – nese s’funksionon, e kthen sic ishte dhe provon dicka tjeter.
    Le ta zeme se nje ndryshim i tille vertet e anashkalon testin e regjistrim/aktivizimit dhe programi punon normalisht. Pra u krakua.

    Por cfare mund te ndodhe nese pervec testit te mesiperm, autori i programi ka bere edhe nje test tjeter (apo me shume) i pozicionuar larg prej testit te pare (si ne vendodhje ashtu edhe ne kohe) por ky test i dyte, nuk e pengon punen normale te programit (duke shfaqur dritaren e regjistrim/aktivizimit), jo, ai thjesht numeron se sa here programi ka per t’u ekzekutuar ne kete menyre (pra programi hapet nderkohe qe krahasimi i parametrave na thote se programi nuk eshte i regjistruar/aktivizuar – c’ka do te thote se eshte i krakuar).

    Pra ndersa testi i dyte “e ka kuptuar” qe programi eshte krakuar (po punon kur s’duhej te punonte), ai (ndryshe nga testi i pare qe me “prepotence” “nxjerr koken perpjete” (shfaq dritaren e regjistrimit) duke ja bere te lehte nje krakeri ta “kapi per koke”), fillon te numeroje ne heshtje (pa i dhene mundesi krakerit te zbuloje ekzistencen e tij).

    Mbasi krakeri e ka testuar shume here programin dhe ai punon normalisht, s’i ngelet vecse te bindet se “krakimi perfundoi me sukses”. Krakeri e shperndan programin, dhe perdoruesit fillojne ta perdorin ate.
    Mbas ca kohesh, kur numerimi qe ben testi i dyte arrin nje limit (i cili mund te mos jete nje vlere fikse, por nje numer “random”), programi fillon t’u “prishe humorin” perdoruesve te tij.

    Nese nje eksperience (jo e lumtur) per kapjen e ndonje bug-u te veshtire na inspiron per krijimin e nje skeme mbrojtje, atehere shprehja “bug-et me te veshtira jane ato qe ndodhin shume rralle (dhe eshte e veshtire te riprodhohen)” merr nje kuptim te vetin ne rastin e mbrojtjes.


    Eshte vertete e cuditshme, se si njerez shume te zote, te punesuar ne firma te medha (si psh. Microsoft-i (Agron, nuk e kam fjalen per ty!)), per muaj me rradhe “nuk arrijne te kuptojne dot ate qe kane shkruar vete”, edhe pse kane source code, per me teper te shkruar sipas “stilit” te tyre – e kam fjalen per ato “pak” bug-e qe mbartin per muaj me rradhe pershkrimin “Microsoft has cofirmed this to be a bug... ... will notify when a fix is available”.
    Dikush duhet tja perktheje ne Anglisht Bill Gates permbajtjen e ketij forumi (ndoshta ti Agron).
    Jam i sigurte se me tu njohur me aftesite e krakerave Shqiptare, te cilet jane te afte te kuptojne jo kodin e tyre (...ndoshta nuk kane shkruar dicka te tille, por gjithesesi...) por edhe ate te te tjereve, pa source-code, dhe pa dashur tja dine per cfaredolloj teknike qe autori mund te kete implementuar per tu “futur shkopinj ne rrota” - Bill Gates ka per t’i pushuar ne vend te gjithe inxhinieret e Microsoft-it, per ta “ri-populluar” Microsoft-in me krakerat Shqiptare (kuptohet, nese keta te fundit do pranojne te heqin dore nga punet e tyre me te ardhura te shumta, per te punuar si inxhiniere tek Microsoft-i).

    Vetem Agron, duhet te nxitosh – kam degjuar se Bill Gates ka ndermend te heq dore nga drejtimi aktiv i Microsoft-it.

  4. #34
    i/e regjistruar
    Anëtarësuar
    16-04-2004
    Postime
    674

    Per here te fundit

    Neolitan,
    pasi qe te intereson profesioni im ne aq mase te madhe sa qe po mundohesh me e qellu, qe nuk po shkojme verdalle e po te tregoj shkurt e shqip (e pak edhe anglisht). Titulli im i punes eshte IS Coordinator (koordinator i sherbimeve informatike). Kjo nuk te thot shum e as pak perderisa nuk e din se un punoj per nje Venture i cili i posedon 4 kompani te medha prodhuese dhe 2 distributive qe ndodhen si ne kanade ashtu edhe ne shba. Pasi qe kemi nje larmeri te sistemeve informatike (AIX, LINUX, Windows, etj) prandaj edhe nevoja per punen time. Perndryshe programine pare e kam shkruar ne fortran 4 ne 1983 (nuk besoj se ke qene i lindun atehere). Per dallim prej ty, une prej 1999 e siguroj ekzistencen jasht fushes time profesionale (me fjale tjera nuk punoj si inxhinjer i elektronikes) ndersa ti ende varesh nga prinderit. Prej postimeve tuaja eshte shum lehte per mua te kuptoj se kam te beje me nje student i cili ka filluar ti kuptoj dy tri sende ne boten e programimit dhe mendon se keshtu mund ta impresionoj cdo kend. Per me teper shihet se kjo bote e jotja eshte ende e kufizuar me perdorimin e Windows. Mungesa e fokusit ne diskutime tregon nje pasiguri rreth njohjes se temes se shtjelluar, ndersa reagimet emocionale ndaj kritikave konstruktive tregon nje papjekuri.

    Do ta jap nje shembull se pse eshte me rendesi fundamenti i cfaredo programi te jet i vene ne menyre te drejte. Para dy muajsh kemi vendosur te zhvillojme nje program te vogel dhe te thjeshte per distributoret tone, specifikacioni eshte bere atehere dhe ne e kemi kryer punen. Pas prezentimit te programit ne baze te kerkesave te distributoreve eshte ndyshouar specifikacioni i programit. Pas edhe disa jave pune ne zhvillim, dje e morrem raportin e testuesve. Nje kallabellek gabimesh (bug), prej vetem 6000+ rreshta kod.

    Ky rezultat ka qen per tu pritur pasi qe ne mes te zhvillimit jane ndryshue kerkesat fundamentale. Ne drite te ketij shembulli edhe ti kupto kritikat e mia per sypozimet e gabuara qe i ke bere ne fillim te kesaj teme.

    Sa i perket kontributit konkret ne programim une dhe agroni mirepresim vullnetar per pjesemarje ne zhvillim te nje programi per fakultetet elektronike (shihe temen: http://forumishqiptar.com/showthread.php?t=44137).

  5. #35
    mos e luaj; I DEBUAR! Maska e qoska
    Anëtarësuar
    17-05-2004
    Vendndodhja
    tirane
    Postime
    837
    Heh,

    sulmi eshte mbrojtja me e mire o Neritan por me vjen keq qe nuk mund te besh nje diskutim konstruktiv. Kam pershtypjen se kjo vjen ngaqe nuk je mesuar te besh pune ne grup, pra te hedhesh idene dhe te presesh sugjerime per me teper ti pranosh ato.

    Te lutem lere "open-source" jashte kesaj sepse nuk ecen si fakt ne kete teme!

    Me vjen mire qe ke "eksperience" ne zhvillim software, perdorim debuggerash dhe gjuhesh programimi, por nuk do te thote se ke perdorur 2-3 "tool"(edhe debuggera) dhe e di se cfare ben. Nje kundershembull i thjeshte eshte se shume veta e perdorin Word-in per nje kohe te gjate por as qe ja kane haberin se cfare mund te beje realisht lere me sesi arrin ti beje ato.

    Persa i perket mbrojtjes se programeve, ajo qe ke sugjeruar eshte nje variant mjaft naiv, cuditshme si i ka shpetuar Microsoft dhe Bill Gates's ndoshta me kete fushaten e punesimit te shqiptareve duhet te sulesh dhe ti per te ofruar gjenialitetin tend.

    Me vjen mire qe sjell manuale ketu te firmave te njohura, ishalla ben dhe leke me kete menyre, problemi eshte se nuk sjellin asnje argument mbi diskutimin.

    Trego pak respekt per te tjeret(te pakten ne qe postojme ketu) mundohu te kuptosh c'kemi dashur te themi me ato rreshtat qe kemi shkruar dhe pastaj merr vrull te japesh pergjigje.
    Pasi duket sikur ti merrke vesh nga te gjitha por si i thone:
    "Ai qe di pak nga te gjitha s'di asgje!".


    Realisht une nuk arrij ta kuptoj, se si nga njera ane ju duket krejtesisht e mundur (dhe ne fakt eshte), qe nje program te injektoje (dhe ekzekutoje) kod brenda nje procesi tjeter (pa qene nevoja te ekzekutohet ne “ring 0”), dhe e keni te veshtire te kuptoni qe nje program, e ka akoma me te lehte t’i beje keto truke mbi veten e tije. Une serisht nuk e kuptoj se ku e sheh qoska nevojen per te “tejkaluar API-n” apo per te krijuar nje “emulator”. Shembulli i ATL-se per implementimin e WindowProc, artikulli qe gjeti edspace mbi te njejtin subjekt, dhe ky i fundit qe sjell Agroni, te gjithe tregojne se nje bllok me numra (ne artikullin qe solli Agroni “blloku me numra” perfaqesohej nga nje vector UCHAR InjectionCode[] = {...}, ndersa ne shembujt e tjere perfaqesohej nga nje strukture struct _stdcallthunk {...}), mund t’i jepet procesorit t’i ekzekutoje. Dhe nuk shoh ku qendron veshtiresia te ngarkosh nje bllok me byte nga nje file propietary ne “address – space” e programit tend.
    Si thua ka kuptim kjo fjali me ate qe po diskutojme ketu!
    Mos ngaterro funksionalitetet e sherbimeve te ndryshme te ofruara ne shtresa te ndryshme se pastaj behesh lemsh.
    (Gjynah ato firma sigurie qe s'te njohin se do ishte mbyllur ky treg me ndihmen tende!)

    Me te mira.

Faqja 4 prej 4 FillimFillim ... 234

Tema të Ngjashme

  1. Sheikh Muhamed Nasuridin Albani
    Nga forum126 në forumin Komuniteti musliman
    Përgjigje: 20
    Postimi i Fundit: 19-08-2009, 11:01
  2. Shenja ne Rruge!?
    Nga ORIONI në forumin Komuniteti musliman
    Përgjigje: 11
    Postimi i Fundit: 17-06-2009, 08:47
  3. Roli i Famullisë së Tiranës në mbrojtjen e hebrenjve
    Nga Brari në forumin Historia shqiptare
    Përgjigje: 0
    Postimi i Fundit: 31-01-2009, 02:55
  4. Zyra për Mbrojtjen e Qytetarëve: Armando Duka në konflikt interesi
    Nga Albo në forumin Tema e shtypit të ditës
    Përgjigje: 0
    Postimi i Fundit: 03-09-2006, 22:33
  5. Radio Maria ne gjuhen shqipe
    Nga NoName në forumin Komuniteti katolik
    Përgjigje: 3
    Postimi i Fundit: 09-08-2006, 03:47

Regullat e Postimit

  • Ju nuk mund të hapni tema të reja.
  • Ju nuk mund të postoni në tema.
  • Ju nuk mund të bashkëngjitni skedarë.
  • Ju nuk mund të ndryshoni postimet tuaja.
  •