PHPerのためのよくわかるCPU脆弱性解説 / What's Spectra for PHPers #phpconfuk

PHPerのためのよくわかるCPU脆弱性解説 / What's Spectra for PHPers #phpconfuk

PHPカンファレンス福岡 2018の発表資料です。

40575ebf9c2f4a6e3bcb68630f446a3b?s=128

HASEGAWA Tomoki

June 16, 2018
Tweet

Transcript

  1. ௕୩઒ஐر 1)1FSͷͨΊͷΑ͘Θ͔Δ $16੬ऑੑղઆ

  2. ௕୩઒ஐر !UPN[PI

  3. ϥΠϑϫʔΫ ςοΫΧϯϑΝϨϯεӡӦࢀՃ  8FCJ04ΞϓϦ։ൃ  Ϗʔϧ ిࢠ޻࡞ αοΧʔ؍ઓ Ϩϯλ ϧΧʔτϨʔε

    ʜ σδλϧαʔΧεגࣜձࣾ ෭ஂ௕$50 !UPN[PI
  4. None
  5. None
  6. 8FC%FWFMPQNFOUXJUI 8&"3&)*3*/( IUUQXXXEHDJSDVTDPN 0NPUFTBOEP 5PLZP

  7. ࠓ೔ͷςʔϚ

  8. $16ͷ੬ऑੑ4QFDUSF ε ϖ Ϋ λ ʔ

  9. ೥݄೔

  10. IUUQTHPPHMFQSPKFDU[FSPCMPHTQPUKQSFBEJOHQSJWJMFHFENFNPSZXJUITJEFIUNM

  11. XJUIBTJEFDIBOOFM ࣙॻӳࣙ࿠POUIF8&# QSJWJMFHFE 3FBEJOH NFNPSZ

  12. XJUIBTJEFDIBOOFM ࣙॻӳࣙ࿠POUIF8&# 3FBEJOH NFNPSZ QSJWJMFHFE

  13. XJUIBTJEFDIBOOFM ࣙॻӳࣙ࿠POUIF8&# 3FBEJOH NFNPSZ QSJWJMFHFE QSJWJMFHFE ʲ໊ʳʬUIFʙʭಛݖ֊ڃʦ૚ʧ ʲܗʳಛݖΛ࣋ͭɺಛݖͷ͋Δ QSÍWɾJɾMFHFE

  14. ಛݖྖҬͷϝϞϦΛ
 αΠυνϟωϧ੬ऑੑΛ࢖ͬͯಡΈࠐΉ

  15. ͭ·Γ

  16. ಡΊͯ͸͍͚ͳ͍ϝϞϦྖҬΛ ಡΊͯ͠·͏

  17. ͱͯ΋େ͖ͳ࿩୊ʹͳͬͨ

  18. None
  19. None
  20. ͳͥେ͖ͳ࿩୊ʹͳ͔ͬͨ

  21. ᶃର৅ʢͱࢥΘΕΔʣ$16͕͘͢͝ଟ͍

  22. 7BSJBOUTPGUIJTJTTVFBSFLOPXOUPBGGFDU NBOZNPEFSOQSPDFTTPST JODMVEJOHDFSUBJO QSPDFTTPSTCZ*OUFM ".%BOE"3. ᶃର৅ʢͱࢥΘΕΔʣ$16͕͘͢͝ଟ͍

  23. 7BSJBOUTPGUIJTJTTVFBSFLOPXOUPBGGFDU NBOZNPEFSOQSPDFTTPST JODMVEJOHDFSUBJO QSPDFTTPSTCZ*OUFM ".%BOE"3. .BD 8JOEPXTϚγϯ 8FCαʔόͳͲ֤छαʔό ᶃର৅ʢͱࢥΘΕΔʣ$16͕͘͢͝ଟ͍

  24. 7BSJBOUTPGUIJTJTTVFBSFLOPXOUPBGGFDU NBOZNPEFSOQSPDFTTPST JODMVEJOHDFSUBJO QSPDFTTPSTCZ*OUFM ".%BOE"3. .BD 8JOEPXTϚγϯ 8FCαʔόͳͲ֤छαʔό J1IPOF "OESPJE

    ϧʔλ *P5ػث ᶃର৅ʢͱࢥΘΕΔʣ$16͕͘͢͝ଟ͍
  25. ᶄରࡦ͕औΓͮΒ͍

  26. ᶄରࡦ͕औΓͮΒ͍ ৄࡉ͸ޙड़

  27. ͲΜͳ੬ऑੑ͔

  28. ͷલʹ$16جૅ஌ࣝ

  29. جૅ஌ࣝΩϟογϡ

  30. Ωϟογϡ

  31. Ωϟογϡ $16ʹ಺ଂ͞Εͨߴ଎ͳϝϞϦ

  32. Ωϟογϡ Ұ౓ಡΜͩσʔλ͸Ωϟογϡʹஔ͘ $16ʹ಺ଂ͞Εͨߴ଎ͳϝϞϦ

  33. Ωϟογϡ ߴ଎ʹಈ࡞ͤ͞ΔͨΊʢϝϞϦ͸஗͍ʣ Ұ౓ಡΜͩσʔλ͸Ωϟογϡʹஔ͘ $16ʹ಺ଂ͞Εͨߴ଎ͳϝϞϦ

  34. Ωϟογϡ ݱ୅ͷ$16͸ΩϟογϡΛଟ༻͢Δ ߴ଎ʹಈ࡞ͤ͞ΔͨΊʢϝϞϦ͸஗͍ʣ Ұ౓ಡΜͩσʔλ͸Ωϟογϡʹஔ͘ $16ʹ಺ଂ͞Εͨߴ଎ͳϝϞϦ

  35. جૅ஌ࣝ౤ػత࣮ߦ

  36. զʑ͸1)1FSͳͷͰ 1)1Ά͍ݴޠͰղઆ

  37. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  FDIP1$  FYJU    FDIPl8PSME
  38. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  FDIP1$  FYJU    FDIPl8PSME ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ
  39. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  FDIP1$  FYJU    FDIPl8PSME ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ ʣઌߦͯ͜͜͠Β΁Μ΋࣮ߦ͢Δ
  40. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  FDIP1$  FYJU    FDIPl8PSME ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ ʣઌߦͯ͜͜͠Β΁Μ΋࣮ߦ͢Δ ʣͷJGͷ݁ՌʹΑͬͯ͸ ແବʹͳΔ͚Ͳ౤ػతʹ࣮ߦ͢Δ
  41. جૅ஌ࣝྫ֎

  42. $16 ΞυϨεۭؒ(# ΞυϨεόεCJU  G G G G G G

    G G GGGGGGGG   (#
  43. $16 ΞυϨεۭؒ(# ΞυϨεόεCJU  G G G G G G

    G G GGGGGGGG   (# 04
  44. $16 ΞυϨεۭؒ(# ΞυϨεόεCJU  G G G G G G

    G G GGGGGGGG   (# 04 ϢʔβϓϩάϥϜ ϢʔβϓϩάϥϜ
  45. $16 ΞυϨεۭؒ(# ΞυϨεόεCJU  G G G G G G

    G G GGGGGGGG   (# 04 ϢʔβϓϩάϥϜ ϢʔβϓϩάϥϜ͕
 $16͕ڐՄ͠ͳ͍
 ྖҬͷϝϞϦʹ
 ΞΫηε͢Δͱྫ֎
 ϢʔβϓϩάϥϜ
  46. IUUQMBCPSBUPSZTVCKQD IUNM

  47. جૅ஌ࣝ౤ػత࣮ߦ جૅ஌ࣝΩϟογϡ جૅ஌ࣝྫ֎

  48. جૅ஌ࣝ౤ػత࣮ߦ جૅ஌ࣝΩϟογϡ جૅ஌ࣝྫ֎ Ұ౓ϝϞϦ͔ΒಡΜͩσʔλΛߴ଎ͳϝϞϦʹஔ͍͓ͯ͘

  49. جૅ஌ࣝ౤ػత࣮ߦ جૅ஌ࣝΩϟογϡ جૅ஌ࣝྫ֎ Ұ౓ϝϞϦ͔ΒಡΜͩσʔλΛߴ଎ͳϝϞϦʹஔ͍͓ͯ͘ ઌͷํΛ࣮ߦ͓ͯ͘͠

  50. جૅ஌ࣝ౤ػత࣮ߦ جૅ஌ࣝΩϟογϡ جૅ஌ࣝྫ֎ Ұ౓ϝϞϦ͔ΒಡΜͩσʔλΛߴ଎ͳϝϞϦʹஔ͍͓ͯ͘ ઌͷํΛ࣮ߦ͓ͯ͘͠ $16͕ڐՄ͠ͳ͍ϝϞϦʹΞΫηε͢ΔͱΤϥʔ

  51. $16ͷ੬ऑੑ4QFDUSF ε ϖ Ϋ λ ʔ

  52. ͜ΜͳϝϞϦϚοϓΛ૝ఆ

  53.     ''' ϢʔβϓϩάϥϜ ϢʔβϓϩάϥϜ ผͷϓϩάϥϜ

  54. ͜ΜͳϓϩάϥϜ͕͋ͬͨͱ͢Δ

  55. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍ΞυϨεʣ  
  56. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍ΞυϨεʣ   ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ
  57. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍ΞυϨεʣ   ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ ʣઌߦͯ͜͜͠Β΁Μ͕࣮ߦ͞ΕΔ
  58. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍ΞυϨεʣ   ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ ʣઌߦͯ͜͜͠Β΁Μ͕࣮ߦ͞ΕΔ ʣͷ஋ΛCʹ֨ೲɻ
  59. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍ΞυϨεʣ   ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ ʣઌߦͯ͜͜͠Β΁Μ͕࣮ߦ͞ΕΔ ʣͷ஋ΛCʹ֨ೲɻ ຊདྷ͸ྫ֎͕ൃੜ͢ΔΞΫηε ౤ػ࣮ߦத͸ྫ֎ൃੜ͠ͳ͍ ʢൃੜͨ͠ΒࠔΔʣ
  60. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍ΞυϨεʣ   ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ ʣઌߦͯ͜͜͠Β΁Μ͕࣮ߦ͞ΕΔ ʣͷ஋ΛCʹ֨ೲɻ ʣ C  ͷ஋Λ
 Dʹ֨ೲɻ
  61. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍ΞυϨεʣ   ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ ʣઌߦͯ͜͜͠Β΁Μ͕࣮ߦ͞ΕΔ ʣͷ஋ΛCʹ֨ೲɻ ʣ C  ͷ஋Λ
 Dʹ֨ೲɻ w ʙGGͷൣғ w ϢʔβϓϩάϥϜ͔ΒΞΫηεͰ͖ΔྖҬ w ͜ͷΞΫηεͰʙGGͷ
 Ͳ͔͜ͷόΠτ͕Ωϟογϡʹ৐Δ
  62. ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B

    \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍ΞυϨεʣ   ʣ͜͜Β΁ΜΛ࣮ߦ͍ͯ͠Δ࣌ʹʜ ʣઌߦͯ͜͜͠Β΁Μ͕࣮ߦ͞ΕΔ ʣͷ஋ΛCʹ֨ೲɻ ʣ C  ͷ஋Λ
 Dʹ֨ೲɻ
  63. ΞυϨε ಺༰  YY  YY  YY  YY

     YY  YY  YY   GG YY ΞυϨε ಺༰  GPS JJJ \  TUBSUUJNF   ESFBE J    FOEUJNF   JG FOETUBSU \ FDIPͷ஋͸JͰͨ͠ʂʂ ^  ^  SFUVSO
  64. ΞυϨε ಺༰  YY  YY  YY  YY

     YY  YY  YY   GG YY ΞυϨε ಺༰  GPS JJJ \  TUBSUUJNF   ESFBE J    FOEUJNF   JG FOETUBSU \ FDIPͷ஋͸JͰͨ͠ʂʂ ^  ^  SFUVSO ॱ൪ʹಡΈࠐΈ͔͔ͯͬͨ࣌ؒ͠Λଌఆ
  65. ΞυϨε ಺༰  YY  YY  YY  YY

     YY  YY  YY   GG YY ΞυϨε ಺༰  GPS JJJ \  TUBSUUJNF   ESFBE J    FOEUJNF   JG FOETUBSU \ FDIPͷ஋͸JͰͨ͠ʂʂ ^  ^  SFUVSO ॱ൪ʹಡΈࠐΈ͔͔ͯͬͨ࣌ؒ͠Λଌఆ ͚ͩ͘͢͝ಡΈࠐΈ͕଎͔ͬͨ
 ‎͕Ωϟογϡʹ৐͍ͬͯͨ ‎ຊདྷಡΊͳ͍ͷ಺༰͸ͩͬͨ
  66. ΞυϨε ಺༰  YY  YY  YY  YY

     YY  YY  YY   GG YY ΞυϨε ಺༰  GPS JJJ \  TUBSUUJNF   ESFBE J    FOEUJNF   JG FOETUBSU \ FDIPͷ஋͸JͰͨ͠ʂʂ ^  ^  SFUVSO ॱ൪ʹಡΈࠐΈ͔͔ͯͬͨ࣌ؒ͠Λଌఆ ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍஋ʣ   ͚ͩ͘͢͝ಡΈࠐΈ͕଎͔ͬͨ
 ‎͕Ωϟογϡʹ৐͍ͬͯͨ ‎ຊདྷಡΊͳ͍ͷ಺༰͸ͩͬͨ
  67. ΞυϨε ಺༰  YY  YY  YY  YY

     YY  YY  YY   GG YY ΞυϨε ಺༰  GPS JJJ \  TUBSUUJNF   ESFBE J    FOEUJNF   JG FOETUBSU \ FDIPͷ஋͸JͰͨ͠ʂʂ ^  ^  SFUVSO ॱ൪ʹಡΈࠐΈ͔͔ͯͬͨ࣌ؒ͠Λଌఆ ΞυϨε ಺༰  FDIP)FMMP  BSBOE   JG B \HPUP^  CSFBE    DSFBE C    ʢΞΫηεݖͷͳ͍஋ʣ  
  68. $16ͷ੬ऑੑ4QFDUSF ε ϖ Ϋ λ ʔ ʢݫີʹ͸4QFDUSFͱ.FMUEPXOͷ૊߹ͤʣ

  69. ͜Μͳ͓࿩Ͱͨ͠

  70. ͓΋͠Ζ͍Ͱ͢Ͷʂ

  71. ͱ͜ΖͰʜ

  72. ᶄରࡦ͕औΓͮΒ͍

  73. ᶄରࡦ͕औΓͮΒ͍ wۙ୅ͷ$16͸ɺ໋ྩΛ୯७Խͯ͠$16಺ͷσό ΠεͰ෼ۀͯ͠ॲཧ͢Δ͜ͱͰߴ଎Խ͍ͯ͠Δɻ w$16ͷ֎ͷ஗͍σόΠεΛͨͩ଴ͪͨ͘ͳ͍ɻ
 $16಺ʹख͕ۭ͘σόΠεΛ࡞Γͨ͘ͳ͍ɻ w౤ػత࣮ߦͦ͜ߴ଎ԽͷΩϞɻ

  74. ͓͠·͍ !UPN[PI w "TLUIF4QFBLFS w ࠙਌ձ w 5XJUUFS w #MPH

  75. ສ͕Ұ͕࣌ؒ༨ͬͨͱ͖ͷͨΊͷ ͓·͚

  76. %ʙ% "ʙ" *OUFM1FOUJVN

  77. %ʙ% "ʙ" *OUFM1FOUJVN ΞυϨεόεϏοτ ʙGGGGGGGGͷ(# "ʙ"͸ݻఆ όΠτʢϏοτʣ୯ҐͷΞΫηε

  78. ᶄରࡦ͕औΓͮΒ͍ wۙ୅ͷ$16͸ɺ໋ྩΛ୯७Խͯ͠$16಺ͷσό ΠεͰ෼ۀͯ͠ॲཧ͢Δ͜ͱͰߴ଎Խ͍ͯ͠Δɻ w$16ͷ֎ͷ஗͍σόΠεΛͨͩ଴ͪͨ͘ͳ͍ɻ
 $16಺ʹख͕ۭ͘σόΠεΛ࡞Γͨ͘ͳ͍ɻ w౤ػత࣮ߦͦ͜ߴ଎ԽͷΩϞɻ

  79. Ͳ͏΍ͬͯରࡦ͍ͯ͠Δ͔

  80. $16 ΞυϨεۭؒ(# ΞυϨεόεCJU  G G G G G G

    G G GGGGGGGG   (# 04 ϢʔβϓϩάϥϜ
  81. ෼ذ༧ଌόοϑΝ

  82. ෼ذ༧ଌόοϑΝ w෼ذΛ༧ଌͰ͖Δͱ౤ػ࣮ߦ͕ແବʹͳΓʹ͍͘ɻخ͍͠ɻ wաڈͷ෼ذΛهԱ͓͍ͯͯ͠ɺ֬཰తͳφχͰ༧ଌ͢Δɻ
 ʢ෼ذ༧ଌόοϑΝʣ wϐϯϙΠϯτʹʮ͜ͷ෼ذ໋ྩʯͱ͍͏όοϑΝͱɺ৔ॴʹ ݶΒͣʮ͜͜෼ذʯͱ͍͏࣌ؒతͳൣғͰఆΊͨόοϑΝ ΋͋Δɻ

  83. ෼ذ༧ଌόοϑΝ w෼ذΛ༧ଌͰ͖Δͱ౤ػ࣮ߦ͕ແବʹͳΓʹ͍͘ɻخ͍͠ɻ wաڈͷ෼ذΛهԱ͓͍ͯͯ͠ɺ֬཰తͳφχͰ༧ଌ͢Δɻ
 ʢ෼ذ༧ଌόοϑΝʣ wϐϯϙΠϯτʹʮ͜ͷ෼ذ໋ྩʯͱ͍͏όοϑΝͱɺ৔ॴʹ ݶΒͣʮ͜͜෼ذʯͱ͍͏࣌ؒతͳൣғͰఆΊͨόοϑΝ ΋͋Δɻ ‎$16͕ϓϩάϥϚͷบΛಡΜͰ͍Δ
 ʢͱ΋ݴ͑ΔͷͰ͸ͳ͍ͩΖ͏͔ʣ

  84. ()[   ճTFDԯճTFD ʢʢ5#TFDˠ5#TFDˠ(#TFDʣˠ(#TFDˠ(#TFDʣˠ.#TFD FUIFS ˠ.#TFD JOUFSFOU $16ͷΩϟογϡͱϝϞϦ $16

    -.# (#TFD ίΞ -,#
 5#TFD -,# 5#TFD ॲཧ૷ஔ ϝΠϯϝϞϦ (#(#TFD 44% 5#(#TFD
  85. ()[   ճTFDԯճTFD ʢʢ5#TFDˠ5#TFDˠ(#TFDʣˠ(#TFDˠ(#TFDʣˠ.#TFD FUIFS ˠ.#TFD JOUFSFOU $16ͷΩϟογϡͱϝϞϦ $16

    -.# (#TFD ίΞ -,#
 5#TFD -,# 5#TFD ॲཧ૷ஔ ϝΠϯϝϞϦ (#(#TFD 44% 5#(#TFD ഒ
  86. ()[   ճTFDԯճTFD ʢʢ5#TFDˠ5#TFDˠ(#TFDʣˠ(#TFDˠ(#TFDʣˠ.#TFD FUIFS ˠ.#TFD JOUFSFOU $16ͷΩϟογϡͱϝϞϦ $16

    -.# (#TFD ίΞ -,#
 5#TFD -,# 5#TFD ॲཧ૷ஔ ϝΠϯϝϞϦ (#(#TFD 44% 5#(#TFD ഒ ഒ
  87. ()[   ճTFDԯճTFD ʢʢ5#TFDˠ5#TFDˠ(#TFDʣˠ(#TFDˠ(#TFDʣˠ.#TFD FUIFS ˠ.#TFD JOUFSFOU $16ͷΩϟογϡͱϝϞϦ $16

    -.# (#TFD ίΞ -,#
 5#TFD -,# 5#TFD ॲཧ૷ஔ ϝΠϯϝϞϦ (#(#TFD 44% 5#(#TFD ഒ ഒ ഒ
  88. ()[   ճTFDԯճTFD ʢʢ5#TFDˠ5#TFDˠ(#TFDʣˠ(#TFDˠ(#TFDʣˠ.#TFD FUIFS ˠ.#TFD JOUFSFOU $16ͷΩϟογϡͱϝϞϦ $16

    -.# (#TFD ίΞ -,#
 5#TFD -,# 5#TFD ॲཧ૷ஔ ϝΠϯϝϞϦ (#(#TFD 44% 5#(#TFD ഒ ഒ ഒ ഒ
  89. σʔλͷہॴੑ wϓϩάϥϜ͕σʔλΛΞΫηε͢Δ৔߹ɺ ͍ۙྖҬʹ࿈ଓͯ͠ΞΫηε͢Δ͜ͱ͕ ଟ͍ɻ w͍ۭۙؒతPS࣌ؒత

  90.  QIQ GPS JJJ \ FDIP)FMMP8PSME ^ L2 #0 EXT_STMT

    L2 #1 ASSIGN $i 0 L2 #2 JMP J7 L3 #3 EXT_STMT L3 #4 ECHO "Hello World." L2 #5 POST_INC $i ~1 L2 #6 FREE ~1 L2 #7 IS_SMALLER $i 10 ~2 L2 #8 EXT_STMT L2 #9 JMPNZ ~2 J3 L6 #10 RETURN 1
  91.  QIQ GPS JJJ \ FDIP)FMMP8PSME ^ L2 #0 EXT_STMT

    L2 #1 ASSIGN $i 0 L2 #2 JMP J7 L3 #3 EXT_STMT L3 #4 ECHO "Hello World." L2 #5 POST_INC $i ~1 L2 #6 FREE ~1 L2 #7 IS_SMALLER $i 10 ~2 L2 #8 EXT_STMT L2 #9 JMPNZ ~2 J3 L6 #10 RETURN 1 ۭؒతʹ͍ۙ
 ಉ͡ͱ͜ΖΛճ͍ͬͯΔ
  92.  QIQ GPS JJJ \ FDIP)FMMP8PSME ^ L2 #0 EXT_STMT

    L2 #1 ASSIGN $i 0 L2 #2 JMP J7 L3 #3 EXT_STMT L3 #4 ECHO "Hello World." L2 #5 POST_INC $i ~1 L2 #6 FREE ~1 L2 #7 IS_SMALLER $i 10 ~2 L2 #8 EXT_STMT L2 #9 JMPNZ ~2 J3 L6 #10 RETURN 1
  93.  QIQ GPS JJJ \ FDIP)FMMP8PSME ^ L2 #0 EXT_STMT

    L2 #1 ASSIGN $i 0 L2 #2 JMP J7 L3 #3 EXT_STMT L3 #4 ECHO "Hello World." L2 #5 POST_INC $i ~1 L2 #6 FREE ~1 L2 #7 IS_SMALLER $i 10 ~2 L2 #8 EXT_STMT L2 #9 JMPNZ ~2 J3 L6 #10 RETURN 1 Jʹසൟʹ ΞΫηε
 ͍ͯ͠Δ
  94. ࠂ஌

  95. None
  96. ʢۚʣʙʢ೔ʣ 1)1FS,BJHJ

  97. ʢ໦ʣʙʢ೔ʣ τʔΫืूத

  98. YYYYʙYYYY CVJMEFSTDPOUPLZP /PXPO$G1

  99. ͓͠·͍ !UPN[PI w "TLUIF4QFBLFS w ࠙਌ձ w 5XJUUFS w #MPH