เปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเบญเบเบเบฐเบเบธเบก 0x0A DC7831
เปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบญเบฐเบเบดเบเบฒเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบตเบกเปเบงเบญเบธเบเบฐเบเบญเบเปเบ emulator, เบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฒเบเปเบเปเบเบญเบเบเบฑเบ debugger, เปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบฐเบซเบเบฒเบเบเปเบญเบเบเบญเบ firmware.
เบเบฐเบงเบฑเบเบชเบฒเบ
เบเบปเบโเบเบฒเบโเบกเบฒโเปเบฅเปเบงโเปเบ galaxy เปเบโ
เบชเบญเบเบชเบฒเบกเบเบตเบเปเบญเบเบขเบนเปเปเบเบซเปเบญเบเบเบปเบเบฅเบญเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบชเบทเบเบชเบงเบเปเบเบตเบกเปเบงเบเบญเบเบญเบธเบเบฐเบเบญเบ. เปเบเบตเบกเปเบงเปเบเปเบเบทเบเบเบตเบเบญเบฑเบ เปเบฅเบฐ เบเบญเบเบญเบญเบเบเปเบงเบเปเบเบทเปเบญเบ bootloader. เบฅเบฒเบงเปเบฎเบฑเบเปเบเบเบเบตเปเบเปเบงเบเบงเบดเบเบตเบเบตเปเบชเบฑเบเบชเบปเบเบซเบผเบฒเบ, เบเปเบฝเบเบเปเปเบกเบนเบเปเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบซเบผเบฒเบเบเบฑเปเบ. เปเบฅเบฐ firmware เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฐเบเบดเบชเปเบฒเบเบฑเบเบขเปเบฒเบเบเบดเบเบเบฑเบเบเบฑเบเบญเบธเบเบฐเบเบญเบเบเปเปเบเปเบงเบ. เปเบฅเบฐเบเบฑเบเบซเบกเบปเบเบเบตเปเบขเบนเปเปเบเบซเบผเบฑเบ MIPS.
เบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบธเบเบเบฐเบชเบปเบ, emulators เบเบตเปเบกเบตเบขเบนเปเบเปเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบเบเบงเบเปเบฎเบปเบฒ, เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบฅเบฐเบซเบฑเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเปเบฎเบฑเบ emulator เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบญเบ, เปเบเบดเปเบเบเบฐเปเบฎเบฑเบเปเบซเปเบเปเบฒเปเบชเบธเบเบเบตเปเปเบฅเบฐเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบงเบเปเบฎเบปเบฒ unpack firmware เบเบปเปเบเบเป. เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฐเบเบฒเบเบฒเบกเบกเบฑเบเปเบฅเบฐเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบ. เบเบงเบเปเบฎเบปเบฒเบเบดเบเบงเปเบฒ, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเบตเปเบกเบญเบธเบเบฐเบเบญเบเปเบชเบตเบกเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเปเบเบตเบกเปเบงเบเบปเปเบเบเป. เบกเบฑเบโเบเปเปโเปเบเปโเปเบเบฑเบโเบเบงเบโเบซเบผเบฒเบ - เปเบฅเบฐโเบกเบฑเบโเปเบเปโเปเบฎเบฑเบโเบงเบฝเบโเปเบเบฑเปเบโเบเบฝเบงโเบเบฑเบโ. เบเบงเบเปเบฎเบปเบฒเบเบดเบเบญเบตเบเปเบเบทเปเบญเปเบถเปเบ เปเบฅเบฐเบเบฑเบเบชเบดเบเปเบเปเบฎเบฑเบเบเบปเบงเบเบณเบฅเบญเบเปเบเบเปเบเบฑเบกเบฎเบนเบเปเบเบ.
เบเบปเบเปเบเปเบฎเบฑเบเปเบกเปเบ emulator เบฅเบฐเบเบปเบเบเบญเบกเบเบดเบงเปเบเบต
เปเบเบฑเบเบซเบเบฑเบ Kopycat?
เบกเบตเบเบฒเบเบซเบผเบดเปเบเบเปเบฝเบงเบเบฑเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเป.
- copycat (เบเบฒเบชเบฒเบญเบฑเบเบเบดเบ, noun [หkษpษชkรฆt]) - imitator, imitator
- cat (เบเบฒเบชเบฒเบญเบฑเบเบเบดเบ, noun [หkรฆt]) - cat, cat - เบชเบฑเบ favorite เบเบญเบเบซเบเบถเปเบเปเบเบเบนเปเบชเปเบฒเบเปเบเบเบเบฒเบ.
- เบเบปเบงเบญเบฑเบเบชเบญเบ "K" เปเบกเปเบเบกเบฒเบเบฒเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบก Kotlin
Copycat
เปเบกเบทเปเบญเบชเปเบฒเบ emulator, เปเบเบปเปเบฒเบซเบกเบฒเบเบชเบฐเปเบเบฒเบฐเบซเบผเบฒเบเปเบเปเบเบทเบเบเบฑเปเบเปเบงเป:
- เบเบงเบฒเบกโเบชเบฒโเบกเบฒเบโเปเบโเบเบฒเบโเบชเปเบฒเบโเบญเบธโเบเบฐโเบเบญเบโเปเบซเบกเปโเบขเปเบฒเบโเบงเปเบญเบโเปเบงโ, เปเบกโเบเบนเบโ, เบซเบผเบฑเบโเปเบฎเบโเบเบฒเบโเบเบฐโเบฅเบดเบโ;
- เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเบฐเบเบญเบเบญเบธเบเบฐเบเบญเบ virtual เบเบฒเบเปเบกเบเบนเบเบเปเบฒเบเป;
- เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเปเบซเบผเบเบเปเปเบกเบนเบเบเบฒเบเบชเบญเบ (เปเบเบตเบกเปเบง) เปเบเบปเปเบฒเปเบเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบญเบเบญเบธเบเบฐเบเบญเบ virtual;
- เบเบงเบฒเบกโเบชเบฒโเบกเบฒเบโเปเบโเบเบฒเบโเปเบฎเบฑเบโเบงเบฝเบโเบฎเปเบงเบกโเบเบฑเบ snapshots (เบฎเบนเบโเบเบฒเบโเบเบญเบโเบฅเบฑเบโเบฅเบฐโเบเบปเบโ)โ;
- เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเบปเบงเบเบฑเบเบเบฑเบ emulator เบเปเบฒเบ debugger เบเปเปเบชเปเบฒเบเปเบ;
- เบเบฒเบชเบฒเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเบเบตเปเบชเบงเบเบเบฒเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ.
เบเบฑเปเบเบเบฑเปเบ, Kotlin เปเบเปเบเบทเบเปเบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบฅเบปเบเปเบก (เบเบตเปเปเบกเปเบเปเบงเบฅเบฒเบเบตเปเปเบกเบเบนเบเบเบดเบเบเปเปเบชเบทเปเบชเบฒเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบเบเปเบฒเบเบฅเบปเบเปเบกเบเปเปเบกเบนเบ virtual), JSON เปเบเบฑเบเบฎเบนเบเปเบเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบญเบธเบเบฐเบเบญเบ, เปเบฅเบฐ GDB RSP เปเบเบฑเบเปเบเปเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเปเบเบญเบเบเบฑเบ debugger.
เบเบฒเบโเบเบฑเบโเบเบฐโเบเบฒโเปเบเปโเบเปเบฒโเปเบเบตเบโเปเบโเปเบเบฑเบโเบเบฝเบโเปเบฅเบฑเบโเบเปเบญเบโเปเบโเปเบฅโเบเบฐโเบชเบญเบโเบเบตโเปเบฅเบฐโเบเบฑเบโเบเปเบฒโเปเบเบตเบโเบเบฒเบโเบขเปเบฒเบโเบซเปเบฒเบงโเบซเบฑเบโ. เปเบเบฅเบฐเบซเบงเปเบฒเบเปเบงเบฅเบฒเบเบตเป, เปเบเบเบเบฐเบกเบงเบเบเบปเบ MIPS, x86, V850ES, ARM, เปเบฅเบฐ PowerPC เบเบทเบเบเบฐเบเบดเบเบฑเบ.
เปเบเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒเบงโเบกเบตโเบเบฒเบโเบเบฐโเบซเบเบฒเบโเบเบปเบงโเปเบฅเบฐโเบกเบฑเบโเปเบเบฑเบโเปเบงโเบฅเบฒโเบเบตเปโเบเบฐโเบเปเบฒโเบชเบฐโเปเบซเบเบตโเปเบซเปโเบชเบฒโเบเบฒโเบฅเบฐโเบเบฐโเบเบปเปเบงโเปเบโ. เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบญเบเปเบเบเบเบฒเบเบเปเปเบกเบฒ, เปเบเปเบชเปเบฒเบฅเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบธเบกเปเบชเปเบเบฒเบเบเปเบฒเปเบเป Kopycat.
เบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเบญเบปเบเบเบปเบเบเบตเปเบชเบธเบ, เบฅเบธเปเบเปเบเบฃเปเบกเบเบฑเบเบเบญเบ emulator เบชเบฒเบกเบฒเบเบเบฒเบงเปเบซเบผเบเปเบเปเบเบฒเบ
Rhino เปเบ emulator เปเบเป
เบเปเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบทเปเปเบงเปเบงเปเบฒเบเปเบญเบเบซเบเปเบฒเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบญเบเบเบฐเบเบธเบก SMARTRHINO-2018, เบญเบธเบเบฐเบเบญเบเบเบปเบเบชเบญเบ "Rhinoceros" เปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบทเปเบญเบชเบญเบเบเบฑเบเบชเบฐเบงเบดเบชเบฐเบงเบฐเบเปเบฒเบเปเบฒเบเบซเบฅเบฑเบ. เบเบฑเปเบเบเบญเบเบเบฒเบเบงเบดเปเบเบฒเบฐเปเบเบตเบกเปเบงเปเบเบเบเบปเบเบเบตเปเปเบเปเบเบทเบเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบ
เบเบญเบเบเบตเปเปเบซเปเบเบฐเบเบฒเบเบฒเบกเปเบเบตเปเบก "เบฅเปเบฒเปเบเบ" เปเบฅเบฐเปเบฅเปเบเปเบเบตเบกเปเบงเปเบเบเบปเบงเบเปเบฒเบฅเบญเบ.
เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบญเบเบเบฒเบ:
1) Java 1.8
2) Python เปเบฅเบฐเปเบกเบเบนเบ
เบชเบณ เบฅเบฑเบ Windows:
1)
2)
เบชเปเบฒเบฅเบฑเบ Linux:
1) socat
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป Eclipse, IDA Pro เบซเบผเบท radare2 เปเบเบฑเบเบฅเบนเบเบเปเบฒ GDB.
เบกเบฑเบเบเปเปเปเบเปเปเบเบงเปเบเปเบฎเบฑเบเบงเบฝเบ?
เปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบ firmware เปเบ emulator, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบ "เบเบฐเบเบญเบ" เบญเบธเบเบฐเบเบญเบ virtual, เปเบเบดเปเบเปเบเบฑเบ analogue เบเบญเบเบญเบธเบเบฐเบเบญเบเบเบตเปเปเบเปเบเบดเบ.
เบญเบธเบเบฐเบเบญเบเบเบตเปเปเบเปเบเบดเบ ("rhino") เบชเบฒเบกเบฒเบเบชเบฐเปเบเบเบขเบนเปเปเบเปเบเบเบเบฑเบเบเบฅเบฑเบญเบ:
emulator เบกเบตเปเบเบเบชเปเบฒเบเปเบเบเปเบกเบเบนเบเปเบฅเบฐเบญเบธเบเบฐเบเบญเบ virtual เบชเบธเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบทเบเบญเบฐเบเบดเบเบฒเบเบขเบนเปเปเบเปเบเบฅเป 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 เปเบกเปเบเบเบทเปเบเบญเบเปเบเบฅเปเบเบตเปเบชเบฒเบกเบฒเบเปเบซเบฅเบเปเบเบปเปเบฒเปเบเปเบเบญเบธเบเบฐเบเบญเบ virtual เปเบเบฑเบ firmware.
เบญเบธเบเบฐเบเบญเบ virtual เปเบฅเบฐเบเบฒเบเปเบเปเบเบญเบเบเบญเบเบกเบฑเบเบเบฑเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบซเบผเบฑเบเบชเบฒเบกเบฒเบเบชเบฐเปเบเบเปเบเบเปเบเบเบงเบฒเบเบเปเปเปเบเบเบตเป:
เบเบปเบงโเบขเปเบฒเบโเบเบฒเบโเบเบปเบโเบชเบญเบโเปเบโเบเบฐโเบเบธโเบเบฑเบโเบเบญเบ emulator เบกเบตโเบเบฒเบโเปเบเปโเบเบญเบโเบเบฑเบโเบเบญเบ COM เบเบญเบ OS เบเบปเปเบโเบเป (debug UART เปเบฅเบฐ UART เบชเปเบฒโเบฅเบฑเบโเปเบกโเบเบนเบ Bluetoothโ)โ. เปเบซเบผเบปเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเปเบเบฑเบเบเบญเบเบเบตเปเปเบเปเบเบดเบเบเบญเบเบญเบธเบเบฐเบเบญเบเบเบตเปเปเบเบทเปเบญเบกเบเปเปเบซเบผเบทเบเบญเบ COM virtual (เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบ com0com/socat).
เปเบเบเบฑเบเบเบธเบเบฑเบเบกเบตเบชเบญเบเบงเบดเบเบตเบเบปเปเบเบเปเปเบเบเบฒเบเบเบปเบงเบเบฑเบเบเบฑเบ emulator เบเบฒเบเบเบฒเบเบเบญเบ:
- GDB RSP protocol (เบเบฒเบก, เปเบเบทเปเบญเบเบกเบทเบเบตเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบญเบฐเบเบธเบชเบฑเบเบเบฒเบเบตเปเปเบกเปเบ Eclipse / IDA / radare2);
- เปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ emulator เบเบฒเบเปเบ (Argparse เบซเบผเบท Python).
เบเบญเบ COM เบชเบฐเปเปเบทเบญเบ
เปเบเบทเปเบญเปเบเปเบเบญเบเบเบฑเบ UART เบเบญเบเบญเบธเบเบฐเบเบญเบ virtual เปเบเปเบเบทเปเบญเบเบเปเบญเบเบเบดเปเบเบเปเบฒเบเปเบเบทเปเบญเบเปเบเปเปเบเบเปเบฒ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเบเบนเปเบเบญเบเบเบญเบ COM virtual เบเบตเปเบเปเบฝเบงเบเปเบญเบ. เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบซเบเบถเปเบเบเบญเบเบเบทเบเบเปเบฒเปเบเปเปเบเบ emulator, เปเบฅเบฐเบเบตเบชเบญเบเบเบทเบเบเปเบฒเปเบเปเปเบเบเปเบเบเบเบฒเบ terminal (PuTTY เบซเบผเบทเบซเบเปเบฒเบเป):
เปเบเป com0com
เบเบญเบ COM เปเบชเบกเบทเบเบเบทเบเบเบฑเปเบเบเปเบฒเปเบเบเปเบเปเบญเบธเบเบฐเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบเบธเบ com0com (เบชเบฐเบเบฑเบ console - C:Program Files (x86)com0comsetupั.exe, เบซเบผเบทเบฅเบธเปเบ GUI - C:Program Files (x86)com0comsetupg.exe):
เบเบงเบเปเบเบดเปเบเบเปเบญเบ เปเบเบตเบเปเบเป buffer overrun เบชเปเบฒเบฅเบฑเบเบเบญเบ virtual เบเบตเปเบชเปเบฒเบเบเบถเปเบเบเบฑเบเบซเบกเบปเบ, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ emulator เบเบฐเบฅเปเบเปเบฒเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเบญเบ COM.
เปเบเป socat
เปเบเบฅเบฐเบเบปเบ UNIX, เบเบญเบ COM virtual เปเบกเปเบเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบ emulator เปเบเบเปเบเป socat utility เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเบฝเบเปเบเปเบฅเบฐเบเบธเบเปเบฒเบเปเบฒเบซเบเปเบฒเปเบเบเบทเปเบเบญเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบฅเบตเปเบกเบเบปเปเบ emulator socat:
.
เบเบฒเบเปเบเปเบเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบฒเบเปเบ (Argparse เบซเบผเบท Python)
เปเบเบทเปเบญเบเบเบฒเบ Kopycat เปเบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ console, emulator เปเบซเปเบชเบญเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเปเบเปเบเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบงเบเบฑเบเบเบฑเบเบงเบฑเบเบเบธเปเบฅเบฐเบเบปเบงเปเบเบเบญเบเบกเบฑเบ: Argparse เปเบฅเบฐ Python.
Argparse เปเบกเปเบ CLI เบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบ Kopycat เปเบฅเบฐเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเบฑเบเบเบธเบเบเบปเบเบชเบฐเปเปเบต.
เบเบฒเบเปเบฅเบทเบญเบ CLI เปเบกเปเบเบเบฒเบเบเบฒเบชเบฒ Python. เปเบเบทเปเบญเปเบเปเบกเบฑเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบเบฑเปเบเปเบกเบเบนเบ Jep Python เปเบฅเบฐ configure emulator เปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Python (เบเบปเบงเปเบเบเบฒเบชเบฒ Python เบเบตเปเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเบฅเบฐเบเบปเบเบซเบผเบฑเบเบเบญเบเบเบนเปเปเบเปเบเบฐเบเบทเบเบเปเบฒเปเบเป).
เบเบฒเบเบเบดเบเบเบฑเปเบเปเบกเบเบนเบ Python Jep
เบเบฒเบเปเบเป Linux Jep เบชเบฒเบกเบฒเบเบเบดเบเบเบฑเปเบเบเปเบฒเบ pip:
pip install jep
เปเบเบทเปเบญเบเบดเบเบเบฑเปเบ Jep เปเบ Windows, เบเปเบญเบเบญเบทเปเบ เปเบปเบ เบเปเบฒเบเบเปเบญเบเบเบดเบเบเบฑเปเบ Windows SDK เปเบฅเบฐ Microsoft Visual Studio เบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ. เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเบถเปเบเปเบฅเบฑเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบ เปเบฅเบฐ
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.
เปเบเปเบเบฅเป emulator batch เบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบญเบเบเปเบฒเบ (copycat.bat - เบชเปเบฒโเบฅเบฑเบ Windowsโ, copycat - เบชเปเบฒเบฅเบฑเบ 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
emulator เปเบกเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ console JVM. เบเบฒเบเปเบเบตเบเบเบปเบงเปเบกเปเบเบเปเบฒเปเบเบตเบเปเบเบเบเปเบฒเบ script เปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบญเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ (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 utility:
./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 virtual.
เบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเปเบเบทเบญเบเบเบฐเบเบทเบเบชเบฐเปเบเบ 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 เปเบเบฑเบเปเบเบฅเปเปเบซเบผเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเปเบ IDA เปเบเบฎเบนเบเปเบเบ
เบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเปเบเปเปเบเบตเบกเปเบงเบเบปเปเบเบเปเปเบเบเบเปเปเบกเบตเบเปเปเบกเบนเบ meta.
เบซเบผเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบง Kopycat เปเบ IDA Pro, เปเบเปเบกเบเบน Debugger เปเบเบฅเบฒเบเบเบฒเบ "เบชเบฐเบซเบผเบฑเบเบเบตเบเบฑเบ..."เปเบฅเบฐเปเบฅเบทเบญเบ"เบเบตเบเบฑเบ GDB เปเบฅเบเบฐเปเบ". เบเปเปเปเบ, เบเบฑเปเบเบเปเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเป: เปเบกเบเบน Debugger - เบเบปเบงเปเบฅเบทเบญเบเบเบฐเบเบงเบเบเบฒเบ...
เบเปเบฒเบเบปเบเบเปเบฒ:
- เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ - เบกเบนเบเบเปเบฒเปเบเป
- เบเบทเปเปเบเบปเปเบฒเบเบฒเบ: 127.0.0.1 (เบซเบผเบทเบเบตเปเบขเบนเป IP เบเบญเบเปเบเบทเปเบญเบเบเบฒเบเปเบเบเบตเป Kopycat เปเบฅเปเบเบขเบนเป)
- เบเบตเป Port: 23946
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบธเปเบก debugging เบชเบฒเบกเบฒเบเปเบเปเปเบเป (เบเบธเปเบก F9):
เบเบฅเบดเบเบกเบฑเบเปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบกเบเบนเบเบเบตเบเบฑเบเปเบเบเบปเบงเบเบณเบฅเบญเบ. IDA เปเบเบปเปเบฒเปเบเปเบเปเบซเบกเบเบเบฒเบเบเบตเบเบฑเบ, เบเปเบญเบเบขเปเบฝเบกเปเบเบตเปเบกเปเบเบตเบกเบเบฐเบเบฒเบเปเบเบฑเบเบเบตเปเบกเบตเบขเบนเป: เบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบ, เบเปเบฝเบงเบเบฑเบ stack.
เบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเบเบธเบเบชเบปเบกเบเบฑเบเบกเบฒเบเบเบฐเบเบฒเบเบเบฑเบเปเบปเบเบเบญเบ debugger เปเบเป:
- เบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบเบฒเบกโเบเบฑเปเบโเบเบญเบโเบเบญเบโเบเปเบฒโเปเบเบฐโเบเปเบฒ (เบเปเบฒเบงเปเบเบปเปเบฒเปเบ ะธ เบเปเบฒเบงเบเปเบฒเบก โ เบเบฐเปเบ F7 เปเบฅเบฐ F8, เบเบฒเบกเบฅเปเบฒเบเบฑเบ);
- เปเบฅเบตเปเบก เปเบฅเบฐเบขเบธเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ;
- เบชเปเบฒเบเบเบธเบเปเบเปเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบฅเบฐเบซเบฑเบเปเบฅเบฐเบเปเปเบกเบนเบ (เบเบธเปเบก F2).
เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบปเบงเบเบตเบเบฑเบเบเปเปเปเบเปเปเบฒเบเบเบงเบฒเบกเบงเปเบฒเปเบฅเปเบเบฅเบฐเบซเบฑเบเปเบเบตเบกเปเบง. เบเปเบฒเปเบซเบเปเบเบเบฐเบเบดเบเบฑเบเปเบเบเบฐเบเบธเบเบฑเบเบเปเบญเบเปเบเบฑเบเบเบตเปเบขเบนเป 0x08006A74
- เบเบฒเบโเปเบฅเบตเปเบกโเบเบปเปเบโเบเบญเบโเบเบฒเบโเบเปเบฒโเบเบฒเบโ Reset_Handler. เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒเบโเปเบฅเบทเปเบญเบโเบฅเบปเบโเบเบฑเบโเบเบตโเบฅเบฒเบโเบเบฒเบโ, เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเปเบเบดเปเบโเบเบฒเบโเปเบโเบซเบเปเบฒโเบเบตเปโ เบเบปเปเบเบเป. เบเปเบฒเบเบชเบฒเบกเบฒเบเบงเบฒเบเบเบปเบงเบเบฐเบเบดเบเปเบชเปเปเบชเบฑเปเบเบเบตเป (เบเบตเปเบขเบนเป 0x08006ABE
) เปเบฅเบฐโเบเบฐโเบเบดโเบเบฑเบโเบเบฒเบโเบเปเบฒโเปเบเบตเบโเบเบฒเบโ เบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบเปเบงเบฒเบเบปเบงเบเบฐเบเบดเบ (เบเบธเปเบก F4).
เบเปเปเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบปเบ F7 เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเปเบเบซเบเปเบฒเบเบตเป เบเบปเปเบเบเป.
เบเปเบฒเบเปเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ เบชเบทเบเบเปเปเบเบฐเบเบงเบเบเบฒเบ (เบเบธเปเบก F9), เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบญเบเบขเปเบฝเบก "เบเบฐเบฅเบธเบเบฒเบฅเปเบเปเบฒ" เบเบฐเบเบฒเบเบปเบเบเปเบงเบเบเบธเปเบกเบเบฝเบง เบฅเบฐเบเบฑเบ:
เปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบเบปเบ เบฅเบฐเบเบฑเบ เบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบเปเบเบตเบกเปเบงเบเบทเบเบฅเบฐเบเบฑเบเปเบงเปเปเบฅเบฐเบชเบฒเบกเบฒเบเบชเบทเบเบเปเปเบเบฒเบเบเบตเปเบขเบนเปเบเบฝเบงเบเบฑเบเปเบเบฅเบฐเบซเบฑเบเบเบตเปเบกเบฑเบเบเบทเบเบฅเบปเบเบเบงเบ.
เบเปเบฒเบเปเบฒเบเบชเบทเบเบเปเปเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ, เบเปเบฒเบเบเบฐเปเบซเบฑเบเปเบชเบฑเปเบเบเปเปเปเบเบเบตเปเบขเบนเปเปเบเบเบธเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบญเบ COM virtual:
เบเบฒเบเบเบฐเบเบปเบเบเบปเบงเบเบญเบเปเบชเบฑเปเบ "เบเบฒเบเบเปเบฒเบเบเบญเบเบฅเบฑเบ" เบเบตเปเปเบซเปเปเบซเบฑเบเบงเปเบฒเปเบกเบเบนเบ Bluetooth virtual เปเบเปเบเปเบฝเบเปเบเบชเบนเปเบฎเบนเบเปเบเบเบเบฒเบเบฎเบฑเบเบเปเปเบกเบนเบเบเบฒเบเบเบญเบ COM เบเบญเบเบเบนเปเปเบเป.
เปเบเบเบฑเบเบเบธเบเบฑเบเบขเบนเปเปเบเบเบธเบเปเบเบทเปเบญเบกเบเปเป Bluetooth (COM29 เปเบเบฎเบนเบ) เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบชเปเบเปเบฒเบชเบฑเปเบเปเบเบเบชเบญเบเบเปเบญเบเบเบฑเบเปเบเปเบเบเบญเบ Rhino. เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบชเบฑเปเบ "MEOW" เบเบฐเบชเบปเปเบเบเบทเบเบชเบฒเบ "mur-mur" เปเบเบซเบฒเบชเบฐเบเบฒเบเบต Bluetooth:
เบเบณเบฅเบญเบเบเปเบญเบเบเปเปเปเบเปเปเบปเบ
เปเบกเบทเปเบญเบชเปเบฒเบ emulator, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฅเบทเบญเบเบฅเบฐเบเบฑเบเบเบญเบเบฅเบฒเบเบฅเบฐเบญเบฝเบ / emulation เบเบญเบเบญเบธเบเบฐเบเบญเบเบชเบฐเปเบเบฒเบฐเปเบเบซเบเบถเปเบ. เบเบปเบงเบขเปเบฒเบ, เปเบกเบเบนเบ Bluetooth เบชเบฒเบกเบฒเบเบเบทเบเบเบณเบฅเบญเบเบเปเบงเบเบงเบดเบเบตเบเปเบฒเบเป:
- เบญเบธเบเบฐเบเบญเบเปเบเปเบเบทเบ emulated เบขเปเบฒเบเปเบเบฑเบกเบชเปเบงเบเบเบฑเบเบเบธเบเปเบเบฑเบกเบเบญเบเบเปเบฒเบชเบฑเปเบ;
- เบเปเบฒเบชเบฑเปเบ AT เปเบเปเบเบทเบเบเปเบฒเบฅเบญเบ, เปเบฅเบฐเบเปเปเบฒเบเปเปเบกเบนเบเปเบกเปเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบญเบ COM เบเบญเบเบฅเบฐเบเบปเบเบเบปเปเบเบเป;
- เบญเบธเบเบฐเบเบญเบ virtual เบชเบฐเบซเบเบญเบเบเบฒเบเบเปเบฝเบเปเบชเบฑเปเบเบเบฒเบเบเปเปเบกเบนเบเบเบปเบเบเปเบงเบเบชเบปเบกเบเบนเบเบเบฑเบเบญเบธเบเบฐเบเบญเบเบเบตเปเปเบเปเบเบดเบ;
- เปเบเบฑเบ stub เบเปเบฒเบเบเบฒเบเบเบตเปเบชเบฐเปเบซเบกเบตเบเบฑเบเบเบทเบ "OK".
เบฎเบธเปเบเบเบฑเบเบเบธเบเบฑเบเบเบญเบ emulator เปเบเปเบงเบดเบเบตเบเบฒเบเบเบตเบชเบญเบ - เปเบกเบเบนเบ Bluetooth virtual เบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบฑเบเบเปเบฝเบเปเบเบชเบนเปเบฎเบนเบเปเบเบเบเบญเบ "proxying" เบเปเปเบกเบนเบเบเบฒเบเบเบญเบ COM เบเบญเบเบฅเบฐเบเบปเบเบเบปเปเบเบเปเปเบเบซเบฒเบเบญเบ UART เบเบญเบ emulator.
เบเปเปเบซเปเบเบดเบเบฒเบฅเบฐเบเบฒเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเปเบเบทเปเบญเบเบกเบทเบเปเบฒเบเบเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเบฒเบเบชเปเบงเบเบเบญเบ periphery เบเปเปเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ. เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเบปเบงเบเบฑเบเปเบงเบฅเบฒเบเบตเปเบฎเบฑเบเบเบดเบเบเบญเบเปเบเบเบฒเบเบเบงเบเบเบธเบกเบเบฒเบเปเบญเบเบเปเปเบกเบนเบเปเบเบซเบฒ DMA เบเปเปเปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบ (เบเบฒเบเบเบงเบเบชเบญเบเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบซเบเปเบฒเบเบตเป. ws2812b_เบฅเปเบเปเบฒ, raspolojennoy po adresu 0x08006840
), เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบเบตเบกเปเบงเบเบฐเบฅเปเบเปเบฒเปเบซเปเบเบธเบเบเบทเบเบเบฑเปเบเปเบซเบกเป เบเบฒโเบงเบฝเบเบเบฑเปเบเบขเบนเป 0x200004C4
เปเบเบดเปเบเบชเบฐเปเบเบเปเบเบดเบเบเบฒเบเบเบญเบเบเบญเบเบเบญเบเบชเบฒเบเบเปเปเบกเบนเบ DMA:
เบเบงเบโเปเบฎเบปเบฒโเบชเบฒโเบกเบฒเบโเปเบเปโเบฎเบฑเบโเบเบฐโเบกเบฒเบโเบชเบฐโเบเบฒโเบเบฐโเบเบฒเบโเบเบตเปโเปเบเบโเบเบฒเบโเบเบฑเบโเบเบธเบโเบเบฒเบโเบเปเบงเบโเบเบปเบโเปเบญเบโ เบเบฒโเบงเบฝเบ เบเบฑเบโเบเบตโเบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเบเบดเบโเบเบฑเปเบโเบกเบฑเบโ. เปเบ IDA Pro, เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบฑเบเบเบฑเบ Python เปเบฅเบฐเปเบเบซเบฒเบกเบฑเบเปเบ breakpoint, เปเบฅเบฐเบงเบฒเบ breakpoint เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบเบฅเบฐเบซเบฑเบเบซเบผเบฑเบเบเบฒเบเบเบฝเบเบเปเบฒ 1 เบเบฑเบเบเบธเบ. เบเบฒโเบงเบฝเบ.
เบเบปเบงเบเบฑเบเบเบฒเบเบเบธเบเบขเบธเบ
เบเปเบฒเบญเบดเบ, เปเบซเปเบชเปเบฒเบเบซเบเปเบฒเบเบตเป Python เปเบ IDA. เปเบกเบเบน เปเบเบฅเป - เบเบณเบชเบฑเปเบเบชเบฐเบเบฃเบดเบ...
เปเบเบตเปเบก snippet เปเบซเบกเปเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบฒเบเบเปเบฒเบ, เปเบซเปเบกเบฑเบเบเบทเป (เบเบปเบงเบขเปเบฒเบ: เบเบเบฅ),
เปเบเบเปเบญเบเบเปเปเบเบงเบฒเบกเปเบเบทเปเบญเบเบเบงเบฒ, เปเบชเปเบฅเบฐเบซเบฑเบเบเบฑเบเบเบฑเบ:
def skip_dma():
print "Skipping wait ws2812..."
value = Byte(0x200004C4)
if value == 1:
PatchDbgByte(0x200004C4, 0)
return False
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบซเปเบเบฅเบดเบเปเบชเป เบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ เปเบฅเบฐเบเบดเบเบเปเบญเบเบขเปเบฝเบกเบชเบฐเบเบดเบ.
เบเบญเบเบเบตเปเปเบซเปเปเบเบเบตเปเบฅเบฐเบซเบฑเบเบขเบนเป 0x0800688A
, เบเบฑเปเบเบเบธเบเบขเบธเบ (เบเบธเปเบก F2), เปเบเปเปเบเบกเบฑเบ (เปเบกเบเบนเบชเบฐเบเบฒเบเบเบฒเบ เปเบเปเปเบเบเบธเบเบขเบธเบ...), เบขเปเบฒเบฅเบทเบกเบเบฑเปเบเบเบฐเปเบเบเบชเบฐเบเบฃเบดเบเปเบเบฑเบ Python:
เบเปเบฒเบเปเบฒเบเบธเบเบเบฑเบเบเบธเบเบฑเบ เบเบฒโเบงเบฝเบ เปเบเบปเปเบฒเบเบฑเบ 1, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเบงเบเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเป เบเปเบฒเบก_dma เปเบเปเบเบงเบชเบฐเบเบฃเบดเบ:
เบเปเบฒเบเปเบฒเบเปเบเบตเบเปเบเป firmware เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบเบฒเบเบเบฐเบเบธเปเบเบเบญเบเบฅเบฐเบซเบฑเบเบเบปเบงเบเบฑเบเบเบฒเบ breakpoint เบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเปเบเบเปเบญเบเบขเปเบฝเบก IDA. เบเบปเบเบเบฐเบฅเบดเบ เปเบเบเบชเบฒเบ Skipping wait ws2812...
. เบเบญเบเบเบตเปเปเบเบตเบกเปเบงเบเบฐเบเปเปเบฅเปเบเปเบฒเปเบซเปเบเบธเบเบเบทเบเบฃเบตเปเบเบฑเบ เบเบฒโเบงเบฝเบ.
เบเบฒเบเปเบเปเบเบญเบเบเบฑเบ emulator เปเบเป
Emulation เบชเปเบฒเบฅเบฑเบ sake เบเบญเบ emulation เบเบปเบเบเบฐเบเปเปเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบชเบธเบเปเบฅเบฐเบเบงเบฒเบกเบชเบธเบ. เบกเบฑเบเบซเบเปเบฒเบชเบปเบเปเบเบซเบผเบฒเบเบเปเบฒ emulator เบเปเบงเบเปเบซเปเบเบฑเบเบเบปเปเบเบเบงเปเบฒเปเบเบดเปเบเบเปเปเบกเบนเบเปเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบซเบผเบทเบชเปเบฒเบเบเบฒเบเปเบเปเบเบญเบเบเบญเบเบเบฐเบเบนเป.
เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบฐเปเบเบเปเบซเปเบเปเบฒเบเปเบซเบฑเบเบงเบดเบเบตเบเบฒเบเบชเปเบฒเบเบเบฐเบเบดเบชเปเบฒเบเบฑเบเบฅเบฐเบซเบงเปเบฒเบเบงเบฝเบเบเบฒเบ RTOS เปเบเบเปเบเบทเปเบญเบเปเบซเบง. เบเปเบฒเบญเบดเบเบเปเบฒเบเบเบงเบเบขเบธเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบเบเปเบฒเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเป. เบเปเบฒเบเปเบฒเบเปเบเบซเบฒเบซเบเปเบฒเบเบตเป bluetooth_task_entry เปเบเบซเบฒเบชเบฒเบเบฒเบเบฐเบกเบงเบเบเบปเบเบเบญเบเบเปเบฒเบชเบฑเปเบ "LED" (เบเบตเปเบขเบนเป 0x080057B8
), เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบชเบดเปเบเบเบตเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเบเปเบฒเบญเบดเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบทเบเบชเบปเปเบเปเบเบซเบฒเปเบเบงเบฅเบฐเบเบปเบ ledControlQueueHandle เบเปเปเบเบงเบฒเบกเบเบฒเบเบขเปเบฒเบ.
เบเปเบฒเบเบเบงเบเบเบฑเปเบเบเบธเบเบขเบธเบเปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบดเบเบเบปเบงเปเบ ledControlQueueHandle, raspolojennoy po adresu 0x20000624
เปเบฅเบฐเบชเบทเบเบเปเปเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ:
เบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเบขเบธเบเปเบเบปเบฒเบเปเบฒเบญเบดเบเบเบฐเปเบเบตเบเบเบถเปเบเบขเบนเปเบเบตเปเบเบตเปเบขเบนเป 0x080057CA
เบเปเบญเบเบเบตเปเบเบฐเปเบเบซเบฒเบซเบเปเบฒเบเบตเป osMailAlloc, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบขเบนเปเปเบเบเบตเปเบขเบนเป 0x08005806
เบเปเบญเบเบเบตเปเบเบฐเปเบเบซเบฒเบซเบเปเบฒเบเบตเป osMailPut, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบเบฐเบเบฐเบเบตเป - เบเบฑเบเบเบตเปเบขเบนเป 0x08005BD4
(เบเปเบญเบเบเบตเปเบเบฐเปเบเบซเบฒเบซเบเปเบฒเบเบตเป osMailGet), เปเบเบดเปเบเบเบถเปเบเบเบฑเบเบซเบเปเบฒเบเบตเป leds_task_entry (LED-task), เบเบฑเปเบเปเบกเปเบ, เบงเบฝเบเบเบฒเบเบเบทเบเบเปเบฝเบ, เปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบ LED-task เปเบเปเบฎเบฑเบเบเบฒเบเบเบงเบเบเบธเบก.
เบเปเบงเบเบงเบดเบเบตเบเปเบฒเบเปเบเบตเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบงเบดเบเบตเบเบตเปเบงเบฝเบเบเบฒเบ RTOS เบเบปเบงเบเบฑเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบ.
เปเบเปเบเบญเบ, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบฒเบเปเบเปเบเบญเบเบเบญเบเบงเบฝเบเบเบฒเบเบชเบฒเบกเบฒเบเบชเบฑเบเบชเบปเบเบซเบผเบฒเบ, เปเบเปเบเบฒเบเบเปเบฒเปเบเป emulator, เบเบฒเบเบเบดเบเบเบฒเบกเบเบฒเบเปเบเปเบเบญเบเบเบตเปเบเบฐเบเบฒเบเปเบเบฑเบเปเบฎเบเบเบฒเบเบซเบเปเบญเบ.
เปเบเบตเบเบเบปเบงเบเปเบงเบ Radare2
เบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเบฅเบฐเปเบฅเบตเบเปเบเบทเปเบญเบเบกเบทเบเบปเปเบงเปเบเปเบเบฑเปเบ Radare2.
เปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ emulator เปเบเบเปเบเป r2, เบเปเบฒเบชเบฑเปเบเบเบฐเบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเบตเป:
radare2 -A -a arm -b 16 -d gdb://localhost:23946 rhino_fw42k6.elf
เปเบเบตเบเบเบปเบงเบกเบตเปเบซเปเปเบฅเปเบงเบเบญเบเบเบตเป (dc
) เปเบฅเบฐเบขเบธเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบปเปเบงเบเบฒเบง (Ctrl+C).
เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, เปเบเบเบฑเบเบเบธเบเบฑเบ, r2 เบกเบตเบเบฑเบเบซเบฒเปเบเปเบงเบฅเบฒเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบฎเบฒเบเปเบง gdb เปเบฅเบฐเบฎเบนเบเปเบเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบตเป, breakpoints เปเบฅเบฐเบเบฑเปเบเบเบญเบเบเปเปเปเบฎเบฑเบเบงเบฝเบ (เบเปเบฒเบชเบฑเปเบ ds
). เบเบงเบเปเบฎเบปเบฒเบซเบงเบฑเบเบงเปเบฒเบญเบฑเบเบเบตเปเบเบฐเบเบทเบเปเบเปเปเบเปเบเปเบงเปเบเบตเป.
เปเบฅเปเบเบเปเบงเบ Eclipse
เบซเบเบถเปเบเปเบเบเบฒเบเปเบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเป emulator เปเบกเปเบเปเบเบทเปเบญ debug firmware เบเบญเบเบญเบธเบเบฐเบเบญเบเบเบตเปเบเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒ. เปเบเบทเปเบญเบเบงเบฒเบกเบเบฑเบเปเบเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฐเปเบเปเปเบเบตเบกเปเบง Rhino. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฒเบงเปเบซเบฅเบเปเบซเบผเปเบ firmware เปเบเป
เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเป Eclipse เบเบฒเบเบเบธเบเปเบเบฑเบ IDE
เปเบเบทเปเบญเปเบซเป emulator เปเบซเบฅเบ firmware เบเบตเปเบฅเบงเบเบฅเบงเบกเปเบเบเบเบปเบเปเบ Eclipse, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบตเปเบกเบเบฒเบฅเบฒเบกเบดเปเบเบต. firmware=null
เบเบฑเบเบเปเบฒเบชเบฑเปเบเปเบเบตเบเบเบปเบง emulator:
binkopycat -g 23946 -n rhino -l user -y modules -p firmware=null,tty_dbg=COM26,tty_bt=COM28
เบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบเบตโเบเบฑเบโ
เปเบ Eclipse, เปเบฅเบทเบญเบเปเบกเบเบน เปเบฅเปเบ - Debug Configuration... เปเบเบเปเบญเบเบขเปเบฝเบกเบเบตเปเปเบเบตเบ, เปเบเบเบฒเบ เบเบฒเบเบเบตเบเบฑเบเบฎเบฒเบเปเบง GDB เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบตเปเบกเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบซเบกเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบขเบนเปเปเบเปเบเบ "เบเบปเปเบเบเป" เปเบซเปเบฅเบฐเบเบธเปเบเบเบเบฒเบเปเบฅเบฐเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบเบฐเบเบธเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเบเบฑเบ:
เปเบเปเบเบ "Debugger" เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบฅเบฐเบเบธเบเปเบฒเบชเบฑเปเบ GDB:
${openstm32_compiler_path}arm-none-eabi-gdb
เปเบฅเบฐเบเบฑเบเปเบชเปเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบ GDB (เปเบฎเบเปเบฅเบฐเบเบญเบ):
เปเบเปเบเบ "Startup", เบเปเบฒเบเบเปเบญเบเบฅเบฐเบเบธเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
- เปเบเบตเบโเปเบเปโเบเบฒเบ checkbox เปเบซเบผเบเบฎเบนเบ (เบเบฑเปเบเบเบฑเปเบเบฎเบนเบเบเบฒเบเปเบเบตเบกเปเบงเบเบตเปเบเบฐเบเบญเบเบเบทเบเปเบซเบฅเบเปเบเบปเปเบฒเปเบเปเบ emulator);
- เปเบเบตเบโเปเบเปโเบเบฒเบ checkbox เปเบซเบผเบเบชเบฑเบเบเบฒเบฅเบฑเบ;
- เปเบเบตเปเบกเบเปเบฒเบชเบฑเปเบเปเบเบตเบเบเบปเบง:
set $pc = *0x08000004
(เบเบฑเปเบ PC เบฅเบปเบโเบเบฐโเบเบฝเบโเปเบเบฑเบโเบเปเบฒโเบเบฒเบโเบซเบเปเบงเบโเบเบงเบฒเบกโเบเปเบฒโเบเบตเปโเบขเบนเปโ0x08000004
- เบเบตเปโเบขเบนเปโเปเบกเปเบโเปเบเบฑเบโเบฎเบฑเบโเบชเบฒโเปเบงเปโเบเบตเปโเบเบฑเปเบโ ResetHandler).
เบเปเบฒเบเปเบญเบปเบฒเปเบเปเบชเปเบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒเบโเบเปเปโเบเปเบญเบโเบเบฒเบโเบเบฒเบงโเบโเปโเปเบซเบฅเบโเปเบเบฅโเป firmware เบเบฒเบ Eclipseโ, เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเบฒเบโเปเบฅเบทเบญเบโ เปเบซเบผเบเบฎเบนเบ ะธ เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบตเปเบเบญเบ.
เบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเบเบฅเบดเบ Debugโ, เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเปเบฎเบฑเบโเบงเบฝเบโเปเบโเบฎเบนเบโเปเบเบ debuggerโ:
- เบเบฑเปเบโเบเบญเบโเบเบตโเปเบเบโเบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบฅเบฐโเบซเบฑเบโ
- เบเบฐเบเบดเบชเปเบฒเบเบฑเบเบเบฑเบเบเบธเบเบขเบธเบ
ะัะธะผะตัะฐะฝะธะต. Eclipse เบกเบต, hmm ... เบเบฒเบ quirks ... เปเบฅเบฐเบเปเบฒเบเบเปเบญเบเบญเบฒเปเบชเบขเบนเปเบเบฑเบเปเบเบปเบฒเปเบเบปเปเบฒ. เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเปเบกเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบเบเบปเบงเบเบตเบเบฑเบเบเปเปเบเบงเบฒเบก "เบเปเปเบกเบตเปเบซเบผเปเบเบชเปเบฒเบฅเบฑเบ "0x0" เบเบฒเบเบปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเบฑเปเบเบเบญเบ (F5)
เปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเบฒเบเบชเบฐเบซเบฅเบธเบเปเบเป
เบเบฒเบเบเบณเบฅเบญเบเบฅเบฐเบซเบฑเบเบเบทเปเบเปเบกเบทเบญเบเปเบเบฑเบเบชเบดเปเบเบเบตเปเปเปเบฒเบชเบปเบเปเบเบซเบผเบฒเบ. เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบญเบธเบเบฐเบเบญเบเบเบตเปเบเบฐเบเบตเบเบฑเบเปเบเบตเบกเปเบงเปเบเบเบเปเปเบกเบตเบญเบธเบเบฐเบเบญเบเบเบตเปเปเบเปเบเบดเบ. เบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบปเปเบเบเบงเปเบฒ, เบกเบฑเบเปเบเบฑเบเปเบญเบเบฒเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบฅเบฐเบซเบฑเบเปเบเบเปเบเบทเปเบญเบเปเบซเบง, เปเบเบดเปเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบชเบฐเปเบซเบกเบตเปเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบตเบญเบธเบเบฐเบเบญเบ.
เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบซเปเบเบนเปเบเปเบฝเบงเบเบฒเบเบเบตเปเบกเบตเปเบเบทเปเบญเบเบกเบทเบเบตเปเบชเบฐเบเบงเบ, เบเบฒเบเบเบฒเบ, เบเปเบฒเบเบเบฒเบเปเบฅเบฐเบเปเปเปเบเปเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเปเบฅเบฐเปเบงเบฅเบฒเบซเบผเบฒเบเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ.
เบเบฝเบเปเบเบเปเบฒเปเบซเบฑเบเบเปเบฝเบงเบเบฑเบเบเบฐเบชเบปเบเบเบฒเบเบเบญเบเบเปเบฒเบเปเบเบเปเบเปเบเบปเบง emulator เบฎเบฒเบเปเบง. เบเบงเบเปเบฎเบปเบฒเปเบเบตเบเบเปเบฒเบเบชเบปเบเบเบฐเบเบฒเปเบฅเบฐเบเบดเบเบเบตเบเบตเปเบเบฐเบเบญเบเบเปเบฒเบเบฒเบก.
เบเบฝเบเปเบเปเบเบนเปเปเบเปเบฅเบปเบเบเบฐเบเบฝเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเบฎเปเบงเบกเปเบเบเบฒเบเบชเปเบฒเบซเบผเบงเบ.
เบเปเบฒเบเบเปเบฒเบฅเบฑเบเปเบเป emulator เปเบเบทเปเบญเบซเบเบฑเบ?
-
เบเปเบญเบเบเบฑเบเบเบฐเบเบฒ (debug) firmware
-
เบเปเบญเบเบเปเบฒเบฅเบฑเบเบเบปเปเบเบเบงเปเบฒเปเบเบตเบกเปเบง
-
เบเปเบญเบเปเบเบตเบเปเบเบก (Dendi, Sega, PSP)
-
เบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบญเบทเปเบ (เบเบฝเบเปเบเบเปเบฒเปเบซเบฑเบ)
7 เบเบนเปเปเบเปเบฅเบปเบเบเบฐเปเบเบเบชเบฝเบ. 2 เบเบนเปเปเบเปเบเบปเบ.
เปเบเบปเปเบฒเปเบเปเบเบญเบเปเบงเบซเบเบฑเบเปเบเบทเปเบญเบเบณเบฅเบญเบเบฅเบฐเบซเบฑเบเบเบทเปเบเปเบกเบทเบญเบ?
-
QEMU
-
เปเบเบทเปเบญเบเบเบฑเบ Unicorn
-
Proteus
-
เบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบญเบทเปเบ (เบเบฝเบเปเบเบเปเบฒเปเบซเบฑเบ)
6 เบเบนเปเปเบเปเบฅเบปเบเบเบฐเปเบเบเบชเบฝเบ. 2 เบเบนเปเปเบเปเบเบปเบ.
เบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบฑเบเบเบธเบเบญเบฑเบเปเบเปเบเบเบปเบงเบเบณเบฅเบญเบเบเบตเปเบเปเบฒเบเบเบณเบฅเบฑเบเปเบเปเบขเบนเป?
-
เบเปเบญเบเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเปเบง
-
เบเปเบญเบเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเปเบฒเบเปเบเบเบฒเบเบเบดเบเบเบฑเปเบ / เบเบฒเบเปเบเบตเบเบเบปเบง
-
เบเปเบญเบเบเปเบญเบเบเบฒเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบตเปเบกเปเบเบตเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบงเบเบฑเบเบเบฑเบ emulator (API, hooks)
-
เบเปเบญเบเบกเบตเบเบงเบฒเบกเบชเบธเบเบเบฑเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบ
-
เบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบญเบทเปเบ (เบเบฝเบเปเบเบเปเบฒเปเบซเบฑเบ)
เบเบนเปเปเบเป 8 เบเบปเบเบฅเบปเบเบเบฐเปเบเบเบชเบฝเบ. 1 เบเบนเปเปเบเปเบเบปเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com