mirror of
https://github.com/mytechnotalent/Embedded-Hacking.git
synced 2026-10-04 06:57:02 +02:00
Week 4-BN: give _reset_handler a prototype (void _reset_handler(void))
Fix the six places it was left as an em dash: both Step 4 symbol tables, both resolution tables, and both Python shortcuts.
This commit is contained in:
1 parent
41e6d6c11f
commit
da756ec241
2 files changed
+6
-6
No files matched your search
+6
-6
@@ -173,7 +173,7 @@ Each line is `address type name`. The `T`/`t` type is a function. Here are the f
|
|||||||
|
|
||||||
| Address | ELF symbol | Signature | Role |
|
| Address | ELF symbol | Signature | Role |
|
||||||
| ------- | ---------- | --------- | ---- |
|
| ------- | ---------- | --------- | ---- |
|
||||||
| `0x1000015c` | `_reset_handler` | — | reset entry |
|
| `0x1000015c` | `_reset_handler` | `void _reset_handler(void)` | reset entry |
|
||||||
| `0x10000186` | `platform_entry` | `void platform_entry(void)` | calls `runtime_init`, `main`, `exit` |
|
| `0x10000186` | `platform_entry` | `void platform_entry(void)` | calls `runtime_init`, `main`, `exit` |
|
||||||
| `0x1000019a` | `data_cpy` | `void data_cpy(void*, void*, void*)` | copies `.data` from flash to SRAM |
|
| `0x1000019a` | `data_cpy` | `void data_cpy(void*, void*, void*)` | copies `.data` from flash to SRAM |
|
||||||
| `0x100001e4` | `_init` | `void _init(void)` | runs `.init_array` |
|
| `0x100001e4` | `_init` | `void _init(void)` | runs `.init_array` |
|
||||||
@@ -191,7 +191,7 @@ These signatures come from the ELF's DWARF debug info, so they are exact. You ap
|
|||||||
|
|
||||||
| Address | ELF symbol | Signature | Role |
|
| Address | ELF symbol | Signature | Role |
|
||||||
| ------- | ---------- | --------- | ---- |
|
| ------- | ---------- | --------- | ---- |
|
||||||
| `0x1000015c` | `_reset_handler` | — | reset entry |
|
| `0x1000015c` | `_reset_handler` | `void _reset_handler(void)` | reset entry |
|
||||||
| `0x10000186` | `platform_entry` | `void platform_entry(void)` | calls `runtime_init`, `main`, `exit` |
|
| `0x10000186` | `platform_entry` | `void platform_entry(void)` | calls `runtime_init`, `main`, `exit` |
|
||||||
| `0x1000019a` | `data_cpy` | `void data_cpy(void*, void*, void*)` | copies `.data` from flash to SRAM |
|
| `0x1000019a` | `data_cpy` | `void data_cpy(void*, void*, void*)` | copies `.data` from flash to SRAM |
|
||||||
| `0x100001e4` | `_init` | `void _init(void)` | runs `.init_array` |
|
| `0x100001e4` | `_init` | `void _init(void)` | runs `.init_array` |
|
||||||
@@ -599,7 +599,7 @@ main
|
|||||||
|
|
||||||
| Address | Rename to (`N`) | Signature (`Y`) |
|
| Address | Rename to (`N`) | Signature (`Y`) |
|
||||||
| ------- | --------------- | --------------- |
|
| ------- | --------------- | --------------- |
|
||||||
| `0x1000015c` | `_reset_handler` | — |
|
| `0x1000015c` | `_reset_handler` | `void _reset_handler(void)` |
|
||||||
| `0x10000186` | `platform_entry` | `void platform_entry(void)` |
|
| `0x10000186` | `platform_entry` | `void platform_entry(void)` |
|
||||||
| `0x1000019a` | `data_cpy` | `void data_cpy(void*, void*, void*)` |
|
| `0x1000019a` | `data_cpy` | `void data_cpy(void*, void*, void*)` |
|
||||||
| `0x100001e4` | `_init` | `void _init(void)` |
|
| `0x100001e4` | `_init` | `void _init(void)` |
|
||||||
@@ -629,7 +629,7 @@ main
|
|||||||
> from binaryninja import Symbol, SymbolType
|
> from binaryninja import Symbol, SymbolType
|
||||||
> # address: (name, signature); None means "leave the type alone"
|
> # address: (name, signature); None means "leave the type alone"
|
||||||
> funcs = {
|
> funcs = {
|
||||||
> 0x1000015c: ("_reset_handler", None),
|
> 0x1000015c: ("_reset_handler", "void _reset_handler(void)"),
|
||||||
> 0x10000186: ("platform_entry", "void platform_entry(void)"),
|
> 0x10000186: ("platform_entry", "void platform_entry(void)"),
|
||||||
> 0x1000019a: ("data_cpy", "void data_cpy(void*, void*, void*)"),
|
> 0x1000019a: ("data_cpy", "void data_cpy(void*, void*, void*)"),
|
||||||
> 0x100001e4: ("_init", "void _init(void)"),
|
> 0x100001e4: ("_init", "void _init(void)"),
|
||||||
@@ -933,7 +933,7 @@ Two things in this project have **no symbol of their own**, because the compiler
|
|||||||
|
|
||||||
| Address | Rename to (`N`) | Signature (`Y`) |
|
| Address | Rename to (`N`) | Signature (`Y`) |
|
||||||
| ------- | --------------- | --------------- |
|
| ------- | --------------- | --------------- |
|
||||||
| `0x1000015c` | `_reset_handler` | — |
|
| `0x1000015c` | `_reset_handler` | `void _reset_handler(void)` |
|
||||||
| `0x10000186` | `platform_entry` | `void platform_entry(void)` |
|
| `0x10000186` | `platform_entry` | `void platform_entry(void)` |
|
||||||
| `0x1000019a` | `data_cpy` | `void data_cpy(void*, void*, void*)` |
|
| `0x1000019a` | `data_cpy` | `void data_cpy(void*, void*, void*)` |
|
||||||
| `0x100001e4` | `_init` | `void _init(void)` |
|
| `0x100001e4` | `_init` | `void _init(void)` |
|
||||||
@@ -961,7 +961,7 @@ Python console shortcut (resolves name **and** type):
|
|||||||
from binaryninja import Symbol, SymbolType
|
from binaryninja import Symbol, SymbolType
|
||||||
# address: (name, signature); None means "leave the type alone"
|
# address: (name, signature); None means "leave the type alone"
|
||||||
funcs = {
|
funcs = {
|
||||||
0x1000015c: ("_reset_handler", None),
|
0x1000015c: ("_reset_handler", "void _reset_handler(void)"),
|
||||||
0x10000186: ("platform_entry", "void platform_entry(void)"),
|
0x10000186: ("platform_entry", "void platform_entry(void)"),
|
||||||
0x1000019a: ("data_cpy", "void data_cpy(void*, void*, void*)"),
|
0x1000019a: ("data_cpy", "void data_cpy(void*, void*, void*)"),
|
||||||
0x100001e4: ("_init", "void _init(void)"),
|
0x100001e4: ("_init", "void _init(void)"),
|
||||||
|
|||||||
Binary file not shown.
Reference in new issue
Block a user