แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒจแƒ”แƒฎแƒ•แƒ”แƒ“แƒ แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜ 0x0A DC7831 DEF CON แƒœแƒ˜แƒŸแƒœแƒ˜ แƒœแƒแƒ•แƒ’แƒแƒ แƒแƒ“แƒ˜ 16 แƒ—แƒ”แƒ‘แƒ”แƒ แƒ•แƒแƒšแƒก แƒฉแƒ•แƒ”แƒœ แƒฌแƒแƒ แƒ›แƒแƒ•แƒแƒ“แƒ’แƒ˜แƒœแƒ”แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜ แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ - แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜. แƒแƒกแƒšแƒ˜.

แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒแƒฆแƒ•แƒฌแƒ”แƒ แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜, แƒ•แƒแƒฉแƒ•แƒ”แƒœแƒแƒ— แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ“แƒ”แƒ‘แƒฃแƒ’แƒ”แƒ แƒ—แƒแƒœ แƒ“แƒ แƒจแƒ”แƒ•แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ›แƒชแƒ˜แƒ แƒ” แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜.

แƒฌแƒ˜แƒœแƒแƒ˜แƒกแƒขแƒแƒ แƒ˜แƒ

แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒฌแƒ˜แƒœ แƒจแƒแƒ แƒ”แƒฃแƒš แƒ’แƒแƒšแƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜

แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒšแƒ˜แƒก แƒฌแƒ˜แƒœ แƒฉแƒ•แƒ”แƒœแƒก แƒšแƒแƒ‘แƒแƒ แƒแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ’แƒแƒฎแƒ“แƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ™แƒ•แƒšแƒ”แƒ•แƒ. firmware แƒ˜แƒงแƒ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒฃแƒšแƒ˜ แƒ“แƒ แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒšแƒ˜ แƒฉแƒแƒ›แƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ”แƒšแƒ˜แƒ—. แƒ›แƒแƒœ แƒ”แƒก แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ แƒ—แƒฃแƒšแƒ˜ แƒ’แƒ–แƒ˜แƒ—, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒฏแƒ”แƒ แƒ›แƒ” แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜. แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ firmware แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ“แƒ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒš แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ—แƒแƒœ. แƒ“แƒ แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ MIPS แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ–แƒ”.

แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒฃแƒ แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ’แƒ•แƒ”แƒ แƒ’แƒ”แƒ‘แƒแƒ“แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ˜แƒœแƒช แƒ’แƒ•แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ’แƒแƒ’แƒ•แƒ”แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒœแƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ›แƒก แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ“แƒ แƒ“แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒ•แƒชแƒ”แƒ›แƒ“แƒ แƒแƒ›แƒแƒ•แƒแƒฌแƒงแƒแƒ— แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒชแƒแƒ“แƒ”แƒ— แƒ“แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒคแƒ˜แƒฅแƒ แƒ”แƒ—, แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒš แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒก, แƒ แƒแƒ› แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ firmware. แƒซแƒแƒšแƒ˜แƒแƒœ แƒแƒ  แƒ›แƒขแƒ™แƒ˜แƒ•แƒ - แƒ“แƒ แƒ˜แƒกแƒ˜แƒช แƒ’แƒแƒ›แƒแƒฃแƒ•แƒ˜แƒ“แƒ. แƒฉแƒ•แƒ”แƒœ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ“แƒแƒ•แƒคแƒ˜แƒฅแƒ แƒ“แƒ˜แƒ— แƒ“แƒ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒจแƒ”แƒ’แƒ•แƒ”แƒฅแƒ›แƒœแƒ แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒแƒœแƒ˜ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜.

แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ˜แƒงแƒ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜ แƒแƒกแƒšแƒ˜.

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜
แƒ แƒแƒขแƒแƒ› Kopycat?

แƒแƒ แƒ˜แƒก แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ›แƒแƒจแƒ˜.

  1. copycat (แƒ˜แƒœแƒ’แƒšแƒ˜แƒกแƒฃแƒ แƒ˜, แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜ [หˆkษ’pษชkรฆt]) - แƒ˜แƒ›แƒ˜แƒขแƒแƒขแƒแƒ แƒ˜, แƒ˜แƒ›แƒ˜แƒขแƒแƒขแƒแƒ แƒ˜
  2. แƒ™แƒแƒขแƒ (แƒ˜แƒœแƒ’แƒšแƒ˜แƒกแƒฃแƒ แƒ˜, แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜ [หˆkรฆt]) - แƒ™แƒแƒขแƒ, แƒ™แƒแƒขแƒ - แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ˜แƒก แƒกแƒแƒงแƒ•แƒแƒ แƒ”แƒšแƒ˜ แƒชแƒฎแƒแƒ•แƒ”แƒšแƒ˜
  3. แƒแƒกแƒ "K" แƒแƒ แƒ˜แƒก แƒ™แƒแƒขแƒšแƒ˜แƒœแƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒ“แƒแƒœ

แƒแƒกแƒšแƒ˜

แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก แƒ“แƒแƒกแƒแƒฎแƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ›แƒ˜แƒ–แƒœแƒ”แƒ‘แƒ˜:

  • แƒแƒฎแƒแƒšแƒ˜ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก, แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก, แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ;
  • แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒ“แƒแƒœ;
  • แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก (firmware) แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ;
  • แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜ (แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜);
  • แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—;
  • แƒšแƒแƒ›แƒแƒ–แƒ˜ แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒ”แƒœแƒ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒ™แƒแƒขแƒšแƒ˜แƒœแƒ˜ แƒแƒ แƒฉแƒ”แƒฃแƒš แƒ˜แƒฅแƒœแƒ แƒ˜แƒ›แƒžแƒšแƒ”แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒ•แƒขแƒแƒ‘แƒฃแƒกแƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ (แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ”แƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒแƒ•แƒขแƒแƒ‘แƒฃแƒกแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—), JSON, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒคแƒแƒ แƒ›แƒแƒขแƒ˜ แƒ“แƒ GDB RSP, แƒ แƒแƒ’แƒแƒ แƒช แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜ แƒ“แƒ”แƒ‘แƒฃแƒ’แƒ”แƒ แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ แƒแƒ  แƒฌแƒ”แƒšแƒ–แƒ” แƒชแƒแƒขแƒ แƒ›แƒ”แƒขแƒ˜แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒก แƒ“แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒก. แƒแƒ› แƒ“แƒ แƒแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ MIPS, x86, V850ES, ARM แƒ“แƒ PowerPC แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ”แƒ‘แƒ˜.

แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒ“แƒ แƒแƒ แƒ›แƒ˜แƒกแƒ˜ แƒคแƒแƒ แƒ—แƒ แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒจแƒ” แƒฌแƒแƒ แƒ“แƒ’แƒ”แƒœแƒ. แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ  แƒแƒฆแƒฌแƒ”แƒ แƒแƒก แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฎแƒšแƒ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒแƒก แƒ’แƒแƒ•แƒแƒ›แƒแƒฎแƒ•แƒ˜แƒšแƒ”แƒ‘แƒ— Kopycat-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ–แƒ”.

แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒแƒฃแƒ—แƒ›แƒ”แƒœแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ›แƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒšแƒ˜แƒœแƒ™แƒ”แƒ‘แƒ˜.

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒจแƒ”แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒแƒ“แƒ แƒ” SMARTRHINO-2018-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ”แƒ แƒ”แƒœแƒชแƒ˜แƒแƒ–แƒ” แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ "Rhinoceros" แƒกแƒแƒžแƒ˜แƒ แƒ˜แƒกแƒžแƒ˜แƒ แƒ แƒ˜แƒœแƒŸแƒ˜แƒœแƒ”แƒ แƒ˜แƒ˜แƒก แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒกแƒฌแƒแƒ•แƒšแƒ”แƒ‘แƒšแƒแƒ“. แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ˜แƒงแƒ แƒ”แƒก แƒ›แƒฃแƒฎแƒšแƒ˜.

แƒแƒฎแƒšแƒ แƒจแƒ”แƒ•แƒ”แƒชแƒแƒ“แƒแƒ— แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— "แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒ”แƒ‘แƒ˜" แƒ“แƒ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— firmware แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ:
1) Java 1.8
2) แƒžแƒ˜แƒ—แƒแƒœแƒ˜ แƒ“แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒฏแƒ˜แƒžแƒ˜ แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— WHL แƒ›แƒแƒ“แƒฃแƒšแƒ˜ Jep Windows-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒแƒฅ.

Windows- แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:
1) com0com
2) แƒญแƒฃแƒญแƒงแƒ˜แƒแƒœแƒ˜

Linux-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:
1) แƒกแƒแƒ™แƒแƒข

GDB แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒแƒ“ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— Eclipse, IDA Pro แƒแƒœ radare2.

แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ˜แƒ’แƒ˜?

แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜ firmware-แƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก โ€žแƒแƒฌแƒงแƒแƒ‘แƒโ€œ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒแƒ’แƒ˜แƒ.

แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ ("แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ") แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜ แƒ˜แƒงแƒแƒก แƒ‘แƒšแƒแƒ™-แƒกแƒฅแƒ”แƒ›แƒแƒ–แƒ”:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒก แƒแƒฅแƒ•แƒก แƒ›แƒแƒ“แƒฃแƒšแƒฃแƒ แƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ“แƒ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ˜แƒงแƒแƒก JSON แƒคแƒแƒ˜แƒšแƒจแƒ˜.

JSON 105 แƒฎแƒแƒ–แƒ”แƒ‘แƒ˜

