
ã¹ããŒãã¬ãžã§ããã¯ç§ãã¡ã®ç掻ã«éåžžã«ç·å¯ã«çµ±åãããŠããã ã€ã³ã¿ãŒãããçµç±ãªã©ãäœã³ã¹ããå©äŸ¿æ§ã䜿ããããããããã®æ°ã¯å¹Žã å¢å ããŠããŸã ã ãã ããå€ãã®ãã©ã¹ã®è£ã«ã¯é ããŠããçæããããå¹³åçãªãŠãŒã¶ãŒã«ã¯äžèŠããŠèŠããŸããã
NeoQUEST-2017 Confrontation ã¬ããŒãã®1ã€ã§ ãåºç¯ãªã¯ã©ã¹ã®çµã¿èŸŒã¿ããã€ã¹ïŒIPã«ã¡ã©ïŒãæ€èšãããçµã¿èŸŒã¿ãœãããŠã§ã¢ãåæããäžè¬çãªã¢ãããŒããè°è«ãããŸããã ãã®èšäºã§ã¯ãã¡ãŒã«ãŒã䜿çšããHikvision DS-2CD2432F-IWã«ã¡ã©ããã®ãã¡ãŒã ãŠã§ã¢ãããã³åã蟌ã¿ãšå€æŽããã®ä¿è·ã¡ã«ããºã ã®ç 究ã«ã€ããŠè©³ãã説æããŸãã
ç¥äºº
Webã€ã³ã¿ãŒãã§ã€ã¹ã«ã¢ã¯ã»ã¹ããŠæ©èœã調ã¹ãŸãããœãããŠã§ã¢ããŒãžã§ã³ã確èªãããããã¯ãŒã¯ãµãŒãã¹ïŒSSHãSNTPãFTPãªã©ïŒãã¢ã¯ãã£ãã«ããŸãã ããªãå€ããã¡ãŒã ãŠã§ã¢5.3.0ãæèŒããã«ã¡ã©ãå ¥æããŸããã åœç¶ããã³ããŒã¯ããŒãžã§ã³ããšã«ãããã€ã¹ã®æ©èœã ãã§ãªãã»ãã¥ãªãã£ã®åé¡ã«ãããããåœãŠãŠããŸãã å·çæç¹ã§ã¯ããã®ã«ã¡ã©ã®ææ°ãã¡ãŒã ãŠã§ã¢ã®ããŒãžã§ã³ã¯5.4.5ã§ãã

ã«ã¡ã©ããã©ã€ããããªã衚瀺ããã«ã¯ããã©ãŠã¶ãã©ã°ã€ã³ãå¿ èŠã§ãã ãã©ã°ã€ã³ã®1ã€ã¯ã«ã¡ã©èªäœã«ä¿åãããŠããŸã-ããŠã³ããŒãããŠãã ããããããã䟿å©ã§ãããã

SSHãä»ããŠããã€ã¹ã«æ¥ç¶ããçŸåšã®ã«ã¡ã©èšå®ã確èªããããç¬èªã®èšå®ãè¡ã£ãããWebã€ã³ã¿ãŒãã§ãŒã¹ãããããã€ã¹ã«é¢ããããå€ãã®æ å ±ãåŠç¿ãããã§ããç¹å®ã®ã³ãã³ãã»ããã§CLIã確èªããŸãã

ã³ãã³ãããã§ãã¯ãããããã®1ã€ã䜿çšããŠãOSãOSã«ãŒãã«ãããã»ããµã¢ãŒããã¯ãã£ããã¡ã€ã«ã·ã¹ãã ãRAMãµã€ãºãç©çã¡ã¢ãªããŒãã£ã·ã§ã³ãªã©ã«é¢ããæ å ±ãèŠã€ããŸãã

