เจฎเฉเจเจฟเฉฐเจ เจฆเฉ เจนเจฟเฉฑเจธเฉ เจตเจเฉเจ 0x0A DC7831
เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจฆเฉฑเจธเจพเจเจเฉ เจเจฟ เจเจฎเฉเจฒเฉเจเจฐ เจตเจฟเฉฑเจ เจกเจฟเจตเจพเจเจธ เจซเจฐเจฎเจตเฉเจ เจฐ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจเจฒเจพเจเจฃเจพ เจนเฉ, เจกเฉเจฌเจเจฐ เจจเจพเจฒ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจฆเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจเจฐเจจเจพ เจนเฉ, เจ เจคเฉ เจซเจฐเจฎเจตเฉเจ เจฐ เจฆเจพ เจเฉฑเจ เจเฉเจเจพ เจเจคเฉเจธเจผเฉเจฒ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจจเจพ เจนเฉเฅค
prehistory
เจฌเจนเฉเจค เจฆเฉเจฐ เจเฉฑเจ เจเจฒเฉเจเจธเฉ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจธเจฎเจพเจ เจชเจนเจฟเจฒเจพเจ
เจเฉเจ เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ เจธเจพเจกเฉ เจชเฉเจฐเจฏเฉเจเจธเจผเจพเจฒเจพ เจตเจฟเฉฑเจ เจเฉฑเจ เจกเจฟเจตเจพเจเจธ เจฆเฉ เจซเจฐเจฎเจตเฉเจ เจฐ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจธเฉ. เจซเจฐเจฎเจตเฉเจ เจฐ เจจเฉเฉฐ เจฌเฉเจเจฒเฉเจกเจฐ เจจเจพเจฒ เจธเฉฐเจเฉเจเจฟเจค เจ เจคเฉ เจ เจจเจชเฉเจ เจเฉเจคเจพ เจเจฟเจ เจธเฉเฅค เจเจธเจจเฉ เจเจน เจฌเจนเฉเจค เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจเฉเจคเจพ, เจฎเฉเจฎเฉเจฐเฉ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจจเฉเฉฐ เจเจ เจตเจพเจฐ เจธเจผเจฟเจซเจ เจเฉเจคเจพเฅค เจ เจคเฉ เจซเจฐเจฎเจตเฉเจ เจฐ เจจเฉ เจซเจฟเจฐ เจชเฉเจฐเฉเจซเจฟเจฐเจฒเจพเจ เจจเจพเจฒ เจธเจฐเจเจฐเจฎเฉ เจจเจพเจฒ เจเฉฑเจฒเจฌเจพเจค เจเฉเจคเฉ. เจ เจคเฉ เจเจน เจธเจญ MIPS เจเฉเจฐ 'เจคเฉ เจนเฉเฅค
เจเจฆเฉเจธเจผ เจเจพเจฐเจจเจพเจ เจเจฐเจเฉ, เจเจชเจฒเจฌเจง เจเจฎเฉเจฒเฉเจเจฐ เจธเจพเจกเฉ เจฒเจ เจ เจจเฉเจเฉเจฒ เจจเจนเฉเจ เจธเจจ, เจชเจฐ เจ เจธเฉเจ เจซเจฟเจฐ เจตเฉ เจเฉเจก เจจเฉเฉฐ เจเจฒเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจธเฉเฅค เจซเจฟเจฐ เจ เจธเฉเจ เจเจชเจฃเจพ เจเฉเจฆ เจฆเจพ เจเจฎเฉเจฒเฉเจเจฐ เจฌเจฃเจพเจเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ, เจเฉ เจเฉฑเจเฉ เจเฉฑเจ เจเจฐเฉเจเจพ เจ เจคเฉ เจธเจพเจจเฉเฉฐ เจฎเฉเฉฑเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจจเฉเฉฐ เจ เจจเจชเฉเจ เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเฉเจตเฉเจเจพเฅค เจ เจธเฉเจ เจเจธ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเฉเจคเฉ เจ เจคเฉ เจเจน เจเฉฐเจฎ เจเฉเจคเจพ. เจ เจธเฉเจ เจธเฉเจเจฟเจ, เจเฉ เจ เจธเฉเจ เจฎเฉเฉฑเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจจเฉเฉฐ เจเจฐเจจ เจฒเจ เจชเฉเจฐเฉเจซเจฟเจฐเจฒ เจเฉเฉเจฆเฉ เจนเจพเจ เจคเจพเจ เจเฉ เจนเฉเจตเฉเจเจพเฅค เจเจน เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจฆเฉเจเฉ เจจเจนเฉเจ เจนเฉเจเจ - เจ เจคเฉ เจเจน เจเฉฐเจฎ เจตเฉ เจนเฉเจเจ. เจ เจธเฉเจ เจฆเฉเจฌเจพเจฐเจพ เจธเฉเจเจฟเจ เจ เจคเฉ เจเฉฑเจ เจชเฉเจฐเจพ เจเจฎเฉเจฒเฉเจเจฐ เจฌเจฃเจพเจเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ.
เจจเจคเฉเจเจพ เจเฉฑเจ เจเฉฐเจชเจฟเจเจเจฐ เจธเจฟเจธเจเจฎ เจเจฎเฉเจฒเฉเจเจฐ เจธเฉ
เจเฉเจชเฉเจเฉเจ เจเจฟเจเจ?
เจธเจผเจฌเจฆเจพเจ เจฆเจพ เจจเจพเจเจ เจนเฉเฅค
- copycat (เจ เฉฐเจเจฐเฉเจเจผเฉ, เจจเจพเจเจต [หkษpษชkรฆt]) - เจจเจเจฒ เจเจฐเจจ เจตเจพเจฒเจพ, เจจเจเจฒ เจเจฐเจจ เจตเจพเจฒเจพ
- เจฌเจฟเฉฑเจฒเฉ (เจ เฉฐเจเจฐเฉเจเจผเฉ, เจจเจพเจเจต [หkรฆt]) - เจฌเจฟเฉฑเจฒเฉ, เจฌเจฟเฉฑเจฒเฉ - เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจธเจฟเจฐเจเจฃเจนเจพเจฐเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจฆเจพ เจชเจธเฉฐเจฆเฉเจฆเจพ เจเจพเจจเจตเจฐ
- เจ เฉฑเจเจฐ โKโ เจเฉเจเจฒเจฟเจจ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจญเจพเจธเจผเจพ เจคเฉเจ เจนเฉ
เจเจพเจชเฉเจเฉเจ
เจเจฎเฉเจฒเฉเจเจฐ เจฌเจฃเจพเจเจฃ เจตเฉเจฒเฉ, เจฌเจนเฉเจค เจเจพเจธ เจเฉเจเฉ เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเฉ เจเจ เจธเจจ:
- เจคเฉเจเจผเฉ เจจเจพเจฒ เจจเจตเฉเจ เจชเฉเจฐเฉเจซเจฟเจฐเจฒ, เจฎเฉเจกเฉเจเจฒ, เจชเฉเจฐเฉเจธเฉเจธเจฐ เจเฉเจฐ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฏเฉเจเจคเจพ;
- เจตเฉฑเจ-เจตเฉฑเจ เจฎเฉเจกเฉเจเจฒเจพเจ เจคเฉเจ เจตเจฐเจเฉเจ เจฒ เจกเจฟเจตเจพเจเจธ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจ เจฆเฉ เจธเจฎเจฐเฉฑเจฅเจพ;
- เจเจฟเจธเฉ เจตเฉ เจฌเจพเจเจจเจฐเฉ เจกเฉเจเจพ (เจซเจฐเจฎเจตเฉเจ เจฐ) เจจเฉเฉฐ เจเฉฑเจ เจตเจฐเจเฉเจ เจฒ เจกเจฟเจตเจพเจเจธ เจฆเฉ เจฎเฉเจฎเฉเจฐเฉ เจตเจฟเฉฑเจ เจฒเฉเจก เจเจฐเจจ เจฆเฉ เจธเจฎเจฐเฉฑเจฅเจพ;
- เจธเจจเฉเจชเจธเจผเจพเจ (เจธเจฟเจธเจเจฎ เจธเจเฉเจ เจฆเฉ เจธเจจเฉเจชเจธเจผเจพเจ) เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฆเฉ เจฏเฉเจเจคเจพ;
- เจฌเจฟเจฒเจ-เจเจจ เจกเฉเจฌเจเจฐ เจฆเฉเจเจฐเจพ เจเจฎเฉเจฒเฉเจเจฐ เจจเจพเจฒ เจเฉฐเจเจฐเฉเจเจ เจเจฐเจจ เจฆเฉ เจธเจฎเจฐเฉฑเจฅเจพ;
- เจตเจฟเจเจพเจธ เจฒเจ เจตเจงเฉเจ เจเจงเฉเจจเจฟเจ เจญเจพเจธเจผเจพเฅค
เจจเจคเฉเจเฉ เจตเจเฉเจ, เจเฉเจเจฒเจฟเจจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฒเจ เจเฉเจฃเจฟเจ เจเจฟเจ เจธเฉ, เจฌเฉฑเจธ เจเจฐเจเฉเจเฉเจเจเจฐ (เจเจน เจเจฆเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฆเฉเจ เจฎเฉเจกเฉเจเจฒ เจเฉฑเจ เจฆเฉเจเฉ เจจเจพเจฒ เจตเจฐเจเฉเจ เจฒ เจกเจพเจเจพ เจฌเฉฑเจธเจพเจ เจฐเจพเจนเฉเจ เจธเฉฐเจเจพเจฐ เจเจฐเจฆเฉ เจนเจจ), เจกเจฟเจตเจพเจเจธ เจตเจฐเจฃเจจ เจซเจพเจฐเจฎเฉเจ เจตเจเฉเจ JSON, เจ เจคเฉ เจกเฉเจฌเจเจฐ เจจเจพเจฒ เจเฉฑเจฒเจฌเจพเจค เจฒเจ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจตเจเฉเจ GDB RSPเฅค
เจตเจฟเจเจพเจธ เจฆเฉ เจธเจพเจฒเจพเจ เจคเฉเจ เจฅเฉเฉเจพ เจเจฟเจนเจพ เจนเฉ เจฐเจฟเจนเจพ เจนเฉ เจ เจคเฉ เจธเจฐเจเจฐเจฎเฉ เจจเจพเจฒ เจเจพเจฐเฉ เจนเฉเฅค เจเจธ เจธเจฎเฉเจ เจฆเฉเจฐเจพเจจ, MIPS, x86, V850ES, ARM, เจ เจคเฉ PowerPC เจชเฉเจฐเฉเจธเฉเจธเจฐ เจเฉเจฐ เจฒเจพเจเฉ เจเฉเจคเฉ เจเจ เจธเจจเฅค
เจชเฉเจฐเฉเจเฉเจเจ เจตเจง เจฐเจฟเจนเจพ เจนเฉ เจ เจคเฉ เจเจธ เจจเฉเฉฐ เจตเจฟเจเจชเจ เจเจจเจคเจพ เจฒเจ เจชเฉเจธเจผ เจเจฐเจจ เจฆเจพ เจธเจฎเจพเจ เจนเฉ. เจ เจธเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจฆเจพ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจตเฉเจฐเจตเจพ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจเจฐเจพเจเจเฉ, เจชเจฐ เจนเฉเจฃ เจฒเจ เจ เจธเฉเจ เจเฉเจชเฉเจเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ 'เจคเฉ เจงเจฟเจเจจ เจฆเฉเจตเจพเจเจเฉเฅค
เจธเจญ เจคเฉเจ เจฌเฉเจเฉเจจ เจฒเจ, เจเจฎเฉเจฒเฉเจเจฐ เจฆเจพ เจเฉฑเจ เจชเฉเจฐเฉเจฎเฉ เจธเฉฐเจธเจเจฐเจฃ เจกเจพเจเจจเจฒเฉเจก เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ
เจเจฎเฉเจฒเฉเจเจฐ เจตเจฟเฉฑเจ เจฐเจพเจเจจเฉ
เจฏเจพเจฆ เจเจฐเฉเจ เจเจฟ เจเจธ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ SMARTRHINO-2018 เจเจพเจจเจซเจฐเฉฐเจธ เจฒเจ, เจฐเจฟเจตเจฐเจธ เจเฉฐเจเฉเจจเฉเจ
เจฐเจฟเฉฐเจ เจนเฉเจจเจฐ เจธเจฟเจเจพเจเจฃ เจฒเจ เจเฉฑเจ เจเฉเจธเจ เจฏเฉฐเจคเจฐ โRhinocerosโ เจฌเจฃเจพเจเจ เจเจฟเจ เจธเฉเฅค เจตเจฟเฉฑเจ เจธเจฅเจฟเจฐ เจซเจฐเจฎเจตเฉเจ
เจฐ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเจพ เจตเจฐเจฃเจจ เจเฉเจคเจพ เจเจฟเจ เจธเฉ
เจนเฉเจฃ เจเจ "เจธเจชเฉเจเจฐ" เจเฉเฉเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจ เจ เจคเฉ เจเจฎเฉเจฒเฉเจเจฐ เจตเจฟเฉฑเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจเฅค
เจธเจพเจจเฉเฉฐ เจฒเฉเฉ เจนเฉเจตเฉเจเฉ:
1) Java 1.8
2) เจชเจพเจเจฅเจจ เจ
เจคเฉ เจฎเฉเจกเฉเจเจฒ
เจตเจฟเฉฐเจกเฉเจเจผ เจฒเจ:
1)
2)
เจฒเฉเจจเจเจธ เจฒเจ:
1) เจธเฉเจเจ
เจคเฉเจธเฉเจ Eclipse, IDA Pro เจเจพเจ radare2 เจจเฉเฉฐ GDB เจเจฒเจพเจเฉฐเจ เจตเจเฉเจ เจตเจฐเจค เจธเจเจฆเฉ เจนเฉเฅค
เจเจธ เจจเฉเฉฐ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ?
เจเจฎเฉเจฒเฉเจเจฐ เจตเจฟเฉฑเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจเจฐเจจ เจฒเจ, เจเฉฑเจ เจตเจฐเจเฉเจ เจฒ เจกเจฟเจตเจพเจเจธ เจจเฉเฉฐ "เจเจเฉฑเจ เจพ" เจเจฐเจจเจพ เจเจผเจฐเฉเจฐเฉ เจนเฉ, เจเฉ เจเจฟ เจเฉฑเจ เจ เจธเจฒเฉ เจกเจฟเจตเจพเจเจธ เจฆเจพ เจเจจเจพเจฒเจพเจ เจนเฉ.
เจ เจธเจฒ เจฏเฉฐเจคเจฐ (โเจฐเจพเจเจจเฉโ) เจจเฉเฉฐ เจฌเจฒเจพเจ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจฆเจฟเจเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ:
เจเจฎเฉเจฒเฉเจเจฐ เจตเจฟเฉฑเจ เจเฉฑเจ เจฎเจพเจกเจฏเฉเจฒเจฐ เจฌเจฃเจคเจฐ เจนเฉ เจ เจคเฉ เจ เฉฐเจคเจฎ เจตเจฐเจเฉเจ เจฒ เจกเจฟเจตเจพเจเจธ เจจเฉเฉฐ เจเฉฑเจ 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"]
]
}
เจชเฉเจฐเจพเจฎเฉเจเจฐ เจตเฉฑเจฒ เจงเจฟเจเจจ เจฆเจฟเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจ เจงเจฟเจเจ เจตเจฟเจ params เจเฉฑเจ เจซเจพเจเจฒ เจฆเจพ เจจเจพเจฎ เจนเฉ เจเฉ เจเฉฑเจ เจตเจฐเจเฉเจ เจฒ เจกเจฟเจตเจพเจเจธ เจตเจฟเฉฑเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจฒเฉเจก เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจตเจฐเจเฉเจ เจฒ เจเฉฐเจคเจฐ เจ เจคเฉ เจฎเฉเฉฑเจ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ เจจเจพเจฒ เจเจธ เจฆเฉ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจจเฉเฉฐ เจนเฉเจ เจฒเจฟเจเฉ เจเจฟเฉฑเจคเจฐ เจฆเฉเจเจฐเจพ เจฆเจฐเจธเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ:
เจเจฎเฉเจฒเฉเจเจฐ เจฆเฉ เจฎเฉเจเฉเจฆเจพ เจเฉเจธเจ เจเจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจ เจฎเฉเฉฑเจ 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 เจชเฉเจฐเจ เจคเฉเจ เจเจตเจพเจฌ เจฆเฉ เจเจกเฉเจ เจเจฐเฉเจเจพเฅค
socat เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ
UNIX เจธเจฟเจธเจเจฎเจพเจ 'เจคเฉ, เจตเจฐเจเฉเจ
เจฒ COM เจชเฉเจฐเจเจพเจ เจธเจตเฉเจเจฒเจฟเจค เจคเฉเจฐ 'เจคเฉ เจเจฎเฉเจฒเฉเจเจฐ เจฆเฉเจเจฐเจพ socat เจเจชเจฏเฉเจเจคเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฌเจฃเจพเจเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ; เจ
เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจธเจฟเจฐเจซ เจเจฎเฉเจฒเฉเจเจฐ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจตเฉเจฒเฉ เจชเฉเจฐเจ เจจเจพเจฎ เจตเจฟเฉฑเจ เจ
เจเฉเจคเจฐ เจฆเจฟเจเฅค socat:
.
เจ เฉฐเจฆเจฐเฉเจจเฉ เจเจฎเจพเจเจก เจฒเจพเจเจจ เจเฉฐเจเจฐเจซเฉเจธ (เจเจฐเจเจชเจพเจฐเจธ เจเจพเจ เจชเจพเจเจฅเจจ)
เจเจฟเจเจเจเจฟ เจเฉเจชเฉเจเฉเจ เจเฉฑเจ เจเฉฐเจธเฉเจฒ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจนเฉ, เจเจฎเฉเจฒเฉเจเจฐ เจเจธเจฆเฉ เจเจฌเจเฉเจเจ เจ เจคเฉ เจตเฉเจฐเฉเจเจฌเจฒเจพเจ เจจเจพเจฒ เจเฉฐเจเจฐเจซเฉเจธ เจเจฐเจจ เจฒเจ เจฆเฉ เจเจฎเจพเจเจก เจฒเจพเจเจจ เจเฉฐเจเจฐเจซเฉเจธ เจตเจฟเจเจฒเจช เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉ: เจเจฐเจเจชเจพเจฐเจธ เจ เจคเฉ เจชเจพเจเจฅเจจเฅค
เจ เจฐเจเจชเจพเจฐเจธ เจเฉฑเจ CLI เจนเฉ เจเฉ เจเฉเจชเฉเจเฉเจ เจตเจฟเฉฑเจ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉ เจ เจคเฉ เจนเจฎเฉเจธเจผเจพ เจนเจฐ เจเจฟเจธเฉ เจฒเจ เจเจชเจฒเจฌเจง เจนเฉเฉฐเจฆเจพ เจนเฉเฅค
เจเฉฑเจ เจตเจฟเจเจฒเจชเจฟเจ CLI เจชเจพเจเจฅเจจ เจเฉฐเจเจฐเจชเฉเจฐเฉเจเจฐ เจนเฉเฅค เจเจธเจจเฉเฉฐ เจตเจฐเจคเจฃ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจช เจชเจพเจเจฅเจจ เจฎเฉเจกเฉเจเจฒ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจ เจคเฉ เจชเจพเจเจฅเจจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเจฎเฉเจฒเฉเจเจฐ เจจเฉเฉฐ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ (เจเจชเจญเฉเจเจคเจพ เจฆเฉ เจฎเฉเฉฑเจ เจธเจฟเจธเจเจฎ 'เจคเฉ เจธเจฅเจพเจชเจฟเจค เจชเจพเจเจฅเจจ เจเฉฐเจเจฐเจชเฉเจฐเฉเจเจฐ เจตเจฐเจคเจฟเจ เจเจพเจตเฉเจเจพ)เฅค
เจชเจพเจเจฅเจจ เจฎเฉเจกเฉเจเจฒ เจเฉเจชเฉ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจเจพ
เจฒเฉเจจเจเจธ เจเฉเจช เจฆเฉ เจคเจนเจฟเจค เจชเจพเจเจช เจฆเฉเจเจฐเจพ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ:
pip install jep
เจตเจฟเฉฐเจกเฉเจเจผ 'เจคเฉ เจเฉเจช เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจตเจฟเฉฐเจกเฉเจเจผ SDK เจ
เจคเฉ เจธเฉฐเจฌเฉฐเจงเจฟเจค Microsoft เจตเจฟเจเจผเฉเจ
เจฒ เจธเจเฉเจกเฉเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจ
เจธเฉเจ เจเจธเจจเฉเฉฐ เจคเฉเจนเจพเจกเฉ เจฒเจ เจฅเฉเฉเจพ เจเจธเจพเจจ เจฌเจฃเจพ เจฆเจฟเฉฑเจคเจพ เจนเฉ เจ
เจคเฉ
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 เจชเฉเจฐเฉ เจจเจพเจฒ เจเฉฑเจฒเจฌเจพเจค
เจเฉเจธเจเจฟเฉฐเจ เจจเฉเฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจเจฃ เจฒเจ, เจ
เจธเฉเจ เจซเจพเจฐเจฎ เจตเจฟเฉฑเจ IDA เจตเจฟเฉฑเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฒเจ เจธเจฐเฉเจค เจซเจพเจเจฒ เจตเจเฉเจ Rhino เจซเจฐเจฎเจตเฉเจ
เจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ
เจคเฉเจธเฉเจ เจฎเฉเจเจพ เจเจพเจฃเจเจพเจฐเฉ เจคเฉเจ เจฌเจฟเจจเจพเจ เจฎเฉเฉฑเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจตเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
IDA เจชเฉเจฐเฉ เจตเจฟเฉฑเจ เจเฉเจชเฉเจเฉเจ เจฒเจพเจเจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจกเฉเจฌเฉฑเจเจฐ เจฎเฉเจจเฉ เจตเจฟเฉฑเจ เจเจเจเจฎ 'เจคเฉ เจเจพเจ โเจกเฉเจฌเจเจฐ เจธเจตเจฟเฉฑเจ เจเจฐเฉ..."เจ เจคเฉ เจเฉเจฃเฉ"เจฐเจฟเจฎเฉเจ GDB เจกเฉเจฌเฉฑเจเจฐ". เจ เฉฑเจเฉ, เจเจจเฉเจเจธเจผเจจ เจธเฉเจ เจ เจช เจเจฐเฉ: เจฎเฉเจจเฉ เจกเฉเจฌเฉฑเจเจฐ - เจชเฉเจฐเจเจฟเจฐเจฟเจ เจตเจฟเจเจฒเจช...
เจฎเฉเฉฑเจฒ เจธเฉเฉฑเจ เจเจฐเฉ:
- เจเจชเจฒเฉเจเฉเจธเจผเจจ - เจเฉเจ เจตเฉ เจฎเฉเฉฑเจฒ
- เจนเฉเจธเจ-เจจเจพเจ: 127.0.0.1 (เจเจพเจ เจฐเจฟเจฎเฉเจ เจฎเจธเจผเฉเจจ เจฆเจพ IP เจชเจคเจพ เจเจฟเฉฑเจฅเฉ เจเฉเจชเฉเจเฉเจ เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉ)
- เจชเฉเจฐเจ: 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 เจชเฉเจฐเฉ เจตเจฟเฉฑเจ, เจคเฉเจธเฉเจ เจเฉฑเจ เจชเจพเจเจฅเจจ เจซเฉฐเจเจธเจผเจจ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจฌเฉเจฐเฉเจเจชเฉเจเจเฉฐเจ เจตเจฟเฉฑเจ เจเจพเจฒ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจ เจคเฉ เจซเจฒเฉเจ เจตเจฟเฉฑเจ เจฎเฉเฉฑเจฒ 1 เจฒเจฟเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ เจฌเฉเจฐเฉเจเจชเฉเจเจเฉฐเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจเฉเจก เจตเจฟเฉฑเจ เจชเจพ เจธเจเจฆเฉ เจนเฉเฅค เจฐเฉเฉฑเจเฉ.
เจฌเฉเจฐเฉเจเจชเฉเจเจเฉฐเจ เจนเฉเจเจกเจฒเจฐ
เจชเจนเจฟเจฒเจพเจ, เจเจ IDA เจตเจฟเฉฑเจ เจเฉฑเจ เจชเจพเจเจฅเจจ เจซเฉฐเจเจธเจผเจจ เจฌเจฃเจพเจเจเฅค เจฎเฉเจจเฉ เจซเจพเจเจฒ - เจธเจเฉเจฐเจฟเจชเจ เจเจฎเจพเจเจก...
เจเฉฑเจฌเฉ เจชเจพเจธเฉ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจตเจพเจ เจธเจจเจฟเฉฑเจชเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ, เจเจธเจจเฉเฉฐ เจเฉฑเจ เจจเจพเจฎ เจฆเจฟเจ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจฌเฉเจชเฉเจเฉ),
เจธเฉฑเจเฉ เจชเจพเจธเฉ เจเฉเจเจธเจ เจเฉเจคเจฐ เจตเจฟเฉฑเจ, เจซเฉฐเจเจธเจผเจจ เจเฉเจก เจฆเจฐเจ เจเจฐเฉ:
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 เจเจพเจฐเจเจพเจ เจตเจฟเจเจเจพเจฐ เจเจคเฉเจธเจผเฉเจฒ เจคเฉเจฐ 'เจคเฉ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจเจฟเจตเฉเจ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจเจพ เจนเฉเฅค เจคเฉเจนเจพเจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจเฉเจก เจฆเฉ เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ เจจเฉเฉฐ เจฐเฉเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเฉเจเจฐ เจเจน เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉเฅค เจเฉเจเจฐ เจคเฉเจธเฉเจ เจซเฉฐเจเจธเจผเจจ 'เจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจฌเจฒเฉเจเฉเฉฑเจฅ_เจเจพเจธเจ_เจเจเจเจฐเฉ "LED" เจเจฎเจพเจเจก เจฆเฉ เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจธเจผเจพเจเจพ เจจเฉเฉฐ (เจชเจคเจพ 0x080057B8
), เจซเจฟเจฐ เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจชเจนเจฟเจฒเจพเจ เจเฉ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉ เจ
เจคเฉ เจซเจฟเจฐ เจธเจฟเจธเจเจฎ เจเจคเจพเจฐ เจตเจฟเฉฑเจ เจญเฉเจเจฟเจ เจเจฟเจ เจนเฉ ledControlQueueHandle เจเฉเจ เจธเฉเจจเฉเจนเจพเฅค
เจคเฉเจนเจพเจจเฉเฉฐ เจตเฉเจฐเฉเจเจฌเจฒ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจฌเฉเจฐเฉเจเจชเฉเจเจเฉฐเจ เจธเฉเฉฑเจ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ ledControlQueueHandle'เจคเฉ เจธเจฅเจฟเจค 0x20000624
เจ
เจคเฉ เจเฉเจก เจจเฉเฉฐ เจเจฒเจพเจเจฃเจพ เจเจพเจฐเฉ เจฐเฉฑเจเฉ:
เจจเจคเฉเจเฉ เจตเจเฉเจ, เจธเจเจพเจช เจชเจนเจฟเจฒเจพเจ เจชเจคเฉ 'เจคเฉ เจนเฉเจตเฉเจเจพ 0x080057CA
เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ osMailAlloc, เจซเจฟเจฐ เจชเจคเฉ 'เจคเฉ 0x08005806
เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ osMailPut, เจซเจฟเจฐ เจเฉเจ เจฆเฉเจฐ เจฌเจพเจ
เจฆ - เจชเจคเฉ 'เจคเฉ 0x08005BD4
(เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ osMailGet), เจเฉ เจเจฟ เจซเฉฐเจเจธเจผเจจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉ leds_task_entry (LED-เจเจพเจธเจ), เจฏเจพเจจเฉ, เจเฉฐเจฎ เจฌเจฆเจฒ เจเจ เจนเจจ, เจ
เจคเฉ เจนเฉเจฃ LED-เจเจพเจธเจ เจจเฉเฉฐ เจเฉฐเจเจฐเฉเจฒ เจชเฉเจฐเจพเจชเจค เจนเฉเจเจ เจนเฉเฅค
เจเจธ เจธเจฐเจฒ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจคเฉเจธเฉเจ เจเจน เจธเจฅเจพเจชเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเจฟ RTOS เจเจพเจธเจ เจเฉฑเจ เจฆเฉเจเฉ เจจเจพเจฒ เจเจฟเจตเฉเจ เจเฉฐเจเจฐเฉเจเจ เจเจฐเจฆเฉ เจนเจจเฅค
เจฌเฉเจธเจผเฉฑเจ, เจ เจธเจฒ เจตเจฟเฉฑเจ, เจเจพเจฐเจเจพเจ เจฆเฉ เจเจชเจธเฉ เจคเจพเจฒเจฎเฉเจฒ เจตเจงเฉเจฐเฉ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจนเฉ เจธเจเจฆเฉ เจนเฉ, เจชเจฐ เจเฉฑเจ เจเจฎเฉเจฒเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจเจธ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจจเฉเฉฐ เจเจฐเฉเจ เจเจฐเจจเจพ เจเฉฑเจ เจฎเจฟเจนเจจเจคเฉ เจนเฉ เจเจพเจเจฆเจพ เจนเฉเฅค
Radare2 เจจเจพเจฒ เจฒเจพเจเจ เจเจฐเฉ
เจคเฉเจธเฉเจ Radare2 เจตเจฐเจเฉ เจฏเฉเจจเฉเจตเจฐเจธเจฒ เจเฉเจฒ เจจเฉเฉฐ เจจเจเจผเจฐเจ เฉฐเจฆเจพเจเจผ เจจเจนเฉเจ เจเจฐ เจธเจเจฆเฉเฅค
r2 เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเจฎเฉเจฒเฉเจเจฐ เจจเจพเจฒ เจเฉเฉเจจ เจฒเจ, เจเจฎเจพเจเจก เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจตเฉเจเฉ:
radare2 -A -a arm -b 16 -d gdb://localhost:23946 rhino_fw42k6.elf
เจนเฉเจฃ เจเจชเจฒเจฌเจง เจฒเจพเจเจ เจเจฐเฉ (dc
) เจ
เจคเฉ เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ เจจเฉเฉฐ เจฐเฉเจเฉ (Ctrl+C)เฅค
เจฌเจฆเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, เจเจธ เจธเจฎเฉเจ, เจนเจพเจฐเจกเจตเฉเจ
เจฐ gdb เจธเจฐเจตเจฐ เจ
เจคเฉ เจฎเฉเจฎเฉเจฐเฉ เจฒเฉเจเจเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเฉ เจธเจฎเฉเจ r2 เจตเจฟเฉฑเจ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจนเจจ; เจเจธ เจเจฐเจเฉ, เจฌเฉเจฐเฉเจเจชเฉเจเจเฉฐเจ เจ
เจคเฉ เจธเจเฉเจชเจธ เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเจฆเฉ (เจเจฎเจพเจเจก ds
). เจธเจพเจจเฉเฉฐ เจเจฎเฉเจฆ เจนเฉ เจเจฟ เจเจน เจเจฒเจฆเฉ เจนเฉ เจ เฉเจ เจนเฉ เจเจพเจตเฉเจเจพเฅค
เจเจฒเฉเจชเจธ เจจเจพเจฒ เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉ
เจเจฎเฉเจฒเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจตเจฟเจเจฒเจชเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจนเฉ เจกเจฟเจฌเฉเฉฑเจฒ เจเฉเจคเฉ เจเจพ เจฐเจนเฉ เจกเจฟเจตเจพเจเจธ เจฆเฉ เจซเจฐเจฎเจตเฉเจ
เจฐ เจจเฉเฉฐ เจกเฉเจฌเฉฑเจ เจเจฐเจจเจพเฅค เจธเจชเจธเจผเจเจคเจพ เจฒเจ, เจ
เจธเฉเจ เจฐเจพเจเจจเฉ เจซเจฐเจฎเจตเฉเจ
เจฐ เจฆเฉ เจตเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉเฅค เจคเฉเจธเฉเจ เจซเจฐเจฎเจตเฉเจ
เจฐ เจธเจฐเฉเจคเจพเจ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐ เจธเจเจฆเฉ เจนเฉ
เจ
เจธเฉเจ เจเฉฑเจ IDE เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจธเฉเฉฑเจ เจคเฉเจ Eclipse เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ
เจเจฎเฉเจฒเฉเจเจฐ เจจเฉเฉฐ เจธเจฟเฉฑเจงเฉ เจเจฒเฉเจชเจธ เจตเจฟเฉฑเจ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจซเจฐเจฎเจตเฉเจ
เจฐ เจจเฉเฉฐ เจฒเฉเจก เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ firmware=null
เจเจฎเฉเจฒเฉเจเจฐ เจฒเจพเจเจ เจเจฎเจพเจเจก เจฒเจ:
binkopycat -g 23946 -n rhino -l user -y modules -p firmware=null,tty_dbg=COM26,tty_bt=COM28
เจกเฉเจฌเฉฑเจ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจธเฉเจ เจ เจช เจเฉเจคเฉ เจเจพ เจฐเจนเฉ เจนเฉ
เจเจฒเฉเจชเจธ เจตเจฟเฉฑเจ, เจฎเฉเจจเฉ เจฆเฉ เจเฉเจฃ เจเจฐเฉ เจเจฒเจพเจ - เจกเฉเจฌเฉฑเจ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ... เจเฉเฉฑเจฒเจฃ เจตเจพเจฒเฉ เจตเจฟเฉฐเจกเฉ เจตเจฟเฉฑเจ, เจญเจพเจ เจตเจฟเฉฑเจ GDB เจนเจพเจฐเจกเจตเฉเจ เจฐ เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจจเจตเฉเจ เจธเฉฐเจฐเจเจจเจพ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจซเจฟเจฐ "เจฎเฉเฉฑเจ" เจเฉเจฌ 'เจคเฉ เจฎเฉเจเฉเจฆเจพ เจชเฉเจฐเฉเจเฉเจเจ เจ เจคเฉ เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจฒเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจจเจฟเจธเจผเจเจฟเจค เจเจฐเฉ:
"เจกเฉเจฌเจเจฐ" เจเฉเจฌ 'เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ GDB เจเจฎเจพเจเจก เจฆเฉเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ:
${openstm32_compiler_path}arm-none-eabi-gdb
เจ เจคเฉ GDB เจธเจฐเจตเจฐ (เจนเฉเจธเจ เจ เจคเฉ เจชเฉเจฐเจ) เจจเจพเจฒ เจเฉเฉเจจ เจฒเจ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจตเฉ เจฆเจพเจเจฒ เจเจฐเฉ:
"เจธเจเจพเจฐเจเจ เฉฑเจช" เจเฉเจฌ 'เจคเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจฎเจพเจชเจฆเฉฐเจก เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจเฉ เจเจพเจนเฉเจฆเฉ เจนเจจ:
- เจเฉเฉฑเจเจฌเจพเจเจธ เจจเฉเฉฐ เจฏเฉเจ เจเจฐเฉ เจเจฟเฉฑเจคเจฐ เจฒเฉเจก เจเจฐเฉ (เจคเจพเจ เจเจฟ เจเจเฉฑเจ เฉ เจเฉเจคเฉ เจซเจฐเจฎเจตเฉเจ เจฐ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจเจฎเฉเจฒเฉเจเจฐ เจตเจฟเฉฑเจ เจฒเฉเจก เจเฉเจคเจพ เจเจพ เจธเจเฉ);
- เจเฉเฉฑเจเจฌเจพเจเจธ เจจเฉเฉฐ เจฏเฉเจ เจเจฐเฉ เจฒเฉเจก เจเจฟเฉฐเจจเฉเจน;
- เจฒเจพเจเจ เจเจฎเจพเจเจก เจธเจผเจพเจฎเจฒ เจเจฐเฉ:
set $pc = *0x08000004
(เจชเฉเจธเฉ เจฐเจเจฟเจธเจเจฐ เจจเฉเฉฐ เจชเจคเฉ 'เจคเฉ เจฎเฉเจฎเฉเจฐเฉ เจคเฉเจ เจฎเฉเฉฑเจฒ 'เจคเฉ เจธเฉเฉฑเจ เจเจฐเฉ0x08000004
- เจชเจคเจพ เจเฉฑเจฅเฉ เจธเจเฉเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉ เจฐเฉเจธเฉเจ เจนเฉเจเจกเจฒเจฐ).
เจงเจฟเจเจจ เจฆเฉเจตเฉ, เจเฉเจเจฐ เจคเฉเจธเฉเจ Eclipse เจคเฉเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจซเจพเจเจฒ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจจเจนเฉเจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจตเจฟเจเจฒเจช เจเจฟเฉฑเจคเจฐ เจฒเฉเจก เจเจฐเฉ ะธ เจเจฎเจพเจเจกเจพเจ เจเจฒเจพเจ เจฆเจฐเจธเจพเจเจฃ เจฆเฉ เจเฉเจ เจฒเฉเฉ เจจเจนเฉเจเฅค
เจกเฉเจฌเฉฑเจ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจคเฉเจธเฉเจ เจกเฉเจฌเฉฑเจเจฐ เจฎเฉเจก เจตเจฟเฉฑเจ เจเฉฐเจฎ เจเจฐ เจธเจเจฆเฉ เจนเฉ:
- เจเจฆเจฎ-เจฆเจฐ-เจเจฆเจฎ เจเฉเจก เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ
- เจฌเฉเจฐเฉเจเจชเฉเจเจเฉฐเจ เจจเจพเจฒ เจเฉฑเจฒเจฌเจพเจค เจเจฐเจจเจพ
เจเจฟเฉฑเจชเจฃเฉ. เจเฉเจฐเจนเจฟเจฃ เจตเจฟเฉฑเจ, เจนเจฎ... เจเฉเจ เจตเจฟเจ เฉฐเจ เจนเจจ... เจ เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจนเจจเจพเจ เจจเจพเจฒ เจฐเจนเจฟเจฃเจพ เจชเจตเฉเจเจพเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉเจเจฐ เจกเฉเจฌเจเจฐ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจธเฉเจจเฉเจนเจพ โ0x0โณ เจฒเจ เจเฉเจ เจธเจฐเฉเจค เจเจชเจฒเจฌเจง เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจคเจพเจ เจธเจเฉเจช เจเจฎเจพเจเจก (F5) เจจเฉเฉฐ เจเจฒเจพเจเฅค
เจธเฉฐเจชเฉเจฐเจจ เจนเฉเจฃ เจฆเฉ เจฌเจเจพเจ
เจฎเฉเจฒ เจเฉเจก เจฆเฉ เจจเจเจฒ เจเจฐเจจเจพ เจฌเจนเฉเจค เจฆเจฟเจฒเจเจธเจช เจเฉฑเจฒ เจนเฉเฅค เจเฉฑเจ เจกเจฟเจตเจพเจเจธ เจกเจฟเจตเฉเจฒเจชเจฐ เจฒเจ เจเฉฑเจ เจ เจธเจฒเฉ เจกเจฟเจตเจพเจเจธ เจคเฉเจ เจฌเจฟเจจเจพเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจจเฉเฉฐ เจกเฉเจฌเฉฑเจ เจเจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ เจเจพเจเจฆเจพ เจนเฉเฅค เจเฉฑเจ เจเฉเจเจเจฐเจคเจพ เจฒเจ, เจเจน เจเจคเฉเจธเจผเฉเจฒ เจเฉเจก เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจจ เจฆเจพ เจเฉฑเจ เจฎเฉเจเจพ เจนเฉ, เจเฉ เจเจฟ เจเฉฑเจ เจกเจฟเจตเจพเจเจธ เจฆเฉ เจจเจพเจฒ เจตเฉ เจธเฉฐเจญเจต เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ.
เจ เจธเฉเจ เจฎเจพเจนเจฟเจฐเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจ เจเจฟเจนเจพ เจเฉเจฒ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ เจเฉ เจธเฉเจตเจฟเจงเจพเจเจจเจ, เจเจธเจคเจจ เจธเจงเจพเจฐเจจ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจ เจคเฉ เจเจฒเจพเจเจฃ เจฒเจ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจฎเจฟเจนเจจเจค เจ เจคเฉ เจธเจฎเจพเจ เจจเจนเฉเจ เจฒเฉฑเจเจฆเจพ เจนเฉเฅค
เจนเจพเจฐเจกเจตเฉเจ เจฐ เจเจฎเฉเจฒเฉเจเจฐเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเจชเจฃเฉ เจ เจจเฉเจญเจต เจฌเจพเจฐเฉ เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ เจฒเจฟเจเฉเฅค เจ เจธเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจฐเจเจพ เจเจฐเจจ เจฒเจ เจธเฉฑเจฆเจพ เจฆเจฟเฉฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจธเจตเจพเจฒเจพเจ เจฆเฉ เจเจตเจพเจฌ เจฆเฉ เจเฉ เจเฉเจธเจผ เจนเฉเจตเจพเจเจเฉเฅค
เจธเจฟเจฐเจซเจผ เจฐเจเจฟเจธเจเจฐเจก เจเจชเจญเฉเจเจคเจพ เจนเฉ เจธเจฐเจตเฉเจเจฃ เจตเจฟเฉฑเจ เจนเจฟเฉฑเจธเจพ เจฒเฉ เจธเจเจฆเฉ เจนเจจเฅค
เจคเฉเจธเฉเจ เจเจฎเฉเจฒเฉเจเจฐ เจเจฟเจธ เจฒเจ เจตเจฐเจค เจฐเจนเฉ เจนเฉ?
-
เจฎเฉเจ (เจกเฉเจฌเฉฑเจ) เจซเจฐเจฎเจตเฉเจ เจฐ เจตเจฟเจเจธเจฟเจค เจเจฐเจฆเจพ เจนเจพเจ
-
เจฎเฉเจ เจซเจฐเจฎเจตเฉเจ เจฐ เจฆเฉ เจเฉเจ เจเจฐ เจฐเจฟเจนเจพ/เจฐเจนเฉ เจนเจพเจ
-
เจฎเฉเจ เจเฉเจฎเจพเจ เจฒเจพเจเจ เจเจฐเจฆเจพ เจนเจพเจ (เจกเฉเจเจกเฉ, เจธเฉเจเจพ, เจชเฉเจเจธเจชเฉ)
-
เจเฉเจ เจนเฉเจฐ (เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ เจฒเจฟเจเฉ)
7 เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉ เจตเฉเจ เจชเจพเจเฅค 2 เจเจชเจญเฉเจเจคเจพ เจชเจฐเจนเฉเจเจผ เจฐเจนเฉเฅค
เจฎเฉเจฒ เจเฉเจก เจฆเฉ เจจเจเจฒ เจเจฐเจจ เจฒเจ เจคเฉเจธเฉเจ เจเจฟเจนเฉเฉ เจธเฉเจซเจเจตเฉเจ เจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉ?
-
QEMU
-
เจฏเฉเจจเฉเจเฉเจฐเจจ เจเฉฐเจเจฃ
-
เจชเฉเจฐเฉเจเฉเจธ
-
เจเฉเจ เจนเฉเจฐ (เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ เจฒเจฟเจเฉ)
6 เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉ เจตเฉเจ เจชเจพเจเฅค 2 เจเจชเจญเฉเจเจคเจพ เจชเจฐเจนเฉเจเจผ เจฐเจนเฉเฅค
เจคเฉเจธเฉเจ เจเจฟเจธ เจเจฎเฉเจฒเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจฐเจนเฉ เจนเฉ, เจเจธ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจเฉ เจธเฉเจงเจพเจฐ เจเจฐเจจเจพ เจเจพเจนเฉเจเฉ?
-
เจฎเฉเจจเฉเฉฐ เจเจคเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ
-
เจฎเฉเจ เจธเฉเฉฑเจเจ เฉฑเจช/เจฒเจพเจเจ เจฆเฉ เจธเฉเจ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ
-
เจฎเฉเจจเฉเฉฐ เจเจฎเฉเจฒเฉเจเจฐ (API, เจนเฉเฉฑเจ) เจจเจพเจฒ เจเฉฐเจเจฐเฉเจเจ เจเจฐเจจ เจฒเจ เจนเฉเจฐ เจตเจฟเจเจฒเจช เจเจพเจนเฉเจฆเฉ เจนเจจ
-
เจฎเฉเจ เจนเจฐ เจเฉเจเจผ เจคเฉเจ เจเฉเจธเจผ เจนเจพเจ
-
เจเฉเจ เจนเฉเจฐ (เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ เจฒเจฟเจเฉ)
8 เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉ เจตเฉเจ เจชเจพเจเฅค 1 เจตเจฐเจคเฉเจเจเจพเจฐ เจฌเจเจฟเจเฅค
เจธเจฐเฉเจค: www.habr.com