{
  "top": true,

  // Plugin name should be the same as file name (or full path from library start)
  "plugin": "rhino",

  // Directory where plugin places
  "library": "user",

  // Plugin parameters (constructor parameters if jar-plugin version)
  "params": [
    { "name": "tty_dbg", "type": "String"},
    { "name": "tty_bt", "type": "String"},
    { "name": "firmware", "type": "String", "default": "NUL"}
  ],

  // Plugin outer ports
  "ports": [  ],

  // Plugin internal buses
  "buses": [
    { "name": "mem", "size": "BUS30" },
    { "name": "nand", "size": "4" },
    { "name": "gpio", "size": "BUS32" }
  ],

  // Plugin internal components
  "modules": [
    {
      "name": "u1_stm32",
      "plugin": "STM32F042",
      "library": "mcu",
      "params": {
        "firmware:String": "params.firmware"
      }
    },
    {
      "name": "usart_debug",
      "plugin": "UartSerialTerminal",
      "library": "terminals",
      "params": {
        "tty": "params.tty_dbg"
      }
    },
    {
      "name": "term_bt",
      "plugin": "UartSerialTerminal",
      "library": "terminals",
      "params": {
        "tty": "params.tty_bt"
      }
    },
    {
      "name": "bluetooth",
      "plugin": "BT",
      "library": "mcu"
    },

    { "name": "led_0",  "plugin": "LED", "library": "mcu" },
    { "name": "led_1",  "plugin": "LED", "library": "mcu" },
    { "name": "led_2",  "plugin": "LED", "library": "mcu" },
    { "name": "led_3",  "plugin": "LED", "library": "mcu" },
    { "name": "led_4",  "plugin": "LED", "library": "mcu" },
    { "name": "led_5",  "plugin": "LED", "library": "mcu" },
    { "name": "led_6",  "plugin": "LED", "library": "mcu" },
    { "name": "led_7",  "plugin": "LED", "library": "mcu" },
    { "name": "led_8",  "plugin": "LED", "library": "mcu" },
    { "name": "led_9",  "plugin": "LED", "library": "mcu" },
    { "name": "led_10", "plugin": "LED", "library": "mcu" },
    { "name": "led_11", "plugin": "LED", "library": "mcu" },
    { "name": "led_12", "plugin": "LED", "library": "mcu" },
    { "name": "led_13", "plugin": "LED", "library": "mcu" },
    { "name": "led_14", "plugin": "LED", "library": "mcu" },
    { "name": "led_15", "plugin": "LED", "library": "mcu" }
  ],

  // Plugin connection between components
  "connections": [
    [ "u1_stm32.ports.usart1_m", "usart_debug.ports.term_s"],
    [ "u1_stm32.ports.usart1_s", "usart_debug.ports.term_m"],

    [ "u1_stm32.ports.usart2_m", "bluetooth.ports.usart_m"],
    [ "u1_stm32.ports.usart2_s", "bluetooth.ports.usart_s"],

    [ "bluetooth.ports.bt_s", "term_bt.ports.term_m"],
    [ "bluetooth.ports.bt_m", "term_bt.ports.term_s"],

    [ "led_0.ports.pin",  "u1_stm32.buses.pin_output_a", "0x00"],
    [ "led_1.ports.pin",  "u1_stm32.buses.pin_output_a", "0x01"],
    [ "led_2.ports.pin",  "u1_stm32.buses.pin_output_a", "0x02"],
    [ "led_3.ports.pin",  "u1_stm32.buses.pin_output_a", "0x03"],
    [ "led_4.ports.pin",  "u1_stm32.buses.pin_output_a", "0x04"],
    [ "led_5.ports.pin",  "u1_stm32.buses.pin_output_a", "0x05"],
    [ "led_6.ports.pin",  "u1_stm32.buses.pin_output_a", "0x06"],
    [ "led_7.ports.pin",  "u1_stm32.buses.pin_output_a", "0x07"],
    [ "led_8.ports.pin",  "u1_stm32.buses.pin_output_a", "0x08"],
    [ "led_9.ports.pin",  "u1_stm32.buses.pin_output_a", "0x09"],
    [ "led_10.ports.pin", "u1_stm32.buses.pin_output_a", "0x0A"],
    [ "led_11.ports.pin", "u1_stm32.buses.pin_output_a", "0x0B"],
    [ "led_12.ports.pin", "u1_stm32.buses.pin_output_a", "0x0C"],
    [ "led_13.ports.pin", "u1_stm32.buses.pin_output_a", "0x0D"],
    [ "led_14.ports.pin", "u1_stm32.buses.pin_output_a", "0x0E"],
    [ "led_15.ports.pin", "u1_stm32.buses.pin_output_a", "0x0F"]
  ]
}

แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ›แƒ˜แƒแƒฅแƒชแƒ˜แƒ”แƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒก firmware แƒกแƒ”แƒฅแƒชแƒ˜แƒแƒจแƒ˜ แƒžแƒแƒ แƒแƒ›แƒ˜ แƒแƒ แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฉแƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช firmware.

แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ›แƒ—แƒแƒ•แƒแƒ  แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒกแƒ—แƒแƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ—:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒแƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ OS-แƒ˜แƒก COM แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ—แƒแƒœ (UART แƒ“แƒ UART แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ Bluetooth แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก). แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ—แƒแƒœแƒแƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒแƒœ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ COM แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜ (แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— com0com/socat).

แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒ’แƒแƒ แƒ”แƒ“แƒแƒœ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ˜แƒก แƒแƒ แƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ’แƒ–แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก:

  • GDB RSP แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜ (แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒ”แƒœ แƒแƒ› แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒก, แƒแƒ แƒ˜แƒก Eclipse / IDA / radare2);
  • แƒจแƒ˜แƒ“แƒ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜ (Argparse แƒแƒœ Python).

แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ COM แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜

แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ— แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒก UART-แƒ—แƒแƒœ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ” แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒแƒกแƒแƒชแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ COM แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒ•แƒ˜แƒšแƒ˜. แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ”แƒ แƒ— แƒžแƒแƒ แƒขแƒก แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜, แƒฎแƒแƒšแƒ แƒ›แƒ”แƒแƒ แƒ”แƒก แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ (PuTTY แƒแƒœ แƒ”แƒ™แƒ แƒแƒœแƒ˜):

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

com0com-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ COM แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒฎแƒ“แƒ”แƒ‘แƒ com0com แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (แƒ™แƒแƒœแƒกแƒแƒšแƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ - C: แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ (x86) com0comsetupั.exe, แƒแƒœ GUI แƒ•แƒ”แƒ แƒกแƒ˜แƒ - C: แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ (x86) com0comsetupg.exe):

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒงแƒฃแƒ—แƒ”แƒ‘แƒ˜ แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒแƒ แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒแƒ แƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜ แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒžแƒแƒกแƒฃแƒฎแƒก COM แƒžแƒแƒ แƒขแƒ˜แƒ“แƒแƒœ.

แƒกแƒแƒ™แƒแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

UNIX แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ” แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ COM แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก socat แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ— แƒžแƒแƒ แƒขแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒจแƒ˜ แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก socat:.

แƒจแƒ˜แƒ“แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ (Argparse แƒแƒœ Python)

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ Kopycat แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒกแƒแƒšแƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒแƒ  แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒก แƒ›แƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒ แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: Argparse แƒ“แƒ Python.

Argparse แƒแƒ แƒ˜แƒก CLI แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ Kopycat-แƒจแƒ˜ แƒ“แƒ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒแƒกแƒ—แƒ•แƒ˜แƒก.

แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ CLI แƒแƒ แƒ˜แƒก Python แƒ—แƒแƒ แƒฏแƒ˜แƒ›แƒแƒœแƒ˜. แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— Jep Python แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒ“แƒ แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒแƒ— แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜ แƒžแƒ˜แƒ—แƒแƒœแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ  แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ–แƒ” แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ Python แƒ—แƒแƒ แƒฏแƒ˜แƒ›แƒแƒœแƒ˜).

แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ Jep

Linux-แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ Jep แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ“แƒ”แƒก แƒžแƒ˜แƒžแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—:

pip install jep

Windows-แƒ–แƒ” Jep-แƒ˜แƒก แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“, แƒฏแƒ”แƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— Windows SDK แƒ“แƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ Microsoft Visual Studio. แƒฉแƒ•แƒ”แƒœ แƒชแƒแƒขแƒแƒ—แƒ˜ แƒ’แƒแƒ’แƒ˜แƒแƒ“แƒ•แƒ˜แƒšแƒ”แƒ— แƒ“แƒ WHL แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒก JEP แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Windows-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒกแƒ” แƒ แƒแƒ› แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ“แƒ”แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒ“แƒแƒœ:

pip install jep-3.8.2-cp27-cp27m-win_amd64.whl

Jep-แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ–แƒ”:

python -c "import jep"

แƒกแƒแƒžแƒแƒกแƒฃแƒฎแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ:

ImportError: Jep is not supported in standalone Python, it must be embedded in Java.

แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒฃแƒš แƒคแƒแƒ˜แƒšแƒจแƒ˜ (แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ.แƒฆแƒแƒ›แƒฃแƒ แƒ - Windows-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ โ€” ะดะปั Linux) ะบ ัะฟะธัะบัƒ ะฟะฐั€ะฐะผะตั‚ั€ะพะฒ DEFAULT_JVM_OPTS แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ Djava.library.path - แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒ“แƒ”แƒก แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ Jep แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒ’แƒ–แƒแƒก.

Windows-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒฎแƒแƒ–แƒ˜:

set DEFAULT_JVM_OPTS="-XX:MaxMetaspaceSize=256m" "-XX:+UseParallelGC" "-XX:SurvivorRatio=6" "-XX:-UseGCOverheadLimit" "-Djava.library.path=C:/Python27/Lib/site-packages/jep"

Kopycat-แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ

แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒกแƒแƒšแƒ˜แƒก JVM แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ. แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— (sh/cmd).

Windows-แƒ–แƒ” แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ:

binkopycat -g 23946 -n rhino -l user -y library -p firmware=firmwarerhino_pass.bin,tty_dbg=COM26,tty_bt=COM28

Linux-แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ socat แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—:

./bin/kopycat -g 23946 -n rhino -l user -y library -p firmware=./firmware/rhino_pass.bin, tty_dbg=socat:./COM26,tty_bt=socat:./COM28

  • -g 23646 โ€” TCP แƒžแƒแƒ แƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฆแƒ˜แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ GDB แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก;
  • -n rhino โ€” แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก (แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก) แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ;
  • -l user โ€” แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒ›แƒแƒกแƒแƒซแƒ”แƒ‘แƒœแƒแƒ“;
  • -y library โ€” แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒจแƒ”แƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒซแƒ”แƒ‘แƒœแƒ˜แƒก แƒ’แƒ–แƒ;
  • firmwarerhino_pass.bin - แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ˜ firmware แƒคแƒแƒ˜แƒšแƒ˜แƒกแƒ™แƒ”แƒœ;
  • COM26 แƒ“แƒ COM28 แƒแƒ แƒ˜แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ COM แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜.

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ Python > (แƒแƒœ Argparse >):

