Korisnički alati

Site alati


studenti:bruno_humic:mp_dnevnik

Razlike

Slijede razlike između dviju inačica stranice

Poveznica na ovu usporedbu

Novija izmjena
Starija izmjena
studenti:bruno_humic:mp_dnevnik [2014/02/10 13:44]
kskracic stvoreno
studenti:bruno_humic:mp_dnevnik [2023/06/19 16:21] (trenutno)
Redak 3: Redak 3:
 ====  Dnevnik rada  ==== ====  Dnevnik rada  ====
  
-=== 1. tjedan (21.10 27.10.2013.) ===+=== 1. tjedan (4.8.2.2014.) === 
 + 
 +U prvom tjednu rada cilj je bio upoznati se sa osnovama asemblera za MS Windows operacijski sustav. U tu svrhu prošao sam seriju videa na stranici SecurityTube.net kako bi se prisjetio temeljnih stvari vezanih za asembler na MS Windows i Linux okruženju. Serije videa koje sam gledao mogu se na navedenoj stranici pronaći pod nazivima "​Windows Assembly Language"​ i "Linux Assembly Megaprimer"​.
  
-== Dosadašnji rad == 
-Prvo sam proučio dokumentaciju Arduina. Preuzeo sam program potreban za programiranje arduina. Saznao sam što je [[studenti:​mate_pavelic:​mp_nauceno|Arduino]],​ kako radi i kako se programira, njegovu sintaksu i o načinu na koji Arduino razmjenjuje podatke sa računalom i ostalim uređajima s kojima se može spojiti. Programirao sam ga da blinka ugrađenu LED-icu u intervalu od jedne sekunde i u intervalima Fibonaccijevog niza, te da se blinkanje može upravljati računalom. Kako bi Arduinom upravljao elektromotor,​ proučio sam što je tranzistor, koja je razlika između [[studenti:​mate_pavelic:​mp_nauceno|unipolarnih (FET)]] i [[studenti:​mate_pavelic:​mp_nauceno|bipolarnih (BJT)]], koja je razlika između podskupine bipolarnih tranzistora - [[studenti:​mate_pavelic:​mp_nauceno|PNP]] i [[studenti:​mate_pavelic:​mp_nauceno|NPN]] tranzistori. Saznao sam što je [[studenti:​mate_pavelic:​mp_nauceno|H-bridge]],​ kako se koristi za kontrolu elektromotora i kako se navedeni tranzistori koriste u izradi takvog sklopa. Registrirao sam se na Zoteri i postavio do sada korištene stranice. Saznao sam što je [[studenti:​mate_pavelic:​mp_nauceno|poskakivanje (bouncing)]] signala kod tipki (push buttons) i kako riješiti taj problem. Izmjerio sam struju koja prolazi kroz motor kada je priključen na 1, 2 i 3 volta, te struju na istim naponima kada se motor namjerno fizički zaustavi. Napravio sam H-bridge od četiri NPN tranzistora i upravljao sam elektromotorom pomoću Arduina i mijenjao smjer vrtnje preko programa. Dodao sam pushbutton i njime i Arduinom mijenjao smjer vrtnje. 
  
 ----- -----
