ã¿ãªããããã«ã¡ã¯ïŒ
æ¬æ¥ããªããŒã¹ãšã³ãžãã¢ãªã³ã°ïŒREïŒé¢é£è³æã®ãªã¹ããå ±æããããšæããŸãã ç§ãã¡ã®ç 究éšéã¯äž»ã«åçå¯èœãšãã«ã®ãŒã®ã¿ã¹ã¯ã«åŸäºããŠããããããã®ãªã¹ãã¯éåžžã«åºç¯å²ã§ãã ç§ãã¡ã®æèŠã§ã¯ããããã¯ã«é¢ããè³æã®éžæã¯éå§ã«é©ããŠããŸãããé·ãéé¢é£ããŠããå¯èœæ§ããããŸãã
5幎éããã®ãªã³ã¯ããªãœãŒã¹ãæžç±ã®ãªã¹ãããç 究éšéã«å ¥åŠããããããŸã ç¥èã¬ãã«ãééããããæ å ±ã»ãã¥ãªãã£ã®åéã§ã®æ ãå§ãããããªã人ã«éä¿¡ããŠããŸãã åœç¶ããã®ãªã¹ãã¯ãã»ãšãã©ã®çŽ æ/éžæãšåæ§ã«ããã°ããããŠããæŽæ°ããã³æŽæ°ããå¿ èŠããããŸãã
楜ããäºå®ïŒäžéšã®äŒæ¥ãè³æã®ãªã¹ããç¬èªã«éä¿¡ããæ¹æ³ã瀺ããŸããããéåžžã«å€ããšãã£ã·ã§ã³ã®ã¿ã§ãã ãããŠããã®åºçåŸã圌ãã¯æçµçã«æ確ãªè¯å¿ã§ãã®æŽæ°ãããããŒãžã§ã³ã䜿çšã§ããããã«ãªããŸã;ïŒ
ããã§ã¯ãçŽ æã®ãªã¹ãã«ç§»ããŸãããïŒ
- ããŒã
aã é
bã è匱æ§æ€çŽ¢ïŒãã¡ãžã³ã°ïŒ
cã è匱æ§ã®æªçš
dã ãã«ãŠã§ã¢åæ - ããŒã«
aã IDA Pro
bã Radare2
cã WinDBGïŒOllydbg / Immunity Debugger / x64dbgïŒ
dã Gdb
eã Dbi
fã SMT
gã èªååã®ããã®Python
hã BAFïŒãã€ããªåæãã¬ãŒã ã¯ãŒã¯ïŒ - 建ç¯
aã x86-x86_64
bã è - OS
aã çª
bã Linux
cã Mac OSïŒOSXïŒ/ iOS
dã Android - ãã¡ã€ã«åœ¢åŒ
aã PE
bã ELF
cã ããã㪠- ããã°ã©ãã³ã°
aã C / C ++
bã ã¢ã»ã³ãã©ãŒ - ç·Žç¿ãã
aã æŠäºã²ãŒã
1.ãããã¯ã¹
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãREã¢ããªã±ãŒã·ã§ã³ã®äž»ãªåéã«ã€ããŠæ€èšããŸãã ãªããŒã¹éçºããã»ã¹èªäœããçŽæ¥å§ããè匱æ§ã®æ€çŽ¢ãšéçºã®æªçšã«é²ã¿ããããŠãã¡ããããã«ãŠã§ã¢ã®åæã«åãæãããŸãããã
1.ãªããŒã¹ãšã³ãžãã¢ãªã³ã°
- ã¯ãªã¹ã»ã«ã¹ãã«ã¹ããŒã®ãThe Art of Disassembling ãã¯ãæ°ãããã®ã§ã¯ãããŸããããç¥èãšåªããè³æãäœç³»åããããéåžžã«åªããé¢é£æ§ã®é«ãæ¬ã§ãã
- ã å®çšçãªãªããŒã¹ãšã³ãžãã¢ãªã³ã°ïŒx86ãx64ãARMãWindowsã«ãŒãã«ããªããŒã¹ããŒã«ãé£èªå ã-èåãªæ å ±ã»ãã¥ãªãã£ã®å°é家ã«ãããæ°ãããæ¬ãChrisã®æ¬ã«ã¯ãªãæ°ãããã€ã³ããšãããã¯ãæ±ã£ãŠããŸãã
- ããã¹ã»ãŠãªãšãããã«ããã Reversing for Beginners ãã¯å®å šã«ç¡æã®æ¬ã§ããã§ã«äžçã®å€ãã®èšèªã«ç¿»èš³ãããŠããŸãã ããã§ãããããæã泚ç®ãã¹ãããšã¯ãåç« ã®åŸã«ããããŠäžåºŠã«ããã€ãã®ã¢ãŒããã¯ãã£ã«å¯ŸããŠèå³æ·±ãã¿ã¹ã¯ãååšããããšã§ãã
- ã å®è·µçãªREã®ãã³ã ã-Gynvael Coldwindã«ããè±èªã®åªãããŠã§ãããŒãREã«é¢ããå€ãã®æçšãªãã³ããšã¹ã¯ãªãããå«ãŸããŠããŸãã
- ãªãœãŒã¹ã OPENSECURITYTRAINING.INFO ãã«ã¯ãè±èªã§ã®REã«é¢ããåªããæè²è¬çŸ©ãšãããªãå«ãŸããŠããŸãã
- ã Digging Through the Firmware ã-å®çšçãªãªããŒã¹ãšã³ãžãã¢ãªã³ã°ã«ããäžé£ã®åªããèšäº-ããã€ã¹ãã¡ãŒã ãŠã§ã¢ã®å転ã®äžçã«çªå ¥ããããšããŠãã人ã«åœ¹ç«ã€èšäºã
- ã ãã¬ãŒãã³ã°ïŒæ»æè ãšé²åŸ¡è ã®èŠç¹ããã®BIOS / UEFIã·ã¹ãã ãã¡ãŒã ãŠã§ã¢ã®ã»ãã¥ãªã㣠ã-ãã¡ãŒã ãŠã§ã¢ã»ãã¥ãªãã£ã®äžçã§ããUEFI BIOSã«é£ã³èŸŒã¿ããå Žåã¯ã以åã«äž»èŠãªã»ãã¥ãªãã£äŒè°ã§ææãã¬ãŒãã³ã°ãåããŠãããããã®ã¹ã©ã€ãã«æ £ããå¿ èŠããããŸãã
- CRYPTO101ã¯ãæå·åã®å°å ¥ã®äžéšã§ãããäžå¯æ¬ ã§ãã
1.bè匱æ§ã¹ãã£ã³
- ã ãã¡ãžã³ã°ïŒãã«ãŒããã©ãŒã¹ã®è匱æ§ã®çºèŠ ã-æ°ããæ¬ã§ã¯ãããŸãããããã¡ãžã³ã°ã®åºæ¬ãç解ããã®ã¯é©åã§ãã ãã·ã¢èªãžã®ç¿»èš³ããããŸãããããªãé¢çœãééããå«ãŸããŠããŸãã
- ã ãœãŒã¹ã³ãŒãã®ãªãããã°ã©ã ã®è匱æ§ã®èªåæ€çŽ¢ ã-ãã·ã¢èªã®è¯ãå ¥éè³æãPHDays 2011ã§çºè¡šã
- ã ãã¡ãžã³ã°ã®é²åããæè¡ ã-ãã¡ãžã³ã°ã®éçºã«é¢ããèšäºã
- ã Modern Security Vulnerability Discovery ã -1ã€ã®ããã¥ã¡ã³ãã«ããŸããŸãªè匱æ§æ€çŽ¢æè¡ããŸãšãããã®ã
- ã ïŒState ofïŒThe Art of WarïŒBinary Analysisã®æ»æææ³ ã-æ¢åã®ãã¹ãŠã®è匱æ§æ€çŽ¢ææ³ã«é¢ãããªãŒã«ã€ã³ã¯ã³ããã¥ã¡ã³ãã
- ã ãœãããŠã§ã¢ã»ãã¥ãªãã£ã¢ã»ã¹ã¡ã³ãã®æè¡ïŒãœãããŠã§ã¢ã®è匱æ§ã®ç¹å®ãšé²æ¢ ãã¯ãè匱æ§ãèŠã€ããããã®ããŸããŸãªã¢ãããŒãã«ã€ããŠã®æ°ããããŸã ææ°ã®æ¬ãšã¯ã»ã©é ããã®ã§ãã
1.cçºèŠãããè匱æ§ã®æªçšã®äŸ
- ã CorelanããŒã ã«ãããšã¯ã¹ããã€ãã©ã€ãã£ã³ã°ãã¥ãŒããªã¢ã« ãïŒ ç¿»èš³ ïŒ-åºæ¬ããå§ããŠããšã¯ã¹ããã€ããšã·ã§ã«ã³ãŒãã®äœæã«é¢ããæåãªäžé£ã®æçš¿ã
- ã ãšã¯ã¹ããã€ãéçºã³ãã¥ãã㣠ãïŒ éšå翻蚳 ïŒ-IE 10ããã³11ããŒãžã§ã³ã®æŠéçšãšã¯ã¹ããã€ãã®äœæã«é¢ããäžé£ã®èšäºã
- ã Modern Binary Exploitation ã-ã¬ã³ã»ã©ãŒå·¥ç§å€§åŠã§å®æœãããã¬ãŒãã³ã°ã³ãŒã¹ã®RPISECããŒã ã®è³æã
- ãVupen Company Blog Web Archive ã-VirualBoxãXENãFirefoxãIE10ãWindows KernelãAdobe FlashãAdobe Readerã®è€éãªè匱æ§ãæªçšããäŸãããæ²æ²¡ããããã°ã
- ã Project Zero ãã¯ãGoogleã®èª¿æ»ããŒã ã®ããã°ã§ããããã§ã¯ã圌ãã®å°é家ãããŸããŸãªã¯ãŒã«ãªè匱æ§ã®æªçšã«é¢ããèå³æ·±ã話ãé »ç¹ã«å ±æããŠããŸãã
- ã ã¡ã¢ãªç Žæã®è匱æ§ã«å¯Ÿãããã©ãŠã¶ã®ç·©å ã-äžè¬çãªãã©ãŠã¶ã§äœ¿çšãããä¿è·æè¡ïŒ
- ã SoKïŒEternal War in Memory ãã¯ãæ»æã¢ãã«ã瀺ããããŸããŸãªã¿ã€ãã®ã¡ã¢ãªç Žæã®è匱æ§ã®ããŸããŸãªæ®µéã§ã®æªçšãé²ãããã®ããŸããŸãªã¡ã«ããºã ã説æããåªããããã¥ã¡ã³ãã§ãã
- ã ã¹ã¯ã©ããããWin32ã·ã¹ãã ã®ãšã¯ã¹ããã€ããäœæããã-SLMAILããã°ã©ã ã®è匱æ§ã«å¯Ÿãããšã¯ã¹ããã€ãããŒãããäœæãã詳现ãªèšäºã
- Phrackã¯æåãªããã«ãŒèªPhrackã§ãã ãŸãããæŸåã®èžè¡ãã«ããŽãªã®èšäºãèªãããšããå§ãããŸãã
- ã The Shellcoder's HandbookïŒDiscovering and Exploiting Security Holes ãã¯ãäŒèª¬çãªã·ã§ã«ã³ãŒãã®æ¬ã§ãã
1.dãã«ãŠã§ã¢åæ
- ã Practical Malware Labs ã-ã Practical Malware Analysis ããšããæ¬ã®ãœãŒã¹ã
- ã ãã«ãŠã§ã¢ã¢ããªã¹ãã®ã¯ãã¯ããã¯ãšDVDïŒæªæã®ããã³ãŒããšæŠãããã®ããŒã«ãšãã¯ãã㯠ã-ãã®ãããã¯ã«èå³ã®ãã人ã«ã¯ããã®æ¬ãšä»¥åã®æ¬ã1ã»ãããšããŠãå§ãããŸãã
- ã ãã«ãŠã§ã¢åæãã¥ãŒããªã¢ã«ïŒãªããŒã¹ãšã³ãžãã¢ãªã³ã°ã¢ãããŒã ãïŒ ç¿»èš³ ïŒ-ç°å¢ãã»ããã¢ãããããã®åŸã®ãã«ãŠã§ã¢ã®åæãè¡ãããã®èšäºã§ãã
- RPISECã«ããMalware Analysisã®ã³ãŒã¹ææã¯RPISECããã®å¥ã®ã³ãŒã¹ã§ãçŸåšã¯ãã«ãŠã§ã¢ã«ã€ããŠã®ã¿ã§ãã
- ã ã³ã³ãã¥ãŒã¿ãŒãŠã€ã«ã¹ãšãŠã€ã«ã¹å¯Ÿçãããã°ã©ããŒã®å€èŠ³ ã-DOSã®æ代ããæªæã®ããããã°ã©ã ã«ã€ããŠèª¬æããŠããŸãããããã°ã©ã ã®ã³ãŒãã®åæã«å ããŠãèè ã¯ç¹å®ã®ã±ãŒã¹ããšã«ãŠã€ã«ã¹å¯ŸçãäœæããäŸã瀺ããŠããŸãã
2.å¿ èŠãªããŒã«
以äžã¯ãREã§äœ¿çšãããäžè¬çãªããŒã«ã§ãã
2.a IDA Pro
- ã IDA Proããã¯ïŒäžçã§æã人æ°ã®ããéã¢ã»ã³ãã©ãŒã®éå ¬åŒã¬ã€ã ã-IDA Proã®ç¥èãç°¡åãã€èªç¶ã«äŒããæ¬:)
- ã IDA Proã«é¢ããTiGaã®ãããªãã¥ãŒããªã¢ã«ã·ãªãŒãº ã -IDA Proã®äœ¿çšã«é¢ããå°ããªHOW-TOãããªã®ã»ã¬ã¯ã·ã§ã³ã
- ã Open Analysis Live ã-IDA Proã®äœ¿çšã«é¢ãã以åã®ã³ã¬ã¯ã·ã§ã³ãšã¯ç°ãªãããã®æ°ããããã³æŽæ°ããããã®ã§ãã åºæ¬çã«ããã«ãŠã§ã¢åæãèæ ®ãããŸãã
2.b Radare2
- ã radaree2ãã㯠ã-Radare2ãã¬ãŒã ã¯ãŒã¯ã®ãªããŒã¹äœ¿çšã«é¢ããã¡ã€ã³ããã¯ã
- ã Radare2ããŒãã·ãŒãã-ã¡ã€ã³ã³ãã³ãçšã®ãããŒãã·ãŒããã
- ã Rarere Today-ã¬ãŒããŒe2ã®ããã° ãã¯ãã¬ãŒã ã¯ãŒã¯ã®ããã°ã§ãã ãã¥ãŒã¹ã ãã§ãªããå®çšçãªäŸããããŸãã
2.c WinDBGïŒOllydbg / Immunity Debugger / x64dbgïŒ
ãããã¬ã®åçãšããã䜿çšããæ©èœã®ç¥èããªããã°ãããªãããããè¡ãããšã¯ã§ããŸããã 以äžã§ã¯ãWindowsçšã®ãããã¬ãŒã«ã€ããŠæ€èšããŸãã次ã®æ®µèœã§ã¯ãæåãªGDBã«æ³šç®ããŸãã ããã§ã¯ãè¡ããŸãããïŒ
- é«åºŠãªWindowsãããã°ïŒä¿¡é Œæ§ãé«ããå ç¢ã§å®å šãªãœãããŠã§ã¢ã®éçºãšç®¡ç -ãŸãããã®æ¬ã¯ãããŒãã®æå·ãªã©ã®ãšã©ãŒãç解ããããã£ãããããã®ã«åœ¹ç«ã¡ãŸãã
- ã Windowsã®å éšãããã°ïŒWindowsã§ã®ãããã°ããã³ãã¬ãŒã¹æŠç¥ã®å®è·µã¬ã€ã ã-ãã®ãšãã£ã·ã§ã³ã¯ã以åã®æ¬ãè£å®ãããã®ã§ãã
- ãOlyDbgã䜿çšãããŒãããã®ã¯ã©ããã³ã°ã®çŽ¹ä»ã-æ®å¿µãªãããæãå€ããªãœãŒã¹wasm.ruã¯éããããŸããããå€ãã®ãªãœãŒã¹ã§éè€ããŠããããããã®ãããªéžæã¯ç°¡åã«æ€çŽ¢ãããŸãã ããã«ããããã¯ãŒã¯äžã«ãã©ãŒã¯ã衚瀺ãããããã«ãªããx64dbgãŸãã¯IDAã®ã¿ãæ¢ã«äœ¿çšããŠããŸãã
2.d gdb
- ã gdbãããã°ã®å®å šãªäŸïŒãã¥ãŒããªã¢ã«ïŒïŒncurses ã-GDBã¢ããªã±ãŒã·ã§ã³ã¬ã€ãã
- ã GEF-ãšã¯ã¹ããã€ãããã³ãªããŒã¹ãšã³ãžãã¢åãã®ãã«ãã¢ãŒããã¯ãã£GDBæ¡åŒµæ©èœ ã-Pythonã®GDBã®ã¢ããªã³ã§ããšã¯ã¹ããã€ãã®éçºã«åœ¹ç«ã€å€ãã®æ°ãã䟿å©ãªã³ãã³ããè¿œå ããŸãã
- ã GEFãã¥ãŒããªã¢ã« ã-GEFã®äœ¿çšã«é¢ããäžé£ã®ã¹ã¯ãªãŒã³ãã£ã¹ãã
2.e DBI
ä»æ¥ãããã°ã©ã å¯èœãªãããã°ã¯ããããããªããŒãµã®æŠåšãšããŠäžå¯æ¬ ãªã¢ãããŒãã§ãã ãŸããDBIã¯ããŒã«ã®1ã€ã§ãã 詳现ïŒ
- ãæ å ±ã»ãã¥ãªãã£ã«ãããåçãã€ããªèšæž¬ ã-ãã®èšäºã§ã¯ãDBIã«é¢ããäžè¬çãªæ å ±ããã§ã«åéããŠããŸãã
- ã ã³ãŒãã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ã®æããé¢ãšæãé¢ ã-ãã®ãã¬ãŒã³ããŒã·ã§ã³ã¯ãããŸããŸãªã³ãŒãã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ã®çš®é¡ãšãããã°ã©ã ã®åæãæ¯æŽã§ããå 容ãšææãããã²ãŒãããã®ã«åœ¹ç«ã¡ãŸãã
2.f SMT
SMTãœã«ããŒãšã¯äœã§ããïŒ èŠããã«ãSMTãœã«ããŒã¯è«çåŒã解ãããšãã§ããããã°ã©ã ã§ãã
ãœãããŠã§ã¢ã»ãã¥ãªãã£ã®åéã§SMTã䜿çšããäž»ãªã¢ã€ãã¢ã¯ãããã°ã©ã ã³ãŒããŸãã¯ã¢ã«ãŽãªãºã ãè«çåŒã«å€æããSMTãœã«ããŒã䜿çšããŠãã®ã³ãŒãã®1ã€ãŸãã¯å¥ã®ããããã£ããã§ãã¯ããããšã§ãã
èšãæããã°ãSMTã¯ã»ãã³ãã£ãã¯ã³ãŒãåæã®ããã®æ°åŠçè£
眮ãæäŸããŸãã
SMTãœã«ããŒã¯ç§ãã¡ã®åéã§é·ãé䜿çšãããŠããŸããã 圌ãã¯ã次ã®ã¿ã¹ã¯ã«å¯ŸããŠååã«èšŒæãããŠããŸãã
- ãã°ã®æ€çŽ¢ïŒéçåæ/ãã¡ãžã³ã°ïŒ;
- é£èªå解é€;
- ããŒã æå·è§£èª;
- ã·ã³ããªãã¯ããã©ãŒãã³ã¹ïŒããšã³ãžã³ããšããŠïŒ;
- ãŸãããšã¯ã¹ããã€ãã®èªåçæïŒROPçæãªã©ïŒã®åéã§ãæåãåããŠããŸãã
ãã®éãSMTã¯è¬ã®å 茪ã倱ãããæ®éã®ã人ã ã®ããã®å€ããå°ãªããäœæ¥ããŒã«ãç»å ŽããŸããã
以äžã¯ããããã¯ã«é£ã³èŸŒãã®ã«åœ¹ç«ã€ãœãŒã¹ã§ãã
- ã SMT Solvers for Software SecurityããSean HeelanãRolf Rollesã¯ããããããœãããŠã§ã¢ã»ãã¥ãªãã£ã®åéã§åé¡ã解決ããããã«SMTã®äœ¿çšãææ¡ãããæåã®ç§åŠç 究ã§ãã SMTããã®é åã®ã©ãã§ã©ã®ããã«ãã®å ŽæãèŠã€ããããšãã§ãããã«ã€ããŠã®ã¢ã€ãã¢ãäžããŸãã
- Z3ã¯ãæãäžè¬çã§å¹æçãªSMTãœã«ããŒã®1ã€ã§ãã
- Z3 wiki-ãããžã§ã¯ããªããžããªã
- ã Z3å ¥éïŒã¬ã€ã ã-ãªã³ã©ã€ã³ãã¥ãŒããªã¢ã«ãå®éšçšã®SMTãœã«ããŒã
- Z3Py -Z3ã®Pythonãã€ã³ãã£ã³ã°ã
- ã Z3ã®å®éš-ãããã³ãŒãã®é€å» ã;
- ã Z3ã®å®éš-äžéæãªè¿°èªã®èšŒæ ã;
- ã å®ç蚌æãã·ã³ããªãã¯å®è¡ãå®çšçãªãªããŒã¹ãšã³ãžãã¢ãªã³ã° ã-å®éã®åé¡ã解決ããZ3Pyãé©çšããäŸãå«ãåªããæŠèŠãã¬ãŒã³ããŒã·ã§ã³ã
- ã SAT / SMTãœã«ããŒã®ç°¡åãªçŽ¹ä»ãšã·ã³ããªãã¯å®è¡ ãïŒ ãã·ã¢èªç ïŒã¯ãèå³æ·±ãå®çšçãªäŸãå«ãè¯ãæ¬ã§ãã
- ã SMTãœã«ããŒã®äœ¿çšã®æŠèŠã-æŠèŠã
2.gèªååã®ããã®Python
ä»æ¥ãPythonèšèªã®åºç€ç¥èããªããã°ããã®ããã°ã©ãã³ã°èšèªã¯æ å ±ã»ãã¥ãªãã£ã®åéã§ïŒã ãã§ãªãïŒããŸããŸãªã¿ã¹ã¯ãèªååããããã®æãäžè¬çãªããŒã«ãšèŠãªãããŠãããããéåžžã«å°é£ã«ãªããŸãã ããã«ãããŸããŸãªãŠãŒãã£ãªãã£ã§äœ¿çšãããŸãïŒããšãã°ãäžèšã®ãã¹ãŠã®ãŠãŒãã£ãªãã£ã䜿çšãããšããã®PLã䜿çšããŠæ©èœãè£å®ã§ããŸãïŒã
- ã Gray Hat Python ãïŒ ç¿»èš³ ïŒã¯ãPythonãéã«ã©ã®ããã«åœ¹ç«ã€ãã説æããçŽ æŽãããæ¬ã§ãã
- ã IDAPythonå ¥éã¬ã€ãã-IDAPythonã«é¢ããç¡æã®æ¬ã
- ã ãªããŒã¹ãšã³ãžãã¢ãªã³ã°çšPythonã¢ãŒã»ãã« ãã¯ãPythonã䜿çšããããŸããŸãªãªããŒã¹ãšã³ãžãã¢ãªã³ã°ãŠãŒãã£ãªãã£ããã³ã©ã€ãã©ãªå°çšã®ãªãœãŒã¹ã§ãã
2.h BAFïŒãã€ããªåæãã¬ãŒã ã¯ãŒã¯ïŒ
ããå°ãé«åºŠãªæ¹æ³ãšããŠãåè¿°ã®ã¡ã«ããºã ãšåæããŒã«ã䜿çšããŠããè€éãªåé¡ã解決ãããã¬ãŒã ã¯ãŒã¯å šäœã«æ³šæããããšããå§ãããŸãã ã ããããã«ããïŒ
- ã ãã€ããªåæãã¬ãŒã ã¯ãŒã¯ã®æŠèŠãšäœ¿çšæ³ ã-BAFã®å°ããªæŠèŠã
ããã€ãã®èå³æ·±ããã¬ãŒã ã¯ãŒã¯/ããŒã«ïŒ
3.ã¢ãŒããã¯ãã£
ããã€ãã®äžè¬çãªã¢ãŒããã¯ãã£ã®ã¿ãæ€èšããŸãã èšäºã®æåŸã®è¿œå è³æã®ã»ã¯ã·ã§ã³ã§ã¯ãä»ã®å€ãã®æ å ±ïŒMIPSãPowerPCãªã©ïŒãèŠã€ããããšãã§ããŸãã
3.a x86-x86_64
- ã Intel 64ããã³IA-32ã¢ãŒããã¯ãã£ãœãããŠã§ã¢éçºè ããã¥ã¢ã« ã-以åã¯ãã®ãããªããã¥ã¢ã«ã¯éµäŸ¿å±ã«éãããŠããŸãããã倧éã®è³æããã£ããããå°å·ã¯é«äŸ¡ãªåã³ã«ãªããŸããã ãã¹ã¯ããããªãã¡ã¬ã³ã¹ãšããŠæšå¥šãããŸãã
3.b ARM
- Azeria LabsïŒARM Assembly BasicsïŒARM Exploit DevelopmentïŒ-ARMã¢ã»ã³ãã©ãŒã®åºç€ãšãã®ã¢ãŒããã¯ãã£ãŒã®ãšã¯ã¹ããã€ãã®éçºã«é¢ããèšäºããããµã€ãã
- ã³ãŒã¹ã ARMã®æŠèŠ ã-ARMã®éçºãšéçšã«é¢ãã2æ¥éã®ãããªã³ãŒã¹ã
- VisUAL -ARMã³ãã³ãã®åäœã®èŠèŠåã
4. OS
äžè¬çãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®åäœåçã«é¢ããç¥èã
4.a Windows
- ã Windows Internals ãã¯ãWindowsã®ä»çµã¿ãç解ããããã®åºæ¬çãªæ¬ã§ãã
以äžã®ç¹ã¯ãäž»ã«ãã®OSã®è匱æ§ã®æªçšã«é¢é£ããŠããŸãããWindowsã®å éšãããããç解ããããšãã§ããŸãã
4.b Linux
- ã Linux insides ãã¯ãWindows Internalsã®é¡äŒŒç©ã§ãããLinuxãªã©ã®OSå°çšã§ãã
Windowsãšåæ§ã«ã次ã®ãããã¯ã¯ãšã¯ã¹ããã€ãéçºã«é¢é£ããŠããŸãã
4.c Mac OSïŒOSXïŒ/ iOS
- ã ãªããŒã¹ãšã³ãžãã¢ãªã³ã°ãªãœãŒã¹Macããã³iOS ã-ãã®ãããã¯ã«é¢ããè³æã®éžæã
4.d Android
- ã Android Hacker's Handbook ãã¯ãããããAndroid OSã»ãã¥ãªãã£ã«é¢ããæã人æ°ã®ããæ¬ã§ãã
- ã Android Internals :: Power User's View ã-ãã®OSã®å éšã¡ã«ããºã ã«ã€ããŠèª¬æããŠããæ¬ã èè ãèªåã®ãµã€ãã«æžã蟌ã¿ã以åã®ããŒãžã§ã³ãããŠã³ããŒãããæ©äŒãæäŸããŠãããããæè¿ã®ãªãŒã¯ã«ããããã®è³æã¯ãããªãã¯ãã¡ã€ã³ã«ç»å ŽããŸããã
5.å®è¡å¯èœãã¡ã€ã«åœ¢åŒ
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãäžè¬çãªå®è¡å¯èœãã¡ã€ã«åœ¢åŒã®è©³çŽ°ã説æãããªã³ã¯ãæäŸããŸãã
5.a PE
- ã PEã»ã¯ã·ã§ã³ ã;
- ã PEããã㌠ã;
- " Windowså®è¡å¯èœãã¡ã€ã«åœ¢åŒãPE32ããã³PE64 ";
- ã ã³ã³ãã¥ãŒã¿ãŒãŠã€ã«ã¹ã®å éšãšå€éš ã
5.b ELF
5.cããã-O
- ã mach-oãã¡ã€ã«ã®è§£æ ã
æåãªç 究è corkamiã¯ãäžèšãå«ãããŸããŸãªãã¡ã€ã«åœ¢åŒã®å³ã䜿çšããŠãéåžžã«æçšã§èå³æ·±ãããã¹ã¿ãŒããäœæããŸãã ããŒãã·ãŒããšããŠäœ¿çšããããšããå§ãããŸãã ãŸãã Kaitai SctructãŠãŒãã£ãªãã£ã¯åæã«åœ¹ç«ã¡ãŸãã
6.ããã°ã©ãã³ã°
ç§ãã¡ã®ç¥äººã®äžäººã¯ãè¯ãéã¯80ïŒ è¯ãããã°ã©ããŒã ãšèšã£ãŠããŸããã ããã°ã©ã ããèœåãšãäœãè¡ãããŠããã®ãããããŠãªãä»ã®äººã®ããã°ã©ã ã調æ»ããããã»ã¹ãåçŽåããã®ããç解ããèœåã ãããã£ãŠãéã®ããã°ã©ãã³ã°ãªãã§ã¯ãã©ãã«ããããŸããã ãããŠãã¡ãããããªããããããæ¢ã«ç解ããŠããããã«ãæ¥åžžçãªã¿ã¹ã¯ã®èªååã¯éåžžã«æçšãªããšã§ã;ïŒ
6.a C / C ++
- çŸä»£ã®ã¡ã¢ãªã®å®å šæ§ïŒC / C ++è匱æ§ã®çºèŠã掻çšã匷åã¯ãåªããäŸãåããçŽ æŽãããã³ãŒã¹ã§ãã ã¿ããªã®ããã®ãã®ããªããã°ãªããŸããã
6.b ASM
- ã ãªããŒã¹ãšã³ãžãã¢åãã®x86ã¢ã»ã³ããªã®ã¯ã©ãã·ã¥ã³ãŒã¹ ã-ãx86ã¢ã»ã³ãã©ãŒã«æ²¡é ããããã®ãã¯ã©ãã·ã¥ã³ãŒã¹ããREå°çšãšããŠäœçœ®ä»ããããŠããŸãã
- ã ã¢ã»ã³ããªããã°ã©ãã³ã°ãã¥ãŒããªã¢ã« ã-ã¢ã»ã³ãã©ãŒã§ã®ããã°ã©ãã³ã°ã®ã¬ã€ããåŠç¿ããªãããªã³ã©ã€ã³ã§äŸãå®è¡ã§ããŸãã
- ã Assemblerã2nd Edition ã-åèãšããŠæšå¥šã
- ã x86 Assembly Guide ãã¯ãªã³ã©ã€ã³çã§ãã
7.ç·Žç¿
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãç·Žç¿ã§ããä»®æ³ãã·ã³ããã³ãªã³ã©ã€ã³ãªãœãŒã¹ãžã®ãªã³ã¯ãæäŸããŸãã
7.æŠäºã²ãŒã
- SmashTheStack Wargaming Network-ããã€ãã®ãŠã©ãŒã²ãŒã ããããã®ãããã¯ãŒã¯ã¯ããã©ã³ãã£ã¢ã«ãã£ãŠãµããŒããããŠããããªã³ã©ã€ã³ã§å©çšã§ããŸãã å§ããããšããå§ãããŸãã
- BinTut-ããŒã«ã«ãŠã©ãŒã²ãŒã ã
- ãªããŒã·ã³ã°ã¯ãŒã¯ã·ã§ãã -2016幎ã®å¹Žéã³ã³ãã¹ããThe Flare On Challengeãã®ã¿ã¹ã¯ã解決ãããã¹ã¿ãŒã¯ã©ã¹ã
- ãšã¯ã¹ããã€ããã£ã¬ã³ãž -è匱ãªARMãã€ããªãã¡ã€ã«ã®éžæã
- ARM Reverse Engineering Exercises-å ã®ãªããžããªã¯ãæ¶å€±ãããŸãããããã©ãŒã¯ã®1ã€ãgithubã®æ¡åŒµéšåã§èŠã€ãããŸããã
- CTFæé -ããã§ã¯ãå°æ¥ã®CTFã€ãã³ãã®ã¹ã±ãžã¥ãŒã«ã確èªããéå»ã®æ±ºå®ãèªãããšãã§ããŸãã
æåŸã«ãäžèšã®ãããã¯ã«é¢ããå€ãã®è³æãšã®ãªã³ã¯ãããã€ããããŸãã
- äžè¬çãªæ å ±ã»ãã¥ãªãã£ã®éžæ
- è匱æ§ã®æªçšã«ã€ããŠ
- ãªããŒã¹ãšã³ãžãã¢ãªã³ã°ã«ã€ããŠïŒ
- Windowsã®è匱æ§ã®æªçšã«ã€ããŠ
- äœçžèª¿æŽã«ã€ããŠ
- ãã«ãŠã§ã¢åæã«ã€ããŠ
- ããã«å€ãã®ç°ãªãçŽ æŽãããã³ã¬ã¯ã·ã§ã³ã