18:07:59 INFO [eFactoryBuilder.create ]: Module top successfully created as top
18:07:59 INFO [ Module.initializeAndRes]: Setup core to top.u1_stm32.cortexm0.arm for top
18:07:59 INFO [ Module.initializeAndRes]: Setup debugger to top.u1_stm32.dbg for top
18:07:59 WARN [ Module.initializeAndRes]: Tracer wasn't found in top...
18:07:59 INFO [ Module.initializeAndRes]: Initializing ports and buses...
18:07:59 WARN [ Module.initializePortsA]: ATTENTION: Some ports has warning use printModulesPortsWarnings to see it...
18:07:59 FINE [ ARMv6CPU.reset ]: Set entry point address to 08006A75
18:07:59 INFO [ Module.initializeAndRes]: Module top is successfully initialized and reset as a top cell!
18:07:59 INFO [ Kopycat.open ]: Starting virtualization of board top[rhino] with arm[ARMv6Core]
18:07:59 INFO [ GDBServer.debuggerModule ]: Set new debugger module top.u1_stm32.dbg for GDB_SERVER(port=23946,alive=true)
Python >

แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ IDA Pro-แƒกแƒ—แƒแƒœ

แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Rhino firmware, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒงแƒแƒ แƒ แƒคแƒแƒ˜แƒšแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก IDA-แƒจแƒ˜ แƒคแƒแƒ แƒ›แƒแƒจแƒ˜ ELF แƒคแƒแƒ˜แƒšแƒ˜ (แƒ›แƒ”แƒขแƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ˜แƒฅ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ).

แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ แƒ›แƒ”แƒขแƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

IDA Pro-แƒจแƒ˜ Kopycat-แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, Debugger แƒ›แƒ”แƒœแƒ˜แƒฃแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— แƒžแƒฃแƒœแƒฅแƒขแƒ–แƒ” โ€œแƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒโ€ฆ"แƒ“แƒ แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ—"แƒ“แƒ˜แƒกแƒขแƒแƒœแƒชแƒ˜แƒฃแƒ แƒ˜ GDB แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ". แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜: แƒ›แƒ”แƒœแƒ˜แƒฃ Debugger - แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜โ€ฆ

แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜:

  • แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ - แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ
  • แƒฐแƒแƒกแƒขแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜: 127.0.0.1 (แƒแƒœ แƒ“แƒ˜แƒกแƒขแƒแƒœแƒชแƒ˜แƒฃแƒ แƒ˜ แƒแƒžแƒแƒ แƒแƒขแƒ˜แƒก IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜, แƒกแƒแƒ“แƒแƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก Kopycat)
  • แƒžแƒแƒ แƒขแƒ˜: 23946

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒฆแƒ˜แƒšแƒแƒ™แƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ (F9 แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜):

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ“แƒแƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ— แƒ›แƒแƒกแƒ–แƒ”, แƒ แƒแƒ—แƒ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ— แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒ“แƒฃแƒšแƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜. IDA แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜, แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒคแƒแƒœแƒฏแƒ แƒ”แƒ‘แƒ˜: แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ:

  • แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ”แƒขแƒแƒžแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ (แฒจแƒ”แƒแƒ‘แƒ˜แƒฏแƒ” ะธ แƒ’แƒแƒ“แƒแƒแƒ‘แƒ˜แƒฏแƒ” โ€” แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜ F7 แƒ“แƒ F8, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“);
  • แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ แƒ“แƒ แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒ;
  • แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (F2 แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜).

แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ•แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒแƒ  แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก firmware แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก. แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ 0x08006A74 - แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ Reset_Handler. แƒ—แƒฃ แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒก แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ”แƒ•แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ™แƒฃแƒ แƒกแƒแƒ แƒ˜ แƒแƒ› แƒฎแƒแƒ–แƒ–แƒ” (แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ 0x08006ABE) แƒ“แƒ แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒ™แƒฃแƒ แƒกแƒแƒ แƒแƒ›แƒ“แƒ” (แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ F4).

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒญแƒ˜แƒ แƒแƒ— F7 แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒงแƒ•แƒแƒœแƒแƒ“ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜.

แƒ”แƒกแƒšแƒ˜ แƒ•แƒ˜แƒžแƒแƒšแƒœแƒ˜แƒข แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ (F9 แƒฆแƒ˜แƒšแƒแƒ™แƒ˜), แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒคแƒแƒœแƒฏแƒแƒ แƒ โ€žแƒ’แƒ—แƒฎแƒแƒ•แƒ— แƒ“แƒแƒ”แƒšแƒแƒ“แƒแƒ—โ€œ แƒ”แƒ แƒ—แƒ˜ แƒฆแƒ˜แƒšแƒแƒ™แƒ˜แƒ— แƒจแƒ”แƒแƒฉแƒ”แƒ แƒแƒก:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ“แƒแƒแƒญแƒ”แƒ แƒ— แƒจแƒ”แƒแƒฉแƒ”แƒ แƒแƒก firmware แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ”แƒก แƒ˜แƒ›แƒแƒ•แƒ” แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒ“แƒแƒœ แƒ˜แƒ› แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ, แƒกแƒแƒ“แƒแƒช แƒ˜แƒก แƒจแƒ”แƒฌแƒงแƒ“แƒ.