-=== 2. tjedan (28.10 - 3.11.2013.) ===+=== 2. tjedan (10.2 18.2.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
-Proučio ​sam i saznao kako rade stepper (koračni) motoriPronašao ​sam koje su dvije glavne skupine stepper motora ​[[studenti:​mate_pavelic:​mp_nauceno|UNIPOLARNI]] ​[[studenti:​mate_pavelic:​mp_nauceno|BIPOLARNI]] stepper motoriSaznao ​sam po čemu se razlikuju i iz starog floppy disk drivea sam izvadio bipolarni stepper motorSaznao ​sam da je za upravljanje bipolarnim stepper motorom potrebno imati dva H-bridgea zbog njegove konstrukcijePogledao ​sam što je to [[studenti:​mate_pavelic:​mp_nauceno|Arduino bootloader]] i napravio ​sam [[studenti:​mate_pavelic:​mp_nauceno|Arduino parallel programmer]] prema uputama na službenim Arduino stranicama koji se može koristiti ​za postavljanje ​(uploadArduino bootloadera na zamjenski mikrokontroler+ 
 +Ovaj tjedan uglavnom ​sam se bavio proučavanjem raznih materijala vezanih za reverzni inženjeringPreciznije, većinu vremena proveo ​sam čitajući određena poglavlja iz knjiga "​Reversing,​ Secrets Of Reverse Engineering"​ i "​Practical Malware Analysis"​. U poglavljima "​Foundations"​ i "Low-Level Software"​ iz prve knjige naučio sam osnovne pojmove ​tehnike vezane za reverzni inženjering te sam se prisjetio asemblerskog jezikaU poglavlju "​Windows Fundamentals"​ dobio sam uvid u arhitekturu Windows operacijskog sustava te sam se polagano ​počeo privikavati na Windows API pošto ću se baviti analizom zloćudnih programa na tom operacijskom sustavu. 
 +U knjizi "​Practical Malware Analysis"​ prošao ​sam poglavlje vezano ​za prepoznavanje tipičnih dijelova programskog jezika C u asembleruTako sam naučio kako prepoznati razne vrste petlji (for, while), grananja (if...else, switch), strukture, povezane liste te polja. Osim toga, u navedenom poglavlju upoznao sam se i sa osnovnim vrstama poziva funkcija u asembleru (engl. calling conventions). Nakon što sam prošao navedena poglavlja te dobio određene temelje iz područja reverznog inženjerstva, pribavio sam IDA Pro alat za rastavljanje ​(engl. dissasembler). Radi se o jednom od najpoznatijih alata za analizu asemblera te sam u poglavlju "IDA PRO" u knjizi "​Practical Malware Analysis"​ naučio osnove za korištenje tog alata.
  
 == Daljnji koraci == == Daljnji koraci ==
-Pomoću integriranog čipa L293NE (http://​datasheet.octopart.com/​L293NE-Texas-Instruments-datasheet-8627554.pdf) kontrolirati bipolarni stepper motor iz floppy disk drivea i staviti Arduino bootloader na zamjenski mikrokontroler. ​ 
  
------ +U sljedećem tjednu planiram se više orijentirati na praksuIz tog razloga upoznati ​ću se sa alatima vezanima za debugging i decompile na Windows operacijskom sustavuKako bi dobio dobar uvid u te alate proćću poglavlje "​Reversing Tools" u knjizi "​ReversingSecrets Of Reverse Engineering"​. Također, krenuti ću sa proučavanjem Olldbg debuggera te rješavati neke jednostavnije zadatke iz područja reverznog inženjeringa
-=== 3tjedan (4.11 - 10.11.2013.) === +
-== Dosadašnji rad == +
-Pomoću IC-a L293NE (http://​datasheet.octopart.com/​L293NE-Texas-Instruments-datasheet-8627554.pdf) upravljao sam DC elektromotorom. S istim čipom sam upravljao ​bipolarnim stepper motorm iz floppy diskaali priključnice na motoru su međusobno dosta blizu jedna drugoj pa nisam uspio najbolje ih zalemiti za žice kojima bi sam motor lakše spojio na protoboard i nakon što sam ih par puta spojio i odspojio na protoboard, priključne žice su otpale s motora +
  
-== Daljnji koraci == 
-Pronaći bipolarni stepper motor s bolje izvedenim priključnim žicama i ponovo upravljati motorom s Arduinom i L293NE. 
  
 ----- -----
-=== 4. tjedan (11.11 17.11.2013.) ===+=== 3. i 4. tjedan (19.5.3.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
-Pronašao sam bipolarni stepper motor iz floppy diska s dovoljnim razmakom između priključnih pinova na koje sam zalemio žice i uspio sam upravljati stepper motorom s Arduinom i L293NE-om (http://datasheet.octopart.com/L293NE-Texas-Instruments-datasheet-8627554.pdf)Uplodao ​sam [[studenti:​mate_pavelic:​mp_nauceno|Arduino bootloader]] na zamjenski IC ATMEGA8-16PU (http://​pdf1.alldatasheet.com/​datasheet-pdf/​view/​171443/​ATMEL/​ATMEGA8-16PU.html) pomoć[[studenti:​mate_pavelic:​mp_nauceno|parallel port programmera]] kojeg sam napravio+U ova dva tjedna rada najvišsam se bavio reverzingom jednostavnih crackme programa sa stranice "http://thelegendofrandom.com/blog/sample-page"Uspio sam proći prvih 13 zadataka te do kraja ovog tjedna planiram završiti sa zadnja dva kako je planirano u zadatkuSav reverzing ​sam radio preko Ollydbg debuggera pošto se radi o jednom od najpopularnijih alata za reverzni inžinjeringOsim praktičnog dijela čitao sam o ostalim alatima koji se koriste ​reverznom inženjeringu te sam isprovao besplatni verziju IDA Pro alata.  
-~~NOTOC~~+  
  
- 
------ 
-=== 5. tjedan (18.11 - 24.11.2013.) === 
-== Dosadašnji rad == 
-Napravio sam prvu verziju Bee-bota koji se upravlja računalom preko USB kabela i može se kretati u smjeru naprijed-nazad. Rastavio sam DVD drive i na donji pravokutni dio limenog kučišta sam pričvrstio tri DC motora. Po jedan sa stražnje lijeve i desne strane i jedan naprijed u sredini. Zadnja dva sam spojio na Arduino, protoboard, IC s H-bridegom i njima pokretao autić, dok je prednji motor služio samo za održavanje ravnoteže. 
 == Daljnji koraci == == Daljnji koraci ==
-Napraviti cjelokupni program za rad Bee-bota, proučiti i naći rješenja za "ekstremne" ​slučajeve u kojima ​se Bee-bot možnaći, uplodati programe direktno na zamjenski čip bez prethodnog uplodanja bootloadera. +U sljedećem tjednu planiram završiti sa zadanim tutorialima na stranici ​"http://​thelegendofrandom.com/​blog/​sample-page" ​te se okušati u malo složenijim problemima ​na stranici " http://​crackmes.de"​.
-~~NOTOC~~+
  
  
 ----- -----
-=== 6. tjedan (25.11 1.12.2013.) ===+=== 5. i 6. tjedan (6.24.3.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
-Mislim da bi rješenje za određivanje je li Bee-bot u nekom od "​ekstremnih"​ slučajeva (podignut s poda, proklizavanje kotača ​...) bilo korištenje akcelerometra koji može mjeriti vibracije. Odredio bih koliko iznose vibracije kada je Bee-bot u normalnom načinu rada i napravio bi rješenja za situacije kada se nađe zabranjenom načinu radaUmjesto prednjeg DC motora stavio ​sam kotač koji se može rotirati za 360 stupnjeva i tada bi autić mogao mijenjati smjer na način da se nakratko ugasi motor suprotan od strane ​koju se želi dovesti autić tjda se ostavi upaljen onaj koju se stranu ​želi skrenuti. Tako ako se ostavi ugašen desni motor lijevi upaljen motor će skrenuti u lijevoAutić se nije pomicao, iako su motori radili ​kako trebaPretpostavljam ​da su preslabi.+U posljednja dva tjedna bavio sam se najviše reverznim inžinjeringom raznih Crackme programa sa stranice http://​crackmes.de/ Do sada sam uspio riješiti 20ak Crackmea te se sve bolje snalazim ​tome područjuTakođer, prvi puta sam se susreo sa programima pisanima ​Delphi programskom jezikuDisasemblanjem tih programa dobiva ​se struktura asemblerskog koda koja je donekle drugačija od asemblerskog zapisa programa pisanih ​C i C++ jezicima, stoga sam dio vremena proveo čitajući literaturu namijenjenu reverznom inženjerstvu Delphi programa. Tako sam se susreo sa nekim novim alatima, poput Resource Hacker ​DeDe, koji značajno pojednostavljuju reverzing Delphi programa. 
 +Osim toga, započeo sam proučavati literaturu vezanu za naprednije statičke i dinamičke tehnike reverzinga iz knjige "​Practical Malware Analysis"​. Time sam započeo sa drugom točkom plana rada gdje je potrebno proučiti tehnike analize zloćudnih aplikacijaU sljedećih nekoliko dana nastojat ću proći cijelu literaturu vezanu za nalizu ​kako je dogovoreno na sastankuNakon toga krenut ću na analizu nekih stvarnih malicioznih programa te ,nadam se da u konačnici, ponuditi i neka riješenja za njih.
  
-~~NOTOC~~ 
------ 
-=== 7. tjedan (2.12 - 8.12.2013.) === 
-== Dosadašnji rad == 
-Proučio sam kako i na koji način radi laserski miš za računalo i njeogv IC ću iskoristiti za određivanje brzine i stanja Bee-bota.  ​ 
-== Daljnji koraci == 
-Napraviti "​dijagram stanja"​ koji će grafički prikazati što će Bee-bot izvršavati i u kojem će se stanju naći u ovisnosti o unešenoj naredbi. 
 ~~NOTOC~~ ~~NOTOC~~
  
  
 ----- -----
-=== 8. tjedan (9.12 15.12.2013.) ===+=== 7. tjedan (25.4.4.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
-Napravio ​sam "​dijagram stanja"​ koji pokazuje kako bi Bee-bot trebao raditi. Proučio sam i uspio uplodati program ​(sketchna Arduino direktno, bez prethodnog uplodanja bootloadera,​ kako bi se tedilo na količini memorije+U posljednjih tjedan dana bavio sam se naprednijima temama iz područja statičke i dinamičke analize zločudnih programa. Prošao ​sam dio 2(Napredna statička analiza) ​dio 3(Napredna dinamička analiza) u knjizi "​Practical Malware Analysis"​. Na kraju svakog poglavlja u knjizi nalazi se popis malicioznih programa i zadataka koje je potrebno napraviti analizom istih te sam prošao te zadatke i time po prvi puta zakoračio u praktični dio vezan za analizu zločudnih programa.  
-== Daljnji koraci == +Osim toga naučio sam se koristiti i nekim dodatnim alatima vezanima za analizu malwarea (osim Ollydbg i IDApro koje sam koristio i prije). Neki od tih alata su PEview, PEid, Dependency Walker, Process monitorProcess explorer te apateDNS.
-Probati pomoću zupčanika iz CD/DVD drivea dobiti da se Bee-bot može pomicatijer DC motori imaju preslabi okretni momenat da bi uopće pokrenuli cijelu konstrukciju.+
 ~~NOTOC~~ ~~NOTOC~~
  
  
 ----- -----
-=== 10. tjedan (16.12 22.12.2013.) ===+=== 8., 9., 10. tjedan (5.4. - 29.4.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
-Zupčanici iz CD/DVD drivea neće biti dobri jer nema niti jedan par međusobno istih zupčanika ​niti jedan se ne može staviti na već izvađene motoreIzvadio ​sam iz dva DC/DVD drivea dio kučišta na kojem se nalazi DC motor zajedno sa zupčanicima ​koji se izbacuju "​ladicu"​ drivea+U posljednja tri tjedna bavio sam se analizom stvarnog malwarea. Program sam pronašao putem stranice http://​www.malwareblacklist.com/​ i sudeći po podacima sa stranice VirusTotal.com , pretpostavljam da se pojavio početkom 2013godine. Odlučio ​sam napisati blog post na engleskom koji sadrži detaljnu statičku dinamičku analizu nad zloćudnim programom jer smatram kako bi neke stvari u tom postu mogle poslužiti ostalima ​koji se bave ovim područjemBlog sa detaljnom analizom nalazi se na sljedećoj poveznici: http://​ubnixmalwareanalysis.blogspot.com/ ​ 
-== Daljnji koraci == +Sljedećkorak je probati analizirati neki zapakirani malware te proučiti najpoznatije packere/​unpackere. U tu svrhu ću također napisati blog kada završim
-Pokušati staviti IC od laserskog miša mjeriti brzinu konstrukcije.+
 ~~NOTOC~~ ~~NOTOC~~
  
------ 
-=== 11. tjedan (23.12 - 29.12.2013.) === 
-== Dosadašnji rad == 
-Motore sam zajedno sa zupčanicima na plastici iz kučišta drivea pričvrstio na šasiju i sada se konstrukcija bez problema pomiče u bilo kojem smjeru. Zamijenio sam podlogu od CD/DVD drivea na kojoj se nalazio sklop i na kojoj su bili pričvršćeni motori s poklopcem (gornjom stranom) HDD-a koja je čvršća i lakša i čitavom konstrukcijom za sada upravljam preko laptopa koji je USB kabelom spojen na Arduino i šaljem mu naredbe, preko serial porta, u kojem smjeru da okreče motore.  ​ 
-== Daljnji koraci == 
-Proučiti librarye napravljenje za Arduino za upravljanje IC-em iz laserskog miša. Saznati kako programirati Arduino da upravlja konstrukcijom bez da je prikopčan na laptop putem USB-a i da mu kao izvor energije služi baterija. 
-~~NOTOC~~ 
  
----- 
-=== 12. tjedan (30.12.2013. - 5.1.2014.) === 
-== Dosadašnji rad == 
-Napravio sam dijagram stanja i dijagram toka programa. Napravio sam pojednostavljeni sklop autića s tri push-buttona i dvije ledice. Pritiskanje prva dva gumba bi određivalo koja će LEDica blinkati, a treći gumb, kada se pritisne, bi u programu predstavljao kraj unosa naredbi preko prva dva gumba. Još nisam uspio dobiti program da ispravno radi, mada se program uploada bez javljanja grešaka. 
-== Daljnji koraci == 
-Poraviti program da radi kako treba i onda proširiti funkcionalnost na autić. Popraviti i doraditi dijagram stanja i dijagram toka programa ​ 
-~~NOTOC~~ 
  
----- +----- 
-=== 13. tjedan (6.1.2014. - 12.1.2014.) ===+=== 11. tjedan (30.4. - 11.5.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
-Dodao sam još tri LEDice i sada ih ima sveukupno četiri i one predstavljaju smjer gibanja autića. Spojio sam i šest push-buttona od kojih prva četiri određuju koja će se LEDica blinkati. Peti button određuje kada je gotov unos naredbi i kada će početi blinkanje, a ako se pritisne dok LEDice blinkaju, označava kraj tj. LEDice prestaju blinkati. Šesti button služi ​za brisanje unešenih naredbi +U posljednjih tjedan dana bavio sam se proučavanjem alata za pakiranje(englpackers) i raspakiranje(englunpackersizvršnih datotekaU svrhu toga prošao sam poglavlja 12,13 18 iz knjige ​"Practical Malware Analysis" ​te sam sa stranice tuts4you.com nabavio jedan zapakirani ​program ​koji sam otpakirao ​opisao cijeli postupak ​na blogu: http://ubnixmalwareanalysis.blogspot.com/​2014/​05/​manual-unpacking-of-upx-304.html 
-== Daljnji koraci == +Također, napisao sam se i izvještaj na Hrvatskom jeziku koji sam poslao na uvid asistentuSljedeći tjedan bi trebao biti sastanak ​na kojem ćemo dogovoriti daljnje korake rada.
-Postići da kada se stisne peti gumb dok LEDice još blinkaju, blinkanje prestane. +
- +
- +
-~~NOTOC~~ +
- +
----- +
-=== 14. tjedan ​(13.1.2014. - 19.1.2014.) === +
-== Dosadašnji rad == +
-Dodao sam mogučnost programu da, kada je pritisnut peti gumb, blinkanje prestane ​program ponovo čeka pritisak nekih od prva četiri gumba koji označuju koja će LEDica blinkati. Program sada unešene naredbe ​(pritiske gumbiju) sprema u EEPROM. +
-== Daljnji koraci == +
-~~NOTOC~~ +
- +
----- +
-=== 15. tjedan (20.1.2014. - 26.1.2014.) === +
-== Dosadašnji rad == +
-Napravio sam program gdje se u "​glavnom dijelu"​ (void loop) očitavaju pritisnute tipke, određuje u kojem se stanju program trenutno nalazi i onda koje LEDice upaliti ili ugasitiDodan je i interrupt koji se dešava 5 puta u sekundi i on provjerava koje je trenutno stanje i da li je pritisnut peti gumb. Ukoliko je program u stanju blinkanja LEDica i peti gumb nije pritisnutblinkanje se nastavlja. Ukoliko je program u stanju blinkanja LEDica ​peti gumb je pritisnut, blinkanje prestaje i program prelazi u stanje ​"programiranja" ​i čeka nove pritiske buttona koji određuju kako blinkati LEDice +
-== Daljnji koraci == +
-Primjeniti ​program ​na autiću. +
-~~NOTOC~~ +
- +
----- +
-=== 16. tjedan (27.1.2014. - 2.2.2014.) === +
-== Dosadašnji rad == +
-Prebacio ​sam breadboard ​Arduino ​na šasiju autića, priključio bateriju i pokrenuo ga. Autić se bez problema giba naprijed/nazad, ali skretanje je problem zbog središnjeg kotača koji se ne okreče dovoljno brzo. +
-== Daljnji koraci == +
-Naći drugo rješenje za središnji kotač. +
-~~NOTOC~~ +
- +
----- +
-=== 17tjedan (3.2.2014. - 9.2.2014.) === +
-== Dosadašnji rad == +
-Probao ​sam umjesto središnjeg kotača staviti kuglicuNije pomoglo jer je fiksirana, pa autić samo struže njome po podu. +
-== Daljnji koraci == +
-Napraviti program gdje će se očitavanje tipki određivanje stanja dešavati u interruptu, a u glavnom dijelu programa će se samo izvoditi naredbe vezane za pojedinu tipku. Napraviti središnji kotač ​na principu starog računalnog miša s kuglicom, gdje je kuglica u potpunosti slobodna i može se okretati u bilo kojem smjeru. +
-~~NOTOC~~ +
- +
----- +
-=== 18. tjedan (10.2.2014. - 16.2.2014.) === +
-== Dosadašnji rad == +
-== Daljnji koraci == +
-~~NOTOC~~+
studenti/bruno_humic/mp_dnevnik.1392039847.txt.gz · Zadnja izmjena: 2023/06/19 16:20 (vanjsko uređivanje)