Introduction Cross platform and multi arch ultra lightweight emulator. Supported OS: Linux, MacOS, Windows, FreeBSD, DOS and UEFI. Support Arch: x86(16/32/64), ARM(64) MIPS, EVM and WASM. 2023-08-04
UEFI Advent Calender 12æ¥ç®ã ã£ãoruminã§ã ç大ã«é å»ãã¾ãã¦ãã¯ãé å»ã¨ããè¨ããªãæãã§ãã UEFIã®ã¢ããªã±ã¼ã·ã§ã³ãã¾ãã©ãä½ããããããªãæ¹ãå¤ããã¨æãã¾ãã ã¾ããUEFIãå®è¡ã§ããå®è¡å½¢å¼ã«ã¤ãã¦ãããã¯Windowsã¨åãPEãã¤ããªã§ãã ã¾ããEDKã®ãããªãã¼ã«ããããç¨ããå¿ è¦ãããã¾ããã ä»åã¯gnu-efiã§èª¬æãã¾ãã gnu-efiã¨ã¯ãBSDLãªEFIã¢ããªã±ã¼ã·ã§ã³éçºç¨ã©ã¤ãã©ãªã§ãã LinuxãBSDã§ã®éçºã«è¦ªåæ§ãé«ãã¨æããã¾ãã ããã¯æè¿ã ã¨aptãpacmanã§ãã®ã¾ã¾ãã¤ããªã¤ã³ã¹ãã¼ã«ãå¯è½ã§ãã ããã¦ã次ã«ãã®ãããªãã¡ã¤ã«ãç¨æãã¾ã åè ãUEFIã§ã®Hello, World!ã§ããefi_mainãã¨ã³ããªãã¤ã³ãã ImageHandleãSystemTableãUEFIã®API(P
8. DEP (ãã¼ã¿å®è¡é²æ¢) 詳ããæ¸ãã¨ ï¼ ï x86_64 ç Windows + x86_64 ç°å¢ç¨ã®å®è¡ãã¡ã¤ã« ï å ¨ã¦ã«é©ç¨ãããã (AlwaysOn) BCD ã«ã¦ nx = AlwaysOff ã¨æå®ããã°å¤ããã ï ã¹ã¬ããã¹ã¿ã㯠(Kernel,User), ãã¼ã¸é å (User), Paged pool (Kernel), Session Pool (Kernel) ã対象ã ï x86 ç Windows or x86 ç°å¢ç¨ã®å®è¡ãã¡ã¤ã« ï éè¦ãªãã®ã®ã¿ã«ååé©ç¨ã (OutIn) ãã ãããµã¼ãç¨OS ã§ã¯ååå ¨ã¦ (OptOut) ï ãªããPAE (Physical Address Extension) ãæå¹ãªç°å¢ã§ãªãã¨ããã¼ãã¦ã§ã¢ DEP ãæå¹ã«ãªããªãã ï ã¹ã¬ããã¹ã¿ã㯠(User), ãã¼ã¸é å (User) åç §å ï¼
IEã®èå¼±æ§ã¨Use-After-Free ã¨ããã¡ã¢ãæ¸ãã¦è²ã 調ã¹ã¦ããããé¢ç½ãè¨äºãè¦ã¤ããã ASLR Bypass Apocalypse in Recent Zero-Day Exploits http://www.fireeye.com/blog/technical/cyber-exploits/2013/10/aslr-bypass-apocalypse-in-lately-zero-day-exploits.html ã©ãããæè¿ã¯ASLRãåé¿ããæ¹æ³ã確ç«ããã¤ã¤ãããããã ãªã³ã¯å ã§å¹¾ã¤ãåé¿æ¹æ³ãç´¹ä»ããã¦ãããããã®æãæåãªææ³ãArrayãªãã¸ã§ã¯ãã®lengthã®æ¸ãæããBuffer overflowãªãuse-after-freeãªãã§arrayã®lengthãä¸æ£ã«æ¸ãæãããã¨ã§ãæçµçã«å ¨ã¡ã¢ãªã¸ã®ã¢ã¯ã»ã¹æ¨©ãã¹ã¯ãªããä¸ããå¾ãããããªãã°e
GOT overwrite? "GOT overwrite" ã¨ããã(ããã§ã¯ç¹ã«Linuxã®)ããã°ã©ã ã«å¯¾ããæ»ææ¹æ³ãããã¾ããæ»æãæåããã¨ããã®ããã»ã¹ã®æ¨©éã§ã®ä»»æã³ã¼ãå®è¡çãæ·±å»ãªè¢«å®³ãåãã¾ããæè¿ã®GNU ld(ãªã³ã«)ã®ãªãã·ã§ã³ãç¨ããã¨ããã®æ»æãã身ãå®ããã¨ãã§ããããã§ãã®ã§ãç´¹ä»ãã¾ãã æåã«ã¾ã¨ã ï¼ãã¾ãããã¨ã¯ãã¨ã§ï¼ GOT overwrite ãã身ãå®ãã«ã¯ãgccã§ããã°ã©ã ããªã³ã¯ããã¨ãã«ã -Wl,-z,now,-z,relro ãã¤ããã ãã§ããèµ·åæéãé ããªãã¨ãããã¬ã¼ããªããããã¾ãããGOTãreadonlyã«ãªãã¾ããGOTãreadonlyãªããGOT overwrite attack ãåããã¨ãã«ãããã»ã¹ãSEGVãã¦ããã¾ãã®ã§ãå®å ¨æ§ãé«ã¾ãã¾ããããã»ã¹ã®ã¡ã¢ãªãããã確èªããã¨ããã¡ã㨠w ãè½ã¡ã¦
9. Build (& Load) Process Usually you just type âgcc foo.câ and it invokes the four sub-processes for you. (text) (text) (text) (ELF) (ELF) (ELF) C code Preprocessed C code Assembly code Executable code Relocatable code Preprocessor Compiler Process Image Assembler Linker Loader DL 10. What's Dynamic Library? Dynamic library is linked at runtime While static library is linked at âcompile-timeâ Sha
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}