แƒ—แƒฃ แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก, แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  COM แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒœแƒแƒฎแƒแƒ•แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฎแƒแƒ–แƒ”แƒ‘แƒก:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

"แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒ แƒจแƒ”แƒ›แƒแƒ•แƒšแƒ˜แƒ—แƒ˜" แƒฎแƒแƒ–แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก แƒ˜แƒ›แƒแƒ–แƒ”, แƒ แƒแƒ› แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ Bluetooth แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก COM แƒžแƒแƒ แƒขแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜.

แƒแƒฎแƒšแƒ Bluetooth แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒจแƒ˜ (แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ” COM29) แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒแƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ Rhino แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, "MEOW" แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒก "mur-mur" Bluetooth แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒจแƒ˜:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ›แƒ˜แƒ‘แƒแƒซแƒ แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ— แƒแƒ แƒ

แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ˜แƒ แƒฉแƒ˜แƒแƒ— แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜แƒก/แƒ”แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒœแƒ”. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, Bluetooth แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ’แƒ–แƒ˜แƒ—:

  • แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒกแƒ แƒฃแƒšแƒแƒ“ แƒแƒ แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ˜แƒ—;
  • AT แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก COM แƒžแƒแƒ แƒขแƒ˜แƒ“แƒแƒœ;
  • แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒ แƒฃแƒš แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒแƒก แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”;
  • แƒ แƒแƒ’แƒแƒ แƒช แƒฃแƒ‘แƒ แƒแƒšแƒ แƒœแƒแƒ™แƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก "OK".

แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒแƒก - แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ Bluetooth แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก, แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ˜แƒ’แƒ˜ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ "แƒžแƒ แƒแƒฅแƒกแƒ˜แƒก" แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก COM แƒžแƒแƒ แƒขแƒ˜แƒ“แƒแƒœ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก UART แƒžแƒแƒ แƒขแƒจแƒ˜.

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒ˜แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฃ DMA-แƒ–แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ–แƒ” แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ (แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒจแƒ˜ ws2812b_waitแƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก 0x08006840), แƒ›แƒแƒจแƒ˜แƒœ firmware แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒแƒจแƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒแƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก 0x200004C4แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก DMA แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฎแƒแƒ–แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒแƒก:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒแƒ› แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒแƒจแƒ˜แƒก แƒฎแƒ”แƒšแƒ˜แƒ— แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒ— แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒแƒœแƒแƒ•แƒ”. IDA Pro-แƒจแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒแƒ— แƒ˜แƒ’แƒ˜ แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒจแƒ˜ แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ แƒฉแƒแƒกแƒ•แƒแƒ— แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒ™แƒแƒ“แƒจแƒ˜ 1 แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒจแƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ.

แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ IDA-แƒจแƒ˜. แƒ›แƒ”แƒœแƒ˜แƒฃ แƒคแƒแƒ˜แƒšแƒ˜ - แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ...

แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ˜ แƒกแƒ˜แƒแƒจแƒ˜ แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ•, แƒ›แƒ˜แƒ”แƒชแƒ˜แƒ— แƒกแƒแƒฎแƒ”แƒšแƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, BPT),
แƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒ•แƒ”แƒšแƒจแƒ˜ แƒ›แƒแƒ แƒฏแƒ•แƒœแƒ˜แƒ• แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ˜:

def skip_dma():
    print "Skipping wait ws2812..."
    value = Byte(0x200004C4)
    if value == 1:
        PatchDbgByte(0x200004C4, 0)
return False

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒแƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ— แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“ แƒ“แƒ แƒ“แƒแƒฎแƒฃแƒ แƒ”แƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒคแƒแƒœแƒฏแƒแƒ แƒ.

แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ™แƒแƒ“แƒ–แƒ” 0x0800688Aแƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ (F2 แƒฆแƒ˜แƒšแƒแƒ™แƒ˜), แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ˜แƒ’แƒ˜ (แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒฃแƒ แƒ˜ แƒ›แƒ”แƒœแƒ˜แƒฃ แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ...), แƒแƒ  แƒ“แƒแƒ’แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒ”แƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ Python-แƒ–แƒ”:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜
แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ—แƒฃ แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒ“แƒ แƒแƒจแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฃแƒ“แƒ แƒ˜แƒก 1-แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ skip_dma แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜แƒก แƒฎแƒแƒ–แƒจแƒ˜:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ— firmware-แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— IDA แƒคแƒแƒœแƒฏแƒแƒ แƒแƒจแƒ˜. แƒ’แƒแƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒ— Skipping wait ws2812.... แƒแƒฎแƒšแƒ firmware แƒแƒ  แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒแƒจแƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ.

แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ—แƒแƒœ