æ å ±æ€çŽ¢
ç 究è ã«ãšã£ãŠéèŠãªã¹ãã«ã¯ãæ å ±ãæ€çŽ¢ããèœåã§ããçµå±ã®ãšããã誰ãããã§ã«ããªãã®åã«ãããè¡ã£ãŠããå¯èœæ§ãé«ãã§ãã å€ãã®è³ªåãžã®åçã¯ãããŒãå¥ãã©ãŒã©ã ãŸãã¯åã«æ€çŽ¢ãšã³ãžã³ã§èŠã€ããããšãã§ããŸãã ããšãã°ãããŸããŸãªã«ã¡ã©ãã¬ãžã¹ãã©ãªã©ã«ç¹åãããã©ãŒã©ã ã«åå ããŸãã
å°ããµãŒãã£ã³ããŠãããã«æ·±ãããã©ãŒã«ã¹ã«ãŒãããæ¹æ³ãèŠã€ããŠãã ãã ãã€ãŸããCLIãšãã¡ã€ã«ã·ã¹ãã ã®ãã«ãããã³ãã³ãã䜿çšå¯èœãªã«ãŒãã·ã§ã«ã§èŠã€ããŠãã ããã
ã«ãŒãã·ã§ã«ã«ã¢ã¯ã»ã¹ããããšã§ãéããŠããããŒããšããã»ã¹ã®ãªã¹ããååŸãããããã¡ã€ã«ã·ã¹ãã ããå®è¡å¯èœãã¡ã€ã«ãæœåºããŠæ€æ»ããããç¬èªã®ãã¡ã€ã«ãèµ·åãããã§ããŸãã SDã«ãŒãã䜿çšããŠäž¡æ¹ãã€ã³ããŒã/ãšã¯ã¹ããŒãã§ããŸãã

ã«ã¡ã©ãç¥ã段éã§ããã RS232ã¿ããWebã€ã³ã¿ãŒãã§ã€ã¹ã«è¡šç€ºãããŠããŸããã ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã®äœ¿çšæ¹æ³ã«é¢ããã¹ã¬ããããã©ãŒã©ã ã«ããã«ç»å ŽããŸããã

UARTãã«ã¡ã©ã«æ¥ç¶ãã minicomã«å¿ èŠãªãã©ã¡ãŒã¿ãŒãèšå®ããããšã«ãããã«ã¡ã©ã®èµ·åã®ãã°å šäœãèªã¿åããããã€ã¹ã®èµ·åãåæ¢ããããŒãããŒããŒã§ã倱æãããããšãã§ããŸãã ãã°ã¯éåžžã«å€§ãããèµ·åãããããã»ã¹ãåæ Œãããã§ãã¯ïŒãããŸã§ã®ãšããäžæïŒããšã©ãŒããã®ä»ã®ã·ã¹ãã æ å ±ã衚瀺ãããŸãã

ããŒãèªäœãšãã®ã³ãã³ããåæ§ã«èå³æ·±ããã®ã§ãããŒã¿ãããã€ã¹ã®ç©çã¡ã¢ãªã«èªã¿æžãããããtftpãµãŒããŒçµç±ã§ã«ã¡ã©ãæŽæ°ãããïŒçªç¶ãã¬ã³ã¬ãã«å€ããå ŽåïŒãã«ã¡ã©ã®å éšã«é¢ããããã«è©³çŽ°ãªæ å ±ãååŸãããã§ããŸãã

ãã¡ãŒã ãŠã§ã¢æ§é
ããããŒ
ã«ã¡ã©èªäœã®å°ãã®ç 究ã®åŸããã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžã®ç 究ã«é²ã¿ãŸãã ã€ã¡ãŒãžãããŠã³ããŒãããŸãããã¡ãŒã ãŠã§ã¢ã¯æ¡åŒµåãã.davãã®äžæãªãã¡ã€ã«ã§ããããšã«æ³šæããŠãã ããã 16é²ãšãã£ã¿ã§äœããèŠãããšããŠããŸãã

ååãšããŠããã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžã¯ãã»ãšãã©ã®å Žåãã€ã¡ãŒãžèªäœããã³ãµããŒããããŠããããã€ã¹ã«é¢ããã¡ã¿ããŒã¿ãå«ãããããŒã§å§ãŸããŸãã åã®å³ãããã¿ã€ãã«ã«äŒŒããã®ãããããŸãã binwalkãã¡ãŒã ãŠã§ã¢ãã¡ã€ã«ãããã£ãŒããããŠã¿ãŸãããã æåã®ã13äžãã€ãã§ã¯äœãèŠã€ãããŸããã§ãããããã¯ããã®ãããã¯ãæå·åãããŠããå¯èœæ§ãé«ãããšã瀺ããŠããŸãã

