āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻŦā§ˆāĻ āĻ•ā§‡āĻ° āĻ…āĻ‚āĻļ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ 0x0A DC7831 āĻĄāĻŋāĻ‡āĻāĻĢ āĻ•āĻ¨ āĻ¨āĻŋāĻāĻ¨āĻŋ āĻ¨āĻ­āĻ—ā§‹āĻ°āĻĄ āĻĢā§‡āĻŦā§āĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§€ 16-āĻ, āĻ†āĻŽāĻ°āĻž āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ•ā§‹āĻĄ āĻ‡āĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¨ā§€āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻ‰āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋ - āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ.

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻ†āĻŽāĻ°āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ¯āĻŧ, āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻĒā§āĻ°āĻžāĻ—āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ•

āĻŦāĻšā§āĻĻāĻŋāĻ¨ āĻ†āĻ—ā§‡ āĻŦāĻšā§ āĻĻā§‚āĻ°ā§‡āĻ° āĻāĻ• āĻ—ā§āĻ¯āĻžāĻ˛āĻžāĻ•ā§āĻ¸āĻŋāĻ¤ā§‡

āĻ•āĻ¯āĻŧā§‡āĻ• āĻŦāĻ›āĻ° āĻ†āĻ—ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¤āĻĻāĻ¨ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛āĨ¤ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻŸāĻ˛ā§‹āĻĄāĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¤āĻŋāĻ¨āĻŋ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻœāĻŸāĻŋāĻ˛ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŦāĻžāĻ°āĨ¤ āĻāĻŦāĻ‚ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ¤āĻ–āĻ¨ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ¸āĻŦ MIPS āĻ•ā§‹āĻ°ā§‡āĨ¤

āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯āĻŽā§‚āĻ˛āĻ• āĻ•āĻžāĻ°āĻŖā§‡, āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ›āĻŋāĻ˛ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨āĻ“ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ, āĻ¯āĻž āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽā§‚āĻ˛ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻŸāĻŋ āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ­ā§‡āĻŦā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻŽā§‚āĻ˛ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋāĨ¤ āĻāĻŸāĻŋ āĻ–ā§āĻŦ āĻŦā§‡āĻļāĻŋ āĻ†āĻ˜āĻžāĻ¤ āĻ•āĻ°ā§‡āĻ¨āĻŋ - āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ“ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ›āĻŋāĻ˛ āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ.

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨
āĻ•ā§‡āĻ¨ āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ?

āĻļāĻŦā§āĻĻ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¨āĻžāĻŸāĻ• āĻ†āĻ›ā§‡āĨ¤

  1. copycat (āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋ, āĻŦāĻŋāĻļā§‡āĻˇā§āĻ¯ [ˈkɒpÉĒkÃĻt]) - āĻ…āĻ¨ā§āĻ•āĻ°āĻŖāĻ•āĻžāĻ°ā§€, āĻ…āĻ¨ā§āĻ•āĻ°āĻŖāĻ•āĻžāĻ°ā§€
  2. āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ (āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋ, āĻŦāĻŋāĻļā§‡āĻˇā§āĻ¯ [ˈkÃĻt]) - āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛, āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ - āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•āĻœāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻĒā§āĻ°āĻžāĻŖā§€
  3. "K" āĻ…āĻ•ā§āĻˇāĻ°āĻŸāĻŋ āĻ•ā§‹āĻŸāĻ˛āĻŋāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻž āĻĨā§‡āĻ•ā§‡ āĻāĻ¸ā§‡āĻ›ā§‡

āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ–ā§āĻŦ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛:

  • āĻĻā§āĻ°ā§āĻ¤ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻžāĻ˛, āĻŽāĻĄāĻŋāĻ‰āĻ˛, āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ•ā§‹āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž;
  • āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž;
  • āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻĄā§‡āĻŸāĻž (āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°) āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž;
  • āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž (āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§āĻŸā§‡āĻŸā§‡āĻ° āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ);
  • āĻŦāĻŋāĻ˛ā§āĻŸ-āĻ‡āĻ¨ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž;
  • āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻ­āĻžāĻˇāĻžāĨ¤

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•ā§‹āĻŸāĻ˛āĻŋāĻ¨āĻ•ā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻŦāĻžāĻ¸ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ° (āĻāĻŸāĻŋ āĻšāĻ˛ āĻ¯āĻ–āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄā§‡āĻŸāĻž āĻŦāĻžāĻ¸ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡), āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ JSON āĻāĻŦāĻ‚ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ GDB RSPāĨ¤

āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĻā§āĻ‡ āĻŦāĻ›āĻ°ā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§‡ āĻšāĻ˛āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻšāĻ˛āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, MIPS, x86, V850ES, ARM, āĻāĻŦāĻ‚ PowerPC āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ•ā§‹āĻ°āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻĒāĻ• āĻœāĻ¨āĻ¸āĻžāĻ§āĻžāĻ°āĻŖā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ•āĻ°āĻŦ, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻžāĻ¤āĻ¤ āĻ†āĻŽāĻ°āĻž āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻŦāĨ¤

āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ…āĻ§ā§ˆāĻ°ā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻšāĻžāĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ˛āĻŋāĻ‚āĻ•.

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻ°āĻžāĻ‡āĻ¨ā§‹

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸ā§āĻŽāĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯ā§‡ āĻāĻ° āĻ†āĻ—ā§‡ SMARTRHINO-2018 āĻ¸āĻŽā§āĻŽā§‡āĻ˛āĻ¨ā§‡, āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻĒā§āĻ°āĻ•ā§ŒāĻļāĻ˛ āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻļā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ "āĻ—āĻŖā§āĻĄāĻžāĻ°" āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ.

āĻāĻ–āĻ¨ āĻ†āĻ¸ā§āĻ¨ "āĻ¸ā§āĻĒāĻŋāĻ•āĻžāĻ°" āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻāĻŦāĻ‚ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŋāĨ¤

āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡:
1) āĻœāĻžāĻ­āĻž 1.8
2) āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻāĻŦāĻ‚ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻœā§‡āĻĒ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ WHL āĻŽāĻĄāĻŋāĻ‰āĻ˛ Jep āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨.

āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻœāĻ¨ā§āĻ¯:
1) com0com
2) āĻĒā§āĻŸāĻŋāĻ‚

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯:
1) āĻ¸ā§‹āĻ•āĻžāĻŸ

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ GDB āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ Eclipse, IDA Pro āĻŦāĻž radare2 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻāĻŸāĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡?

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ "āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž" āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ—āĨ¤

āĻ†āĻ¸āĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ ("āĻ—āĻ¨ā§āĻĄāĻžāĻ°") āĻŦā§āĻ˛āĻ• āĻĄāĻžāĻ¯āĻŧāĻžāĻ—ā§āĻ°āĻžāĻŽā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ 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"]
  ]
}

āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¨ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ° āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¤ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ OS āĻāĻ° COM āĻĒā§‹āĻ°ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻœāĻĄāĻŧāĻŋāĻ¤ (āĻŦā§āĻ˛ā§āĻŸā§āĻĨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ UART āĻāĻŦāĻ‚ UART āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻž)āĨ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻĒā§‹āĻ°ā§āĻŸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻŦāĻž āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ COM āĻĒā§‹āĻ°ā§āĻŸ (āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ com0com/socat).

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻŦāĻžāĻ‡āĻ°ā§‡ āĻĨā§‡āĻ•ā§‡ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  • GDB RSP āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ (āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻšāĻ˛ Eclipse/IDA/radare2);
  • āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ (āĻ†āĻ°ā§āĻ—āĻĒāĻžāĻ°ā§āĻ¸ āĻŦāĻž āĻĒāĻžāĻ‡āĻĨāĻ¨)āĨ¤

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ COM āĻĒā§‹āĻ°ā§āĻŸ

āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° UART-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻœā§‹āĻĄāĻŧāĻž āĻ¯ā§āĻ•ā§āĻ¤ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ COM āĻĒā§‹āĻ°ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻĒā§‹āĻ°ā§āĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ (PuTTY āĻŦāĻž āĻ¸ā§āĻ•ā§āĻ°ā§€āĻ¨) āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