แƒ”แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ แƒ”แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒฃแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒแƒก แƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฎแƒแƒ แƒฃแƒšแƒ˜. แƒ’แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒแƒ, แƒ—แƒฃ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜ แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒแƒ แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒœแƒแƒฎแƒ•แƒแƒจแƒ˜ แƒแƒœ แƒซแƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ“แƒ’แƒ”แƒœแƒแƒจแƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ›แƒงแƒแƒ แƒแƒ— แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒแƒ“ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ RTOS แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฏแƒ”แƒ  แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒแƒฉแƒ”แƒ แƒแƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ. แƒ—แƒฃ แƒ›แƒ˜แƒ“แƒ˜แƒฎแƒแƒ  แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒ–แƒ” bluetooth_task_entry "LED" แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒจแƒ˜ (แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ 0x080057B8), แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ—, แƒ แƒ แƒแƒ แƒ˜แƒก แƒฏแƒ”แƒ  แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ แƒ˜แƒ’แƒจแƒ˜ ledControlQueueHandle แƒ แƒแƒฆแƒแƒช แƒ›แƒ”แƒกแƒ˜แƒฏแƒ˜.

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก ledControlQueueHandleแƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก 0x20000624 แƒ“แƒ แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒ’แƒแƒฉแƒ”แƒ แƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ” 0x080057CA แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒแƒ›แƒ“แƒ” osMailAlloc, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ” 0x08005806 แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒแƒ›แƒ“แƒ” osMailPut, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒชแƒแƒขแƒ แƒฎแƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ - แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ” 0x08005BD4 (แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒแƒ›แƒ“แƒ” osMailGet), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก leds_task_entry (LED-task), แƒแƒœแƒฃ แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ แƒ“แƒ แƒแƒฎแƒšแƒ LED-แƒแƒ›แƒแƒชแƒแƒœแƒ แƒ›แƒ˜แƒ˜แƒฆแƒ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜.

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒแƒ› แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ’แƒ–แƒ˜แƒ— แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ“แƒ’แƒ˜แƒœแƒแƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ”แƒœ RTOS แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ.

แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฃแƒคแƒ แƒ แƒ แƒ—แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒแƒ› แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜แƒก แƒ“แƒ”แƒ•แƒœแƒ”แƒ‘แƒ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒจแƒ แƒแƒ›แƒแƒขแƒ”แƒ•แƒแƒ“แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ.

แƒแƒฅ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒ›แƒแƒ™แƒšแƒ” แƒ•แƒ˜แƒ“แƒ”แƒ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ IDA Pro-แƒกแƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

ะ—ะฐะฟัƒัะบ ั Radare2

แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฃแƒ’แƒฃแƒšแƒ”แƒ‘แƒ”แƒšแƒงแƒแƒ— แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Radare2.

แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“ r2-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

radare2 -A -a arm -b 16 -d gdb://localhost:23946 rhino_fw42k6.elf

แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒแƒฎแƒšแƒ (dc) แƒ“แƒ แƒจแƒ”แƒแƒฉแƒ”แƒ แƒ” แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ (Ctrl+C).

แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, r2-แƒก แƒแƒฅแƒ•แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก gdb แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก แƒ“แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜ แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก (แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ ds). แƒ•แƒ˜แƒ›แƒ”แƒ“แƒแƒ•แƒœแƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒ”แƒก แƒ›แƒแƒšแƒ” แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ“แƒ”แƒ‘แƒ.

แƒกแƒ˜แƒ แƒ‘แƒ˜แƒšแƒ˜ Eclipse-แƒ˜แƒ—

แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜แƒ แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ. แƒกแƒ˜แƒชแƒฎแƒแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Rhino firmware-แƒก. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— firmware แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜ แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”,.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Eclipse-แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ’แƒแƒ แƒช IDE แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ›แƒแƒ’แƒ˜แƒ“แƒ STM32-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ›แƒ แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒก Eclipse-แƒจแƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ firmware, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ firmware=null แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒ–แƒ”:

binkopycat -g 23946 -n rhino -l user -y modules -p firmware=null,tty_dbg=COM26,tty_bt=COM28

แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

Eclipse-แƒจแƒ˜ แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒ›แƒ”แƒœแƒ˜แƒฃ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ - แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ... แƒคแƒแƒœแƒฏแƒแƒ แƒแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ, แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ GDB แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ "แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜" แƒฉแƒแƒœแƒแƒ แƒ—แƒ–แƒ” แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ— แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ“แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

"Debugger" แƒฉแƒแƒœแƒแƒ แƒ—แƒ–แƒ” แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— GDB แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ:
${openstm32_compiler_path}arm-none-eabi-gdb

แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— GDB แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ (แƒฐแƒแƒกแƒขแƒ˜ แƒ“แƒ แƒžแƒแƒ แƒขแƒ˜):

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

"แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก" แƒฉแƒแƒœแƒแƒ แƒ—แƒ–แƒ” แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜:

  • แƒฉแƒแƒ›แƒ แƒ—แƒ•แƒ”แƒšแƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ (แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒฉแƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜);
  • แƒฉแƒแƒ›แƒ แƒ—แƒ•แƒ”แƒšแƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ;
  • แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ: set $pc = *0x08000004 (แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ” 0x08000004 - แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ˜แƒฅ ResetHandler).

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒแƒ—แƒฃ แƒแƒ  แƒ’แƒกแƒฃแƒ แƒ— firmware แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ Eclipse-แƒ“แƒแƒœ, แƒ›แƒแƒจแƒ˜แƒœ แƒแƒคแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ ะธ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ.

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ— แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜:

  • ะฟะพัˆะฐะณะพะฒะพะต ะฒั‹ะฟะพะปะฝะตะฝะธะต ะบะพะดะฐ
    แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜
  • แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒชแƒ˜แƒ แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ—แƒแƒœ
    แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ. Eclipse-แƒก แƒแƒฅแƒ•แƒก, แƒฐแƒ›... แƒ แƒแƒฆแƒแƒช แƒฃแƒชแƒœแƒแƒฃแƒ แƒแƒ‘แƒ”แƒ‘แƒ˜... แƒ“แƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒชแƒฎแƒแƒ•แƒ แƒแƒ— แƒ›แƒแƒ—แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฃ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ โ€žแƒแƒ  แƒแƒ แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒฌแƒงแƒแƒ แƒ โ€ž0x0โ€ณ-แƒกแƒ—แƒ•แƒ˜แƒกโ€œ, แƒ›แƒแƒจแƒ˜แƒœ แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ (F5)

แƒ›แƒแƒ แƒขแƒแƒ แƒฅแƒ แƒ™แƒแƒขแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ Kopycat-แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜

แƒ˜แƒ›แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ แƒแƒ› แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ แƒแƒ› แƒแƒ แƒ˜แƒก. แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ firmware-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒฉแƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ, แƒ แƒแƒช แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒ—แƒแƒช แƒ™แƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒกแƒฃแƒ แƒก แƒ›แƒ˜แƒ•แƒแƒฌแƒแƒ“แƒแƒ— แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒ˜แƒกแƒขแƒ”แƒ‘แƒก แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒก แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ–แƒแƒ›แƒ˜แƒ”แƒ แƒแƒ“ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ“แƒ แƒแƒ  แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ“แƒ˜แƒ“ แƒซแƒแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒกแƒ แƒ“แƒ แƒ“แƒ แƒแƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒกแƒ แƒ“แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก.

แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ’แƒ”แƒžแƒแƒขแƒ˜แƒŸแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒ•แƒแƒ–แƒ” แƒ“แƒ แƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒ˜แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒ— แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ–แƒ”.

แƒ’แƒแƒ›แƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒจแƒ˜ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก. แฒจแƒ”แƒ‘แƒ แƒซแƒแƒœแƒ“แƒ˜แƒ—แƒ’แƒ—แƒฎแƒแƒ•แƒ—

แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒก?

  • แƒ•แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘ (แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ) firmware

  • แƒ›แƒ” แƒ•แƒกแƒฌแƒแƒ•แƒšแƒแƒ‘ firmware-แƒก

  • แƒ•แƒ˜แƒฌแƒงแƒ”แƒ‘ แƒ—แƒแƒ›แƒแƒจแƒ”แƒ‘แƒก (แƒ“แƒ”แƒœแƒ“แƒ˜, แƒกแƒ”แƒ’แƒ, PSP)

  • แƒกแƒฎแƒ•แƒ แƒ แƒแƒ›แƒ” (แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜)

แƒ›แƒ˜แƒกแƒชแƒ แƒฎแƒ›แƒ 7 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ. 2 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒ—แƒแƒ•แƒ˜ แƒจแƒ”แƒ˜แƒ™แƒแƒ•แƒ.

แƒ แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒš แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒแƒก แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก?

  • QEMU

  • Unicorn แƒซแƒ แƒแƒ•แƒ

  • Proteus

  • แƒกแƒฎแƒ•แƒ แƒ แƒแƒ›แƒ” (แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜)

แƒ›แƒ˜แƒกแƒชแƒ แƒฎแƒ›แƒ 6 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ. 2 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒ—แƒแƒ•แƒ˜ แƒจแƒ”แƒ˜แƒ™แƒแƒ•แƒ.

แƒ แƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒแƒก แƒ˜แƒกแƒฃแƒ แƒ•แƒ”แƒ‘แƒ“แƒ˜แƒ— แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—?

  • แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒ›แƒ˜แƒœแƒ“แƒ

  • แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก/แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ” แƒ›แƒ˜แƒœแƒ“แƒ

  • แƒ›แƒ” แƒ›แƒ˜แƒœแƒ“แƒ แƒ›แƒ”แƒขแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (API, แƒ™แƒแƒ™แƒ•แƒ”แƒ‘แƒ˜)

  • แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒ— แƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ•แƒแƒ 

  • แƒกแƒฎแƒ•แƒ แƒ แƒแƒ›แƒ” (แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜)

แƒ›แƒ˜แƒกแƒชแƒ แƒฎแƒ›แƒ 8 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ. 1 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒ—แƒแƒ•แƒ˜ แƒจแƒ”แƒ˜แƒ™แƒแƒ•แƒ.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