ç§ãã¡ã¯ãã§ã«è¿°ã¹ããã©ãŒã©ã ããç ãã«ããŠãããã«åºããããŸã ã ãã¡ãŒã ãŠã§ã¢ãã¡ã€ã«ã®ããããŒã¯ãå®éã«ã¯ãã€ãåäœã§æå·åãããŠããããšãããããŸãã ãããã¯æå·åã¯ãXORæäœã«åºã¥ããŠå®è£ ãããŸãã æäœããŒ=ãBA CD BC FE D6 CA DD D3 BA B9 A3 AB BF CB B5 BEãã åŸç¶ã®åxorã®åã«ãããŒã¯ãã€ãåäœã§åŸªç°çã«å·Šã«ã·ãããããŸãã ããããŒã解èªããããã®å°ããªã¹ã¯ãªãããäœæããŠããŸãã ãããŸã§ã®ãšãããçµæãšããŠãããããããã€ãã®ãã¡ã€ã«ã®ååãšæªç¥ã®ãã€ãã®ã»ãããååŸããŸãã

å©çšå¯èœãªæ å ±ïŒç»åã®ãµã€ãºãšããŒãžã§ã³ãbinwalk`aãã°ãªã©ïŒãããããŒå ã®äžæãªããŒã¿ãšæ¯èŒããŠã¿ãŸãããã ããšãã°ãbinwalkãæ€åºããç»åã®ãµã€ãºãŸãã¯.gzã¢ãŒã«ã€ãã®ãªãã»ããã確èªã§ããŸãã ãã€ãé ã«ãããã¯ãªãã«ãšã³ãã£ã¢ã³ã§ãããšçµè«ä»ããããšãã§ããŸãã

ããŒãã®æ®µéã§ããŠã³ããŒããããã©ãŠã¶ãã©ã°ã€ã³ãæãåºããŠãã ããã ãã®ååã¯ã¿ã€ãã«ã«è¡šç€ºãããŸãã å€äœåŸããã«ãç»åã«ãã®ãµã€ãºã衚瀺ãããŸãã

ãã¡ã€ã«ã«é¢é£ä»ããããæ§é ã«ã¯ããã¡ã€ã«åïŒ32ãã€ãïŒããã®ãªãã»ããïŒ4ãã€ãïŒãããã³ãµã€ãºïŒ4ãã€ãïŒãå«ãŸããããšã¯æ¢ã«ç¥ãããŠããŸãã ããã«4ãã€ãã®æ å ±ã¯ã次ã®æ§é ãŸã§äžæã®ãŸãŸã§ãã ããã¯ã»ãšãã©ã®å Žåãã§ãã¯ãµã ã§ãã ã©ã®ã¢ã«ãŽãªãºã ã§èšç®ãããã®ãã¯äžæã§ãã é·ãã4ãã€ããããªããããããã¯äžè¬çãªããã·ã¥é¢æ°ïŒMD5ïŒïŒãSHA *ïŒïŒïŒã®çµæã§ã¯ãªããšèšãããšãã§ããŸãã CRC32ïŒïŒã䜿çšãããŠãããšæ³å®ã§ããŸãã è©ŠããŠã¿ãŸã-éãåæããŸããã
ããã€ãã®ä»®å®ã®åŸãå¥åŠãªäŸåé¢ä¿ãèŠã€ãããŸããããã¡ã€ã«ãµã€ãºã倧ãããªããšããã§ãã¯ãµã ã倧ãããªããŸãã ããã«ããããã¡ã€ã«ã®1ã€ã«é£ç¶ããŠãã€ããè¿œå ããããã«ãªããŸããã å®éããã§ãã¯ãµã èšç®ã¢ã«ãŽãªãºã ã¯éåžžã«åçŽã§ããããã€ããé 次远å ãããŸãã åæ§ã«ãããããŒãã§ãã¯ãµã ãèšç®ãããŸããããããŒãã§ãã¯ãµã ã¯ããµã€ãºã®é£ã®æåã«é 眮ãããŸãã
埩å·åãããããããŒã«ã¯æ¬¡ã®æ å ±ãå«ãŸããŸãã
- ã€ã¡ãŒãžèªäœã«ã€ããŠïŒããŒãžã§ã³ãã¢ã»ã³ããªããµã€ãºã«ã€ããŠã
- ããã€ã¹ã«ã€ããŠ;
- ãã¡ãŒã ãŠã§ã¢å ã®ãã¡ã€ã«ã«ã€ããŠïŒååããªãã»ããããµã€ãºããã§ãã¯ãµã ã
詳现ãªèŠåºãæ§é ã¯æ¬¡ã®ãšããã§ãã

ããããŒæ§é ãå®å šã«ããã£ãã®ã§ãããããŒã解æããã€ã¡ãŒãžãåå¥ã®ãã¡ã€ã«ã«å§çž®è§£é€ããã¹ã¯ãªãããæžãããšã¯é£ãããããŸããïŒèšäºã®æåŸã«ãå ã®ãã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžã解åããŠæ°ããã€ã¡ãŒãžãäœæããããã°ã©ã ã®ãœãŒã¹ãžã®ãªã³ã¯ïŒïŒã ãããŠãããã§ãããã泚ææ·±ãç 究ããŸãïŒ
hroot.img
ã€ã¡ãŒãžã®äžéšã§ãããã¡ã€ã«ã調ã¹ãŸãã äžéšã®äºå®ã«ã€ããŠã¯ååããæ¢ã«æããã§ãããæ®ã£ãŠããã®ã¯çŸæç¹ã§æšæž¬ããããšã ãã§ã...æ¡åŒµåãã.imgãã®ãã¡ã€ã«ãããã«ç®ãåŒããŸããããã¯ããããããã¡ã€ã«ã·ã¹ãã ã®ã€ã¡ãŒãžã§ãã ããã«ããŠã³ãã§ããŸããã binwalkãããã£ãŒããããŠã.gzãã¢ãŒã«ã€ãã衚瀺ããŸããã64ãã€ãã®ã¿ã§ãããç»åã«ã¯ç¬èªã®ããããŒããããŸãã

ååãšããŠããã¡ã€ã«ã·ã¹ãã ã®ã€ã¡ãŒãžã®ããããŒã«ã¯ãã€ã¡ãŒãžã®ãã§ãã¯ãµã ããµã€ãºãããã³ããã€ã¹ã®RAMã®ããŒãã¢ãã¬ã¹ãå«ãŸããŸãã ç§ãã¡ã®å ŽåãCRC32ãã§ãã¯ãµã ïŒïŒã ãããžãã¯ãã€ããKDMRïŒRMDKãramdisk magicïŒãè¿œå ãããŸããã æ®ãã®ããããŒãã€ãã¯ãŒãã§åããããŸãã

initrun.sh
ãã§ã«ååã§ãããã€ã¹ã®é»æºããªã³ã«ãªã£ããšãã«ã¹ã¯ãªãããèµ·åããããšæ³å®ã§ããŸãã 調æ»ããçµæãå¿ èŠãªãã£ã¬ã¯ããªã®äœæãã¢ãŒã«ã€ãã®ã¢ã³ããã¯ããã¡ã€ã«ã®ã³ããŒããã€ããªãã¡ã€ã«ã®èµ·åãäžèŠãªãã¡ã€ã«ã®åé€ãã«ãŒãã«ã¢ãžã¥ãŒã«ã®ããŒããå¿ èŠãªããŒãã£ã·ã§ã³ã®ããŠã³ããã·ã³ããªãã¯ãªã³ã¯ã®äœæãè¡ãããããšãããããŸãã-ãããã¯ãã¹ãŠRAMã§çºçããŸãã
davinci.tar.gz
lib_so.tar.gz-åçã©ã€ãã©ãªãå«ãã¢ãŒã«ã€ãã¯ç®ç«ããªãããã«èŠããŸãããã©ã€ãã©ãªå ã®ã¢ãŒã«ã€ãå ã§ã¯ãå®è¡å¯èœãã€ããªãã¡ã€ã«daemon_fsp_appã倱ãããŸããã ãã®ã¢ãŒã«ã€ãã«çœ®ãããã®ã¯å¥åŠã§ãããæ®ãã®ãã€ããªã¯ç»åå ã®æ®ãã®ãã¡ã€ã«ãšé£çµãããã ãã§ãã ãŸãããããå ã«æ»ãå¿ èŠããããŸãïŒ
ãã®ãã€ããªãã¡ã€ã«ã¯ããã¡ãŒã ãŠã§ã¢å ã®ãã¡ã€ã«ã®1ã€ã§ããdavinci.tar.gzã埩å·åãéå§ãããã³åé€ããããã»ã¹å ã§ãã³ã°ããããŸãŸã«ããããšãå€æããŸããã ããã¯æãèå³æ·±ããã¡ã€ã«ã§ã-ããã€ã¹ã®åºæ¬çãªããžãã¯ãå®è£ ããdavinciæå·åãããå®è¡å¯èœãã¡ã€ã«ã WebãµãŒããŒãã管çãããæ°ãããã¡ãŒã ãŠã§ã¢ã®ã€ã³ããŒããããã€ã¡ãŒãžããã§ãã¯ããŸãã
ãã¡ã€ã«ã®ãã§ãã¯ãµã ããããã®ãªãã»ãããšãµã€ãºããã¡ãŒã ãŠã§ã¢å ã®ãã¡ã€ã«æ°ãã€ã¡ãŒãžã®ãµã€ãºãšãã®ããŒãžã§ã³ãäºææ§ã®ããããã€ã¹ã®ã¯ã©ã¹ãããããŒã®ãã§ãã¯ãµã ãšãµã€ãºããã¡ã€ã«ã·ã¹ãã ã€ã¡ãŒãžã®ããããŒããããŠãã¡ãããããžãã¯ãã€ããããã§ãã¯ãããŸãã åãã¡ã€ã«ã®æ§é ãåæããå Žåããããã®ãã§ãã¯ãåé¿ããããšã¯ããã»ã©é£ãããããŸããã ããã«ãããã€ã¡ãŒãžãå€æŽããããç¬èªã®ã€ã¡ãŒãžãäœæãããã§ããŸãã
補é æ¥è ã¯davinciãå§çž®ãããtar.gzã¢ãŒã«ã€ããšããŠåœè£ ããŸããããå®éã«ã¯ãŸã£ããç°ãªãå ¥ãå人圢ããããŸãïŒäžå³ãåç §ïŒã ãã€ããªãã¡ã€ã«ã¯tarã¢ãŒã«ã€ãã«ããã¯ãããlzmaã¢ã«ãŽãªãºã ã䜿çšããŠå§çž®ãããAES察称ãããã¯æå·åã¢ã«ãŽãªãºã ã䜿çšããŠæå·åãããŸãããããã¯ãµã€ãº-128ããããããŒãµã€ãº-256ããããæå·åã¢ãŒã-ECBãããã³ãããžãã¯ãã€ãã埩å·åäžã«ãã§ãã¯ãããŸãã
æå·åããŒã¯EVP_BytesToKeyïŒïŒããŒçæé¢æ°ã䜿çšããŠçæãããŸããMD5ïŒïŒã¯2ã€ã®ãã¹ã§äœ¿çšããããã¹ãã¬ãŒãºã¯ãR0sslV53cryptor0ãããœã«ãã¯ãHangZhouãã§ãã ããŸããŸãªã¯ã©ã¹ãšäžé£ã®ããã€ã¹ã§ã¯ããã®ããŒã¯ç°ãªããŸãã調ã¹ãŠããã«ã¡ã©ã®ã·ãªãŒãºã¯R0ã§ãã

_cfgUpgSecPls
ãã¡ã€ã«ã¯davinciãã€ããªãã¡ã€ã«ãšåãæ¹æ³ã§æå·åãããŸãããæå·åããŒãç°ãªãã ãã§ã埩å·åã¯davincièªäœã«ãã£ãŠãã§ã«è¡ãããŠããŸãã ããŒã¯ãå¥ã®ãã¹ãã¬ãŒãºã䜿çšããŠçæãããããããh @ k8807H $ Z5998ããšç°ãªããŸãã ãHangZhouããœã«ããšåãå Žæã§ãdavinciãã€ããªãã¡ã€ã«ã®ãå éšãã«ãããŸãã
次ã®å³ã«ç€ºã埩å·åããããã¡ã€ã«ã®æ§é ã«ããã°ãããã¯2çªç®ã®ç»åããããŒã§ãããšèšããŸããã¡ã¿ããŒã¿ããã¡ã€ã«åããªãã»ããããµã€ãºããã§ãã¯ãµã ãå«ãŸããŠããŸãã äž»ãªéãã¯ãã§ãã¯ãµã èšç®ã¢ã«ãŽãªãºã ã§ã-ããã«éåžžã®SHAïŒïŒïŒSHA1ïŒïŒããã³ä»ã®SHAïŒïŒã¢ã«ãŽãªãºã ãšæ··åããªãã§ãã ããïŒãšããã¡ã€ã«èªäœã®æå·åã¢ã«ãŽãªãºã ããããŸãã ãã®ãã¡ã€ã«ã¯ãããããŒãšåæ§ã«ãdavinciã«ãã£ãŠãã§ãã¯ãããŸãã

ç»åå ã®æ®ãã®ãã¡ã€ã«ã¯ãäžèšã»ã©èå³æ·±ããã®ã§ã¯ãããŸããã ãããã®ç°¡åãªèª¬æã以äžã®è¡šã«ç€ºããŸãã
ç»åå
ã®ãã¡ã€ã«ã®èª¬æ

æ²ããçµæãèŠçŽããã«ã¯...
äœãèšããŸããïŒ ã»ãšãã©ã®çµã¿èŸŒã¿ããã€ã¹ã¯äžåœã§è£œé ãããŠãããã¡ãŒã«ãŒã¯ããã°ã©ããŒãšããŒããŠã§ã¢ã®äœæ¥ãç¯çŽããããšããŠããŸãããã®çµæããã®ããŒããŠã§ã¢ã®èšç®ãªãœãŒã¹ã¯éåžžã«éãããŠããŸãã ãã®çµæãå ã®ãœãããŠã§ã¢ã®å€æŽïŒãŸãã¯å®å šãªäžåšïŒãé²ãããã®ã»ãã¥ãªãã£ã¡ã«ããºã ã®å®è£ ãäžååã§ããã
ããã«ã補é æ¥è ã¯ç¬ç«ããŠããã¯ãã¢ã眮ãããšãã§ããŸãã ãŸããã¹ããŒããã£ãŒãããã®ãããã³ã°ãé倧ãªæ害ãäžããå¯èœæ§ãäœãå ŽåïŒããã¯ã æœåšçã«ã¹ããŒããã£ãŒãããããã³ã¿ãŽã³ã®ãµã€ããã眮ããããšãã§ãããšãã䞻匵ã«åºã¥ããŠè°è«ã§ããŸããïŒãããéèŠãªçµã¿èŸŒã¿ã·ã¹ãã ãžã®æ»æã¯æ·±å»ãªçµæãæãå¯èœæ§ããããŸãçµæã
ã»ãšãã©ã®ããã€ã¹ã®èªåæŽæ°ã®æ¬ åŠã¯ããã®å®å šæ§ãå®å šã«æãªããŸããæ®éã®äººã¯ãå人ã«åœ±é¿ãäžãããã誰ããããã«ã€ããŠè©±ããŸã§ãæ å ±ã»ãã¥ãªãã£ã®åéã®ãã¥ãŒã¹ããã©ããŒããŸããã 䞻婊ãäžåœã®ãµã€ãããã«ã¡ã©ã®æ°ãããã¡ãŒã ãŠã§ã¢ãããŠã³ããŒãããããšã¯ãŸããããŸããã
ããã€ã¹ã¯äœå¹ŽãæŽæ°ãããªãå ŽåããããŸãã ãã®çµæãæ»æè ã¯ããç ç²è ãã®å¹³å¡ãªç£èŠããããããããã®äœæãŸã§ãå人çãªå©çã®ããã«ã¢ã¯ã»ã¹å¯èœãªæãç©ŽãæªçšããŸãã
å°æ¥çã«ã¯ãã¡ãŒã«ãŒã補åã®å®å šæ§ã«ãã£ãšè²¬ä»»ãæã¡ããããç§ãã¡ã®ç掻ã«ãŸããŸã泚ãããŠããããšãé¡ãã ãã§ããããšãã°ã é»åããžã¿ã«çœ²åãªã©ã®ãœãããŠã§ã¢ã®å€æŽã眮æããããããä¿è·ããããã®ææ°ã®ä¿¡é Œã§ããã¡ã«ããºã ãå°å ¥ããŸã ã
PS
調æ»äžã«ã å ã®ãã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžã解åãã Pythonã§æ°ããã€ã¡ãŒãžãäœæããããã°ã©ã ãäœæãããŸããã ã¢ã³ããã«ãŒã¯ãã€ã¡ãŒãžãã³ã³ããžã·ã§ã³ã«å«ãŸããåå¥ã®ãã¡ã€ã«ã«åå²ããŸãã ã¢ã»ã³ããªã¯ãããã€ã¹ãžã®ããŠã³ããŒãæã«ãã§ãã¯ããããããã®ãã£ãŒã«ããèæ ®ããŸããããã«ãããã€ã¡ãŒãžå ã®ãã¡ã€ã«ãïŒã€ã¡ãŒãžã«æ°ãããã¡ã€ã«ãè¿œå ããã«ïŒå€æŽããæ°ãããã¡ãŒã ãŠã§ã¢ãã¡ã€ã«ãã¢ã»ã³ãã«ã§ããŸãã ã¢ã»ã³ããªã«ã¯ãå±éãããã€ã¡ãŒãžãå¿ èŠã§ãã