com0com āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ COM āĻĒā§‹āĻ°ā§āĻŸāĻ—ā§āĻ˛āĻŋ com0com āĻ•āĻŋāĻŸ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ - C:āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻĢāĻžāĻ‡āĻ˛ (x86)com0comsetupŅ.exe, āĻŦāĻž GUI āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ - C: āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻĢāĻžāĻ‡āĻ˛ (x86)com0comsetupg.exe):

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻŦāĻ•ā§āĻ¸ āĻšā§‡āĻ• āĻ•āĻ°ā§āĻ¨ āĻŦāĻžāĻĢāĻžāĻ° āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤ā§ˆāĻ°āĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĒā§‹āĻ°ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĻŸāĻŋ COM āĻĒā§‹āĻ°ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ¸ā§‹āĻ•āĻžāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡

āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§āĻ¸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡, āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ COM āĻĒā§‹āĻ°ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸ā§‹āĻ•ā§āĻ¯āĻžāĻŸ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ; āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•ā§‡āĻŦāĻ˛ āĻĒā§‹āĻ°ā§āĻŸā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨ socat:.

āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ (āĻ†āĻ°ā§āĻ—āĻĒāĻžāĻ°ā§āĻ¸ āĻŦāĻž āĻĒāĻžāĻ‡āĻĨāĻ¨)

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨, āĻ¤āĻžāĻ‡ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ¤āĻžāĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻŦāĻ‚ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡: Argparse āĻāĻŦāĻ‚ PythonāĨ¤

Argparse āĻšāĻ˛ āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻ•āĻŸāĻŋ CLI āĻāĻŦāĻ‚ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸āĻŦāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ CLI āĻšāĻ˛ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°ā§‡āĻŸāĻžāĻ°āĨ¤ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻœā§‡āĻĒ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°ā§‡āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡)āĨ¤

āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻœā§‡āĻĒ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻœā§‡āĻĒā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻĒāĻŋāĻĒā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

pip install jep

Windows āĻ Jep āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ Windows SDK āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ Microsoft Visual Studio āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸā§ āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ WHL āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ JEP, āĻ¤āĻžāĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

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

āĻœā§‡āĻĒā§‡āĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡:

python -c "import jep"

āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤:

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

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻžāĻš āĻĢāĻžāĻ‡āĻ˛ā§‡ (copycat.bat - āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ - āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯) āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ DEFAULT_JVM_OPTS āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ Djava.library.path — āĻāĻ¤ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž Jep āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻĒāĻžāĻĨ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻŸāĻŋ āĻāĻ‡āĻ°āĻ•āĻŽ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤:

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

āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ JVM āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĨ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ (sh/cmd) āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ˛āĻžā§āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ:

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

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 — āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻĨ;
  • 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 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻšāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻĢāĻ°ā§āĻŽā§‡ IDA-āĻ¤ā§‡ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ Rhino āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ ELF āĻĢāĻžāĻ‡āĻ˛ (āĻŽā§‡āĻŸāĻž āĻ¤āĻĨā§āĻ¯ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ)āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻŽā§‡āĻŸāĻž āĻ¤āĻĨā§āĻ¯ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ†āĻ‡āĻĄāĻŋāĻ āĻĒā§āĻ°ā§‹āĻ¤ā§‡ āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻŽā§‡āĻ¨ā§āĻ¤ā§‡ āĻ†āĻ‡āĻŸā§‡āĻŽāĻŸāĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨ “āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°ā§āĻ¨..."āĻāĻŦāĻ‚ āĻšāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§āĻ¨"āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ GDB āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°" āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°ā§āĻ¨: āĻŽā§‡āĻ¨ā§ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° - āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ...

āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨:

  • āĻ†āĻŦā§‡āĻĻāĻ¨ - āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻŽāĻžāĻ¨
  • āĻšā§‹āĻ¸ā§āĻŸāĻ¨āĻžāĻŽ: 127.0.0.1 (āĻ…āĻĨāĻŦāĻž āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻšāĻ˛āĻ›ā§‡)
  • āĻĒā§‹āĻ°ā§āĻŸ: 23946

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻ–āĻ¨ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻŦā§‹āĻ¤āĻžāĻŽāĻŸāĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ (F9 āĻ•ā§€):

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨āĨ¤ IDA āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻŽā§‹āĻĄā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ: āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĨ¤

āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

  • āĻ§āĻžāĻĒā§‡ āĻ§āĻžāĻĒā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ (āĻĒāĻĻāĻžāĻ°ā§āĻĒāĻŖ āĻ•āĻ°āĻž и āĻ§āĻžāĻĒ āĻ‰āĻĒāĻ°ā§‡ — āĻ•ā§€ F7 āĻāĻŦāĻ‚ F8, āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡);
  • āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻļā§āĻ°ā§ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ°āĻ¤āĻŋ;
  • āĻ•ā§‹āĻĄ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻ‰āĻ­āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž (F2 āĻ•ā§€)āĨ¤

āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ•ā§‹āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¨āĻ¯āĻŧāĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ 0x08006A74 - āĻĢāĻžāĻ‚āĻļāĻ¨ āĻļā§āĻ°ā§ āĻ°āĻŋāĻ¸ā§‡āĻŸ_āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°. āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻ¨ā§€āĻšā§‡ āĻ¸ā§āĻ•ā§āĻ°ā§‹āĻ˛ āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛āĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻĒā§āĻ°āĻ§āĻžāĻ¨. āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻ•āĻžāĻ°ā§āĻ¸āĻžāĻ° āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (āĻ āĻŋāĻ•āĻžāĻ¨āĻž 0x08006ABE) āĻāĻŦāĻ‚ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻžāĻ°ā§āĻ¸āĻžāĻ° āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻšāĻžāĻ˛āĻžāĻ¨ (āĻ•ā§€ F4)āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡ F7 āĻŸāĻŋāĻĒā§āĻ¨ āĻĒā§āĻ°āĻ§āĻžāĻ¨.

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨ (F9 āĻ•ā§€), āĻ¤āĻžāĻ°āĻĒāĻ° "āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨" āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŦā§‹āĻ¤āĻžāĻŽ āĻ¸āĻš āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡ āĻā§āĻ˛āĻžāĻ¨:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻĒā§āĻ¨ āĻā§āĻ˛āĻžāĻ¨ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ•ā§‹āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻ¸ā§āĻĨāĻ—āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄā§‡ āĻ¯ā§‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ āĻāĻŸāĻŋ āĻŦāĻžāĻ§āĻžāĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¸ā§‡āĻ‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĨā§‡āĻ•ā§‡ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ COM āĻĒā§‹āĻ°ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ˛āĻžāĻ‡āĻ¨āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

"āĻ¸ā§āĻŸā§‡āĻŸ āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸" āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŦā§āĻ˛ā§āĻŸā§āĻĨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° COM āĻĒā§‹āĻ°ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ—ā§āĻ°āĻšāĻŖā§‡āĻ° āĻŽā§‹āĻĄā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤

āĻāĻ–āĻ¨ āĻŦā§āĻ˛ā§āĻŸā§āĻĨ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ā§‡ (āĻ›āĻŦāĻŋāĻ¤ā§‡ COM29) āĻ†āĻĒāĻ¨āĻŋ āĻ°āĻžāĻ‡āĻ¨ā§‹ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, "MEOW" āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ "mur-mur" āĻŦā§āĻ˛ā§āĻŸā§āĻĨ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ā§‡ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻŦā§‡:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¨āĻž āĻ†āĻŽāĻžāĻ•ā§‡ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ

āĻāĻ•āĻŸāĻŋ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻŦāĻŋāĻļāĻĻ/āĻ‡āĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸ā§āĻ¤āĻ° āĻšāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦā§āĻ˛ā§āĻŸā§āĻĨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  • āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§‡āĻŸ āĻ¸āĻš āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ;
  • AT āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻĄāĻžāĻŸāĻž āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° COM āĻĒā§‹āĻ°ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧ;
  • āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ¨āĻƒāĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡;
  • āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸ā§āĻŸāĻžāĻŦ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¯āĻž āĻ¸āĻ°ā§āĻŦāĻĻāĻž "āĻ āĻŋāĻ• āĻ†āĻ›ā§‡" āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ - āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŦā§āĻ˛ā§āĻŸā§āĻĨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° COM āĻĒā§‹āĻ°ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° UART āĻĒā§‹āĻ°ā§āĻŸā§‡ āĻĄā§‡āĻŸāĻž "āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋāĻŋāĻ‚" āĻŽā§‹āĻĄā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻĒā§‡āĻ°āĻŋāĻĢā§‡āĻ°āĻŋāĻ° āĻ•āĻŋāĻ›ā§ āĻ…āĻ‚āĻļ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ˛ā§‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻšāĻœ āĻ‡āĻ¨ā§āĻ¸āĻŸā§āĻ°ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ DMA-āĻ¤ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¨āĻž āĻšāĻ¯āĻŧ (āĻšā§‡āĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ ws2812b_āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ 0x08006840), āĻ¤āĻžāĻ°āĻĒāĻ° āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĒāĻ¤āĻžāĻ•āĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŦā§‡ āĻŦā§āĻ¯āĻ¸ā§āĻ¤āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ 0x200004C4āĻ¯āĻž DMA āĻĄā§‡āĻŸāĻž āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻĻāĻ–āĻ˛ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻĒāĻ¤āĻžāĻ•āĻžāĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻŦā§āĻ¯āĻ¸ā§āĻ¤ āĻāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻĒāĻ°āĻ‡āĨ¤ IDA Pro-āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ—ā§‡ āĻŽāĻžāĻ¨ 1 āĻ˛ā§‡āĻ–āĻžāĻ° āĻĒāĻ°ā§‡ āĻ•ā§‹āĻĄā§‡ āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻŦā§āĻ¯āĻ¸ā§āĻ¤.

āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°

āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻ‡āĻĄāĻŋāĻ-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĢāĻžāĻ‡āĻ˛ - āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ...

āĻŦāĻžāĻŽ āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻ¨āĻŋāĻĒā§‡āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, BPT),
āĻĄāĻžāĻ¨āĻĻāĻŋāĻ•ā§‡ āĻĒāĻžāĻ ā§āĻ¯ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–ā§āĻ¨:

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

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻ° āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻŸāĻŋāĻĒā§āĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻāĻ–āĻ¨ āĻ•ā§‹āĻĄ āĻ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ• 0x0800688A, āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ (F2 āĻ•ā§€), āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ (āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻŽā§‡āĻ¨ā§ āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°ā§āĻ¨...), āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŸāĻžāĻ‡āĻĒ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻž:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨
āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻ¯āĻĻāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻ¤āĻžāĻ•āĻž āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻ¸ā§āĻ¤ 1 āĻāĻ° āĻ¸āĻŽāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ‰āĻšāĻŋāĻ¤ skip_dma āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛āĻžāĻ‡āĻ¨ā§‡:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ IDA āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻ¤ā§‡ āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ°āĻŋāĻ‚ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ˛āĻžāĻ‡āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž Skipping wait ws2812.... āĻāĻ–āĻ¨ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻ¤āĻžāĻ•āĻž āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž āĻŦā§āĻ¯āĻ¸ā§āĻ¤.

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž

āĻ…āĻ¨ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ†āĻ¨āĻ¨ā§āĻĻ āĻāĻŦāĻ‚ āĻ†āĻ¨āĻ¨ā§āĻĻā§‡āĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻ¨ā§‡āĻ‡āĨ¤ āĻ‡āĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ¯āĻĻāĻŋ āĻ—āĻŦā§‡āĻˇāĻ•āĻ•ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĄā§‡āĻŸāĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻŦāĻž āĻĨā§āĻ°ā§‡āĻĄāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°ā§‡ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻā§‡āĻ–āĻžāĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ RTOS āĻ•āĻžāĻœā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻāĻŸāĻŋāĻ° āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨āĻ•ā§‡ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ—ā§‡āĻ˛ā§‡ bluetooth_task_entry "LED" āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ (āĻ āĻŋāĻ•āĻžāĻ¨āĻž 0x080057B8), āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ•āĻŋ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸āĻžāĻ°āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ ledControlQueueHandle āĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ ledControlQueueHandleāĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ 0x20000624 āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸ā§āĻŸāĻĒ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ āĻ˜āĻŸāĻŦā§‡ 0x080057CA āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ osMailAllocāĻ¤āĻžāĻ°āĻĒāĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ 0x08005806 āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ osMailPut, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•āĻŋāĻ›ā§āĻ•ā§āĻˇāĻŖ āĻĒāĻ°ā§‡ - āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ 0x08005BD4 (āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ osMailGet), āĻ¯āĻž āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤ leds_task_entry (āĻāĻ˛āĻ‡āĻĄāĻŋ-āĻŸāĻžāĻ¸ā§āĻ•), āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻ‡āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻāĻ˛āĻ‡āĻĄāĻŋ-āĻŸāĻžāĻ¸ā§āĻ• āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻ‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ†āĻĒāĻ¨āĻŋ RTOS āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡, āĻ•āĻžāĻ°ā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ†āĻ°āĻ“ āĻœāĻŸāĻŋāĻ˛ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻāĻ‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻž āĻ•āĻŽ āĻļā§āĻ°āĻŽāĻ¸āĻžāĻ§ā§āĻ¯ āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻāĻŦāĻ‚ IDA Pro āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

