„Programok visszafejtése és védelme” változatai közötti eltérés
Nincs szerkesztési összefoglaló |
|||
26. sor: | 26. sor: | ||
A tárgyhonlapon fent vannak a diasorok, folyamatosan frissíti őket. | A tárgyhonlapon fent vannak a diasorok, folyamatosan frissíti őket. | ||
2012-es diasorok: | |||
* [[Media:Programok visszafejtése 2012 Ea01.pdf| Ea01 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea02.pdf| Ea02 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea03.pdf| Ea03 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea04.pdf| Ea04 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea05.pdf| Ea05 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea06.pdf| Ea06 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea07.pdf| Ea07 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea10.pdf| Ea10 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea11.pdf| Ea11 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea12.pdf| Ea12 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea13.pdf| Ea13 ]] | |||
* [[Media:Programok visszafejtése 2012 Ea14.pdf| Ea14 ]] | |||
* [[Media:Programok visszafejtése 2012 Gy2.pdf| Gy2 ]] | |||
* [[Media:Programok visszafejtése 2012 Gy4.pdf| Gy4 ]] | |||
* [[Media:Programok visszafejtése 2012 Gy5.pdf| Gy5 ]] | |||
== KisZH-k, beugrók == | == KisZH-k, beugrók == |
A lap 2013. december 19., 14:27-kori változata
Követelmények
A félév végi osztályzat a 3 kiszh-ból és a házifeladatból számolódik. Mindegyik kiszh beszámít, de egyik elbukása sem végzetes hiba. Ezeket a tárgyakat érinti:
- Prog alap 1-2
- Számítógép-architektúrák (mélyebben)
- Gépi nyelvek
- Operációs rendszerek
- Assembly programozás
u.i.: A tárgy 2012-ben indult először, így a követelmények nem teljesen kiforrottak még.
Segédanyagok
A tárgyhonlapon fent vannak a diasorok, folyamatosan frissíti őket.
2012-es diasorok:
KisZH-k, beugrók
3 kisZH van, darabja 10 pont. Mindegyik kisZH-ban kisebb, gyakorlatias feladatok vannak. (pl.: pár soros assembly visszafejtése, c++ objektum szerkezetének felismerése, linkelés végigkövetése kézzel egyszerű táblázatos formában, relatív címek, stb.)
Házi
Választhatnak önállóan a tárgyhoz kapcsolódó feladat, illetve 1-2 témaötlet saját házifeladathoz: Kód vezérlésszerkezetének a visszafejtése a 4. előadás mellett található Ocelot kód felhasználásával.
- Lineárisan pásztázó disassembler írása, az ollydbg disasm rutin felhasználásával.
- Rekurzívan pásztázó disassembler írása, az ollydbg disasm rutin felhasználásával.
- Program visszafejtést megnehezítő ötletek kidolgozása, és bemutatása egy mintaprogramon.
- Intel Pin - A Binary Instrumentation Tool segítségével dinamikus nyomkövetés végrehajtása. (memória kezelési hibák felismerése, programkód helyének a feltérképezése, stb (http://software.intel.com/en-us/articles/pintool-downloads)
- IDA script nyelven programírás.
- IDA C++plugin írás.
- Ollydbg plugin készítés.
- stb.
Ha ezek nem szimpatikusak, akkor a kiadott object kódot kell visszafejteni. A programok Visual Studio 2008-cal lettek lefordítva. A tárgykódok általában egy jól ismert függvényt tartalmaznak. A visszafejtéshez az dumpbin, objdump, gdb, VS debugger, ollydbg, IDA disassemblert, stb használhatják. Az teljesíti legjobban a feladatot, aki felismeri, hogy mit csinál az algoritmus, és egy tesztprogram segítségével meghívja a visszafejtett függvényt.
Tapasztalatok
Koza 2013/14 ősz
A tárgy nagyon érdekes, Izsó viszont nagyon unalmasan tudja előadni. Tudja ő is, hogy gyakran elcsúszik a kitűzött menetrenddel, néha tovább tartja az órákat. A kisZh-kra felkészülve viszont olyan tudásokra lehet szert tenni, ami miatt akár mintatantervi tárgyat is csinálnék belőle, elég gáz, hogy egyáltalán nem tudjuk, mi megy egy fordítóban, optmalizálóban. A házi feladat pár óra munkával elkészíthető, akit érdekel a téma, annak még érdekes is. A tárgyat ajánlom mindenkinek, akit egy picit is érdekel a téma, de az alőadásra vigyetek valamit, ha nem akartok aludni.