Programok visszafejtése és védelme

A VIK Wikiből
A lap korábbi változatát látod, amilyen Akg92 (vitalap | szerkesztései) 2013. június 1., 22:27-kor történt szerkesztése után volt.

Sablon:Szabvál


Az oldal épp egy nagyobb változáson megy keresztül, kérlek nézz vissza kicsit később


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:

  1. Prog alap 1-2
  2. Számítógép-architektúrák (mélyebben)
  3. Gépi nyelvek
  4. Operációs rendszerek
  5. 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

KisZH-k, beugrók

  • 2012:
    • 1. kisZH:
    • 2. kisZH:
    • 3. kisZH:

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.

Kedvcsináló