Radare2 āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ˛āĻžā§āĻš āĻ•āĻ°ā§āĻ¨

āĻ†āĻĒāĻ¨āĻŋ Radare2 āĻāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ•ā§‡ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤

r2 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡, āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻ‡āĻ°āĻ•āĻŽ āĻšāĻŦā§‡:

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

āĻ˛āĻžā§āĻš āĻāĻ–āĻ¨ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ (dc) āĻāĻŦāĻ‚ āĻĒāĻœ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ (Ctrl+C)āĨ¤

āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ˛ā§‡āĻ†āĻ‰āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ r2-āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡; āĻāĻ° āĻ•āĻžāĻ°āĻŖā§‡, āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž (āĻ•āĻŽāĻžāĻ¨ā§āĻĄ ds) āĻ†āĻŽāĻ°āĻž āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻāĻŸāĻŋ āĻļā§€āĻ˜ā§āĻ°āĻ‡ āĻ āĻŋāĻ• āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

Eclipse āĻ¸āĻ™ā§āĻ—ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨

āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻšāĻ˛ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒ āĻ•āĻ°āĻž āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻžāĨ¤ āĻ¸ā§āĻŦāĻšā§āĻ›āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž Rhino āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡ āĻĨā§‡āĻ•ā§‡.

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ IDE āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ Eclipse āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ STM32 āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŦā§‡āĻžā§āĻš.

Eclipse-āĻ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ firmware=null āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ˛āĻžā§āĻš āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡:

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

āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

Eclipse āĻ, āĻŽā§‡āĻ¨ā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ - āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨... āĻ¯ā§‡ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻŸāĻŋ āĻ–ā§‹āĻ˛ā§‡ āĻ¸ā§‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ GDB āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻžāĻ°āĻĒāĻ° "āĻĒā§āĻ°āĻ§āĻžāĻ¨" āĻŸā§āĻ¯āĻžāĻŦā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻāĻŦāĻ‚ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

"āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°" āĻŸā§āĻ¯āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ GDB āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:
${openstm32_compiler_path}arm-none-eabi-gdb

āĻāĻŦāĻ‚ GDB āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ (āĻšā§‹āĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻĒā§‹āĻ°ā§āĻŸ) āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ“ āĻ˛āĻŋāĻ–ā§āĻ¨:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

"āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒ" āĻŸā§āĻ¯āĻžāĻŦā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

  • āĻšā§‡āĻ•āĻŦāĻ•ā§āĻ¸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨ āĻ›āĻŦāĻŋ āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨ (āĻ¯āĻžāĻ¤ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ);
  • āĻšā§‡āĻ•āĻŦāĻ•ā§āĻ¸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨ āĻ˛ā§‹āĻĄ āĻĒā§āĻ°āĻ¤ā§€āĻ•;
  • āĻ˛āĻžā§āĻš āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨: set $pc = *0x08000004 (āĻĒāĻŋāĻ¸āĻŋ āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĻ•ā§‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§āĻ¨ 0x08000004 - āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ†āĻ›ā§‡ āĻ°āĻŋāĻ¸ā§‡āĻŸāĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°).

āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻžāĻ“, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ Eclipse āĻĨā§‡āĻ•ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻ¨āĻž āĻšāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ›āĻŦāĻŋ āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨ и āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻĄāĻŋāĻŦāĻžāĻ— āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻŽā§‹āĻĄā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

  • āĻ§āĻžāĻĒā§‡ āĻ§āĻžāĻĒā§‡ āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨
    āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨
  • āĻŦā§āĻ°ā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž
    āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯. Eclipse āĻ†āĻ›ā§‡, āĻšā§āĻŽ... āĻ•āĻŋāĻ›ā§ quirks... āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ "0x0â€ŗ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻ‰ā§ŽāĻ¸ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¨ā§‡āĻ‡" āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ§āĻžāĻĒ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ (F5)

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ—āĻ¨ā§āĻĄāĻžāĻ° - āĻ•āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻŸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°ā§‡āĻ°

āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻ•ā§‹āĻĄ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻœāĻŋāĻ¨āĻŋāĻ¸āĨ¤ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ° āĻĒāĻ•ā§āĻˇā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧā§ˇ āĻāĻ•āĻœāĻ¨ āĻ—āĻŦā§‡āĻˇāĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŸāĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻ•ā§‹āĻĄ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¯ā§‹āĻ—, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡āĻ“ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤

āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻļā§‡āĻˇāĻœā§āĻžāĻĻā§‡āĻ° āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ˛ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯āĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•, āĻŽāĻžāĻāĻžāĻ°āĻŋāĻ­āĻžāĻŦā§‡ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻāĻŦāĻ‚ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§‡āĻ• āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻ—ā§‡ āĻ¨āĻžāĨ¤

āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻœāĻžāĻ¨āĻžāĻ‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻ‰āĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡ āĻ–ā§āĻļāĻŋ āĻšāĻŦāĨ¤

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻœāĻ°āĻŋāĻĒā§‡ āĻ…āĻ‚āĻļāĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ¸āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ āĻ•āĻ°ā§āĻ¨āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻœāĻ¨ā§āĻ¯ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›ā§‡āĻ¨?

  • āĻ†āĻŽāĻŋ (āĻĄāĻŋāĻŦāĻžāĻ—) āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āĻ°āĻŋ

  • āĻ†āĻŽāĻŋ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻŦā§‡āĻˇāĻŖāĻž āĻ•āĻ°āĻ›āĻŋ

  • āĻ†āĻŽāĻŋ āĻ—ā§‡āĻŽ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŋ (āĻĄā§‡āĻ¨ā§āĻĄāĻŋ, āĻ¸ā§‡āĻ—āĻž, āĻĒāĻŋāĻāĻ¸āĻĒāĻŋ)

  • āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ (āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨)

7 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ­ā§‹āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ 2 āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻŋāĻ°āĻ¤ āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤

āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻ•ā§‹āĻĄ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ¨ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨?

  • QEMU āĻĻā§āĻŦāĻžāĻ°āĻž

  • āĻ‡āĻ‰āĻ¨āĻŋāĻ•āĻ°ā§āĻ¨ āĻ‡āĻžā§āĻœāĻŋāĻ¨

  • āĻĒā§āĻ°ā§‹āĻŸāĻŋāĻ¯āĻŧāĻžāĻ¸

  • āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ (āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨)

6 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ­ā§‹āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ 2 āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻŋāĻ°āĻ¤ āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻ¤āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§€ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨?

  • āĻ†āĻŽāĻŋ āĻ—āĻ¤āĻŋ āĻšāĻžāĻ‡

  • āĻ†āĻŽāĻŋ āĻ¸ā§‡āĻŸāĻ†āĻĒ/āĻ˛āĻžā§āĻšā§‡āĻ° āĻ¸āĻšāĻœāĻ¤āĻž āĻšāĻžāĻ‡

  • āĻ†āĻŽāĻŋ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻžāĻ‡ (API, āĻšā§āĻ•)

  • āĻ†āĻŽāĻŋ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ¤ā§‡āĻ‡ āĻ–ā§āĻļāĻŋ

  • āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ (āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨)

8 āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ­ā§‹āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ ā§§ āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻŋāĻ°āĻ¤ āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