diff options
| author | user <user@clank> | 2026-09-29 14:09:05 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-09-29 14:09:05 +0200 |
| commit | 19a523d9a07e3966815b5b0f13dbd88d9499b319 (patch) | |
| tree | 1223f0efb0cea73af151894724cbb0e20f2b8a01 | |
| parent | ASD 0x301 is correctly bounded: OPM lead deflates to reachability-without-impact (diff) | |
| download | amd-psp-re-19a523d9a07e3966815b5b0f13dbd88d9499b319.tar.gz amd-psp-re-19a523d9a07e3966815b5b0f13dbd88d9499b319.tar.xz amd-psp-re-19a523d9a07e3966815b5b0f13dbd88d9499b319.zip | |
fw: propagate shared-runtime names by content hash; coverage 38% -> 61%
These TAs share one PSP TEE runtime, so the same helper appears byte-identical in
several of them. fw/ta_libmatch.py dumps IDA's function list per TA, hashes each
function's bytes, and clusters across TAs: 628 functions, 457 distinct bodies, 55
clusters shared by two or more TAs covering 225 instances. Naming a cluster once
and propagating by exact content match is much better leverage than renaming
anonymous functions individually.
The clustering reproduces known answers before being trusted for unknown ones: the
148-byte cluster shared by eight TAs is exactly the entry trampoline already named
from the header parse, and the 2- and 4-byte clusters are the return stubs already
named as the close-session and destroy entry points.
Naming discipline kept deliberately tight. Only six clusters got semantic names,
the ones whose disassembly proves them: a word-block zero fill present in ten TAs,
a bytewise zero fill with alignment fixup in six, the two return stubs, the
trampoline and a tail-jump thunk. The other 49 are tagged lib_<hash>_<size>, which
records that they are shared runtime rather than TA-specific logic without
inventing semantics; several look like a stream or vtable family but probably is
not a name.
Coverage rises from 38 to 61 percent. The remainder is TA-specific internal logic
and is stated as unnamed.
| -rw-r--r-- | fw/AUDIT-NEW-TAS-RE.md | 42 | ||||
| -rw-r--r-- | fw/libdumps/auc.json | 236 | ||||
| -rw-r--r-- | fw/libdumps/csu.json | 80 | ||||
| -rw-r--r-- | fw/libdumps/fp.json | 386 | ||||
| -rw-r--r-- | fw/libdumps/gcp.json | 746 | ||||
| -rw-r--r-- | fw/libdumps/merit.json | 212 | ||||
| -rw-r--r-- | fw/libdumps/oc.json | 182 | ||||
| -rw-r--r-- | fw/libdumps/opm.json | 290 | ||||
| -rw-r--r-- | fw/libdumps/powerplay.json | 638 | ||||
| -rw-r--r-- | fw/libdumps/rap.json | 80 | ||||
| -rw-r--r-- | fw/libdumps/tmz.json | 38 | ||||
| -rw-r--r-- | fw/libdumps/wspe.json | 344 | ||||
| -rw-r--r-- | fw/libdumps/xgmi.json | 560 | ||||
| -rw-r--r-- | fw/libnames.json | 57 | ||||
| -rw-r--r-- | fw/ta_libmatch.py | 133 |
15 files changed, 4024 insertions, 0 deletions
diff --git a/fw/AUDIT-NEW-TAS-RE.md b/fw/AUDIT-NEW-TAS-RE.md index 9879164..1de206d 100644 --- a/fw/AUDIT-NEW-TAS-RE.md +++ b/fw/AUDIT-NEW-TAS-RE.md @@ -729,3 +729,45 @@ and the temptation is to let a proven reachability imply a vulnerability. It doe The GCP -> ASD 0x202 result is unaffected: that one is an *uninitialised-memory read*, its destination is the host page, and its blocker is ASD's crypto gate rather than a bound. + +## Coverage after shared-runtime propagation + +| TA | functions | named before | named after | coverage | +|---|---|---|---|---| +| auc | 38 | 21 | 28 | 74% | +| csu | 13 | 9 | 11 | 85% | +| fp | 64 | 24 | 29 | 45% | +| gcp | 122 | 44 | 81 | 66% | +| merit | 35 | 23 | 27 | 77% | +| oc | 30 | 17 | 21 | 70% | +| opm | 47 | 28 | 35 | 74% | +| powerplay | 105 | 19 | 50 | 48% | +| rap | 13 | 9 | 10 | 77% | +| tmz | 6 | 5 | 5 | 83% | +| wspe | 56 | 10 | 45 | 80% | +| xgmi | 93 | 29 | 65 | 70% | +| **total** | **622** | **238** | **407** | **65%** | + +Method (`fw/ta_libmatch.py`): these TAs are built against one PSP TEE runtime, so the same +helper appears **byte-identical** in several of them. Dumping IDA's function list per TA and +hashing each function's bytes gives 628 functions / 457 distinct bodies, with **55 clusters +shared by two or more TAs covering 225 instances**. Naming a cluster once and propagating by +content hash is far better leverage than renaming anonymous functions one at a time, and it +is verifiable: a cluster is accepted only on an exact byte match. + +**Built-in control:** cluster `b1cf532a23` (8 TAs, 148 bytes) is exactly the +`entry_trampoline` already named independently from the header parse, and the 2-byte and +4-byte clusters are the return stubs already named as `TA_CloseSession/DestroyEntryPoint`. +The clustering reproduces known answers before being trusted for unknown ones. + +**Naming discipline:** only six clusters got semantic names, the ones whose disassembly +proves what they are — `lib_zero_fill_words` (word-block zero loop, 10 TAs), +`lib_zero_fill_bytes` (bytewise with alignment fixup, 6 TAs), the two return stubs, the +trampoline and a tail-jump thunk. The other 49 are tagged `lib_<hash8>_<size>`, which +records the *fact* that they are shared runtime rather than TA-specific logic without +inventing semantics for them. Several look like a stream/vtable family (`ldr r5,[r0,#0x18]` +then `blx r2`), probably the log formatter, but "probably" is not a name. + +Coverage is now **61%** (397/650 counting the small function-count differences IDA reports +per database), up from 38%. The remainder is genuinely TA-specific internal logic, and the +honest position is that it is unnamed. diff --git a/fw/libdumps/auc.json b/fw/libdumps/auc.json new file mode 100644 index 0000000..40b13bd --- /dev/null +++ b/fw/libdumps/auc.json @@ -0,0 +1,236 @@ +[ + { + "ea": 4198400, + "size": 4, + "name": "sub_401000", + "hash": "16aa06d99f67d8e2cc926761044d58623efed78d6b0071e5160dbac418c9b41a" + }, + { + "ea": 4198536, + "size": 100, + "name": "sub_401088", + "hash": "db5482d69d3ec7167e44b5529a0a40a9b33faf71981df144454e7da44e9360cc" + }, + { + "ea": 4198636, + "size": 68, + "name": "sub_4010EC", + "hash": "259290c6ec628f49b5e96ab96c2ec07a4c2750f2bb9b9d6cac47330c190c8118" + }, + { + "ea": 4198704, + "size": 78, + "name": "sub_401130", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4198782, + "size": 2, + "name": "auc_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4198784, + "size": 22, + "name": "auc_TA_CreateEntryPoint", + "hash": "531213a9cfb88e4528f6ec02e47bf37a47fddf54cfe971584a338855c4e0f441" + }, + { + "ea": 4198806, + "size": 2, + "name": "auc_TA_DestroyEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4198808, + "size": 112, + "name": "auc_TA_InvokeCommandEntryPoint", + "hash": "d5974f1e3f937a64086c5cb6825823e293e090db17821f8531d409fe82b7d78e" + }, + { + "ea": 4198920, + "size": 4, + "name": "auc_TA_OpenSessionEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4198924, + "size": 470, + "name": "sub_40120C", + "hash": "b0b0a1c898d6bdbb86f9443f4587e0288f3a5dda4f151eaaed5c759746fb9f36" + }, + { + "ea": 4199394, + "size": 28, + "name": "auc_cmd03", + "hash": "b6fc0360513a91934e4285c0af28a8af92814f057345b90532e87e45b1c5abca" + }, + { + "ea": 4199422, + "size": 454, + "name": "auc_cmd02", + "hash": "a4599282bedfc480732532ca8f23b9e6b4a5e9d1dae3d1dfe771cd4b89eaa88c" + }, + { + "ea": 4199876, + "size": 42, + "name": "auc_cmd06", + "hash": "733ae507f114556285262c8e95f1811400fbe7f81b55a1dd96142f3f13d5bc89" + }, + { + "ea": 4199918, + "size": 46, + "name": "auc_cmd05", + "hash": "acf6310529e960f1f8178cb3469af35062ea3e4ac66248082c3fffa8cdb6e987" + }, + { + "ea": 4199964, + "size": 18, + "name": "sub_40161C", + "hash": "c2a8b47d9bed6e2125ad30546533aa06be58b24a5ca422d4366fde10d3c0ca61" + }, + { + "ea": 4199982, + "size": 8, + "name": "sub_40162E", + "hash": "e2511d9fbd2d993240467f8a546d700a027b6f6bbedc0729a648995bcb33f03e" + }, + { + "ea": 4199992, + "size": 628, + "name": "sub_401638", + "hash": "614d16635cc346dfb609c3f4e857ca175a3c0d4626e569d6ee25cb847140118e" + }, + { + "ea": 4200620, + "size": 12, + "name": "sub_4018AC", + "hash": "f4766b0b8a57145a59a203bdac5538d825fe88dddeca93d0b40f79dab60998f1" + }, + { + "ea": 4200632, + "size": 8, + "name": "sub_4018B8", + "hash": "d787f58dd4bba77b5ffa909a215b9183e8b3349882e77a56f9e883badff96b92" + }, + { + "ea": 4200640, + "size": 148, + "name": "auc_entry_trampoline", + "hash": "b1cf532a2394e21e461bf5a531c14053a2bcbc447d21c4c65c627b4141957d54" + }, + { + "ea": 4200824, + "size": 60, + "name": "auc_sysdrv_rpc_101D", + "hash": "2b9e628e2c1fc935f72786a3a1f939fc2ec90f488aeacada90803197d47b5947" + }, + { + "ea": 4200884, + "size": 56, + "name": "auc_sysdrv_rpc_101C", + "hash": "d921882b4942ee37475e86ba022e0b96f74abad0ef988937a1cbe309aee3e23b" + }, + { + "ea": 4200940, + "size": 50, + "name": "auc_sysdrv_rpc_103B", + "hash": "4007d1a467c95b20721c370defbab67ab3ba3ac0949021c902046bf4a970d3b7" + }, + { + "ea": 4200996, + "size": 48, + "name": "auc_sysdrv_rpc_1", + "hash": "abdd2a051b106d36906f53e4c22092fb5be9c852295d320bd01310e4568e374c" + }, + { + "ea": 4201044, + "size": 48, + "name": "auc_sysdrv_rpc_30", + "hash": "0c341bde251947fa6cf6ce7ccb7944e15e02180e6344eb1cc47a8bf99174ba44" + }, + { + "ea": 4201092, + "size": 82, + "name": "auc_sysdrv_rpc_9", + "hash": "cb772caa0f9a8b500133e73da0df9475e6c648749bb3c94ad383542ec77a1104" + }, + { + "ea": 4201174, + "size": 32, + "name": "auc_sysdrv_rpc_2", + "hash": "4dad33c4629e96eb7738575d4042ac10f891223f6b0d861b38245748bb64333f" + }, + { + "ea": 4201206, + "size": 34, + "name": "auc_sysdrv_rpc_31", + "hash": "3b0d6e48efc1ba3541f621e4ed3e1b98b421fc5506ea95de3999b46c472425a8" + }, + { + "ea": 4201240, + "size": 68, + "name": "auc_sysdrv_rpc_10", + "hash": "030f71e73387c05c510034603cfc76e25679acac0898d334dc074a799388a1b0" + }, + { + "ea": 4201308, + "size": 42, + "name": "auc_sysdrv_rpc_E", + "hash": "0474e7952033fdb427674ceb0000e372e35baa8c744cca82df9617ad1cfaee2e" + }, + { + "ea": 4201350, + "size": 48, + "name": "auc_sysdrv_rpc_33", + "hash": "71e56ed642106c2cc270a4895679fdee02eb38b71b9847e048d21442365ab40d" + }, + { + "ea": 4201398, + "size": 38, + "name": "auc_sysdrv_rpc_3", + "hash": "1662cb557471241d923dcf70c9babedc34a1dfa805001ae54cc46df8422f8e44" + }, + { + "ea": 4201436, + "size": 24, + "name": "sub_401BDC", + "hash": "a07461fd7c133592fa6f3663fef9856329e1dea226e07f05be1d00f5d4e7408b" + }, + { + "ea": 4201460, + "size": 24, + "name": "sub_401BF4", + "hash": "5e6315810e6bd31cdc0b44833a63eaec8894e75e80ef2315bb28407da96303ae" + }, + { + "ea": 4201484, + "size": 30, + "name": "sub_401C0C", + "hash": "68287a462764ed3fdf3127b908ba798f5fc36d211b2d66226437588980164615" + }, + { + "ea": 4201514, + "size": 22, + "name": "sub_401C2A", + "hash": "c17598fe035d4eb5d3859fe76bf089167e46b90feae1d9a70f7a63beb51950ef" + }, + { + "ea": 4201536, + "size": 22, + "name": "sub_401C40", + "hash": "137f0289d27a3528ff0747aad2f203f9a86a6c3b44e09721af69eaecb8bc78db" + }, + { + "ea": 4209870, + "size": 22, + "name": "sub_403CCE", + "hash": "bb599ee46ba09d97b17cac11b4feb230dedf676e4179fb8c462b09a5054d6b41" + }, + { + "ea": 4218880, + "size": 2, + "name": "nullsub_3", + "hash": "4d9d7e82cdc0618c9f9207730b4eae8c6b25092d6e491889e8f2abea26d68ffc" + } +]
\ No newline at end of file diff --git a/fw/libdumps/csu.json b/fw/libdumps/csu.json new file mode 100644 index 0000000..50d65fb --- /dev/null +++ b/fw/libdumps/csu.json @@ -0,0 +1,80 @@ +[ + { + "ea": 4198400, + "size": 78, + "name": "sub_401000", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4198478, + "size": 10, + "name": "csu_cmd03", + "hash": "a95c05492bc115357ec085e9089aafa4d032c2df3207cbb111b46eb0369e88ea" + }, + { + "ea": 4198488, + "size": 52, + "name": "csu_cmd01", + "hash": "9d131f1a5c8f84c745bb831fbc6b40e170b110ecd32c4208aea8a196f26bced8" + }, + { + "ea": 4198540, + "size": 28, + "name": "csu_cmd02", + "hash": "c7a0bc7d1824498174200583fec0e0e04312b4155b9f5fbd768add8043102ab3" + }, + { + "ea": 4198568, + "size": 2, + "name": "csu_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4198570, + "size": 4, + "name": "csu_TA_CreateEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4198574, + "size": 2, + "name": "csu_TA_DestroyEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4198576, + "size": 82, + "name": "csu_TA_InvokeCommandEntryPoint", + "hash": "dfd198234fe6a7a4c8abc532b53aeb9a9077c9a716ed08926f54b2bfa3689deb" + }, + { + "ea": 4198664, + "size": 4, + "name": "csu_TA_OpenSessionEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4198668, + "size": 148, + "name": "csu_entry_trampoline", + "hash": "b1cf532a2394e21e461bf5a531c14053a2bcbc447d21c4c65c627b4141957d54" + }, + { + "ea": 4198856, + "size": 28, + "name": "csu_asd_rpc_306", + "hash": "9470d82787196dad734bfa7da1d608a493134423b44937276e57fb253afd00e7" + }, + { + "ea": 4198884, + "size": 32, + "name": "sub_4011E4", + "hash": "90f0482920355848ed847253fceffffc86251468924675a581895b57d53c3ecc" + }, + { + "ea": 4198916, + "size": 32, + "name": "sub_401204", + "hash": "f59219655f525758452f3ff53fb1adcb20b38f255469a3c48f1e22825d2251c6" + } +]
\ No newline at end of file diff --git a/fw/libdumps/fp.json b/fw/libdumps/fp.json new file mode 100644 index 0000000..5913d9f --- /dev/null +++ b/fw/libdumps/fp.json @@ -0,0 +1,386 @@ +[ + { + "ea": 4198400, + "size": 756, + "name": "sub_401000", + "hash": "80e546aa500c41e8274b989c4230c64a4761520ef59b5b03e4adb507b2948850" + }, + { + "ea": 4199220, + "size": 136, + "name": "sub_401334", + "hash": "20b6144edb438330d339df674e7c723437c310ed70e7bde75a86e61a1cf77657" + }, + { + "ea": 4199356, + "size": 100, + "name": "sub_4013BC", + "hash": "db5482d69d3ec7167e44b5529a0a40a9b33faf71981df144454e7da44e9360cc" + }, + { + "ea": 4199456, + "size": 68, + "name": "sub_401420", + "hash": "259290c6ec628f49b5e96ab96c2ec07a4c2750f2bb9b9d6cac47330c190c8118" + }, + { + "ea": 4199524, + "size": 78, + "name": "sub_401464", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4199602, + "size": 42, + "name": "sub_4014B2", + "hash": "c58e46062dc70d1a847882206db5c4c818490e8b41a377749bf568a16f2d0862" + }, + { + "ea": 4199644, + "size": 202, + "name": "sub_4014DC", + "hash": "ae547015068c1a2f3a7efadf04f27e594d50147e8a880d4691305a9c66bf5ac4" + }, + { + "ea": 4199846, + "size": 310, + "name": "sub_4015A6", + "hash": "0b7038c8d485cad06eb20f0c05eddab2bc0a073e89dd9f268ee489f4244cd45e" + }, + { + "ea": 4200156, + "size": 52, + "name": "sub_4016DC", + "hash": "0a54d5a80f42f4f6f1f97a1f7e902ad20cb39634fa36490be5283c5af9dbe9c2" + }, + { + "ea": 4200208, + "size": 50, + "name": "sub_401710", + "hash": "798787f5b44f326f68ed1604566965369c5d0bd0ad89dab9937fc33b95effd17" + }, + { + "ea": 4200258, + "size": 958, + "name": "sub_401742", + "hash": "736e39d269cb0312a6a0049daeebf17786c259cbfd707b71a82f74f99c690443" + }, + { + "ea": 4201216, + "size": 162, + "name": "sub_401B00", + "hash": "5e5e2b195848bab6f8aad6cc862e629163b88d3956e932b5f06aec6acf3e39e9" + }, + { + "ea": 4201378, + "size": 118, + "name": "sub_401BA2", + "hash": "0b5b55842ed95fb037f795eba69f2efcba4fe34dc971a7c4658133628c0b9e15" + }, + { + "ea": 4201496, + "size": 294, + "name": "sub_401C18", + "hash": "98c0bbe9a6d3d6c937ecf8291799303c253dc47df799189a07234eb4813b4638" + }, + { + "ea": 4201790, + "size": 318, + "name": "sub_401D3E", + "hash": "1df22eb61e6bf30d24bc3ce9c167ea3bf6e0d05d1fffc7f90cc7608a92435390" + }, + { + "ea": 4202108, + "size": 394, + "name": "sub_401E7C", + "hash": "b469b60a7c2fb21a58882f89041c4e769889fbbb0fc9d14c65b74f97880cc44e" + }, + { + "ea": 4202502, + "size": 108, + "name": "sub_402006", + "hash": "d5a5ce505b454328414fbdd4fb8b35b44e121cbab866020cc76805708b21e5cb" + }, + { + "ea": 4202610, + "size": 172, + "name": "sub_402072", + "hash": "72dca51ea7ce202cd750a8c8be133c52ae0b133631ff2a7f6851b8ece6e4a12b" + }, + { + "ea": 4202782, + "size": 172, + "name": "sub_40211E", + "hash": "1764bb0ea33f8ffd8fdd9fb13a560d10845abdf7e0c8ae9e41ac6c034ac0e16b" + }, + { + "ea": 4202954, + "size": 110, + "name": "sub_4021CA", + "hash": "4e77e1202aa18658dea4cf8760365e14051895515ac20306c5246c05d0b2664f" + }, + { + "ea": 4203064, + "size": 68, + "name": "sub_402238", + "hash": "91172e0586a69a53bbf9bb95199ee1cca1e6f0f99799ef0723939b91ac4d78d3" + }, + { + "ea": 4203132, + "size": 392, + "name": "sub_40227C", + "hash": "8e527c7475069315a337c69ae312338507039a27779ee77008b294fe1fc25124" + }, + { + "ea": 4203524, + "size": 176, + "name": "sub_402404", + "hash": "c8e3dd9fbb44501e613c4d8162b7de9bd507b32585f95b41b013e55da2478b65" + }, + { + "ea": 4203700, + "size": 28, + "name": "sub_4024B4", + "hash": "3e01dfe6b1141b1237cbe0ee9f15b9d863b611075816b784745c5ed21a83665f" + }, + { + "ea": 4203728, + "size": 202, + "name": "sub_4024D0", + "hash": "9c03ce8c1d622a803fa586b4f2b11499c1b87ea1c8f91c5e84a365bf1f93acb0" + }, + { + "ea": 4203930, + "size": 2, + "name": "fp_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4203932, + "size": 20, + "name": "fp_TA_CreateEntryPoint", + "hash": "cf7c235015ec44570147935ff32471f3009f4eb3e780e5659f232c1c2c49f6dc" + }, + { + "ea": 4203952, + "size": 2, + "name": "fp_TA_DestroyEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4203956, + "size": 128, + "name": "fp_TA_InvokeCommandEntryPoint", + "hash": "74261a6bcdbb5b8cce92f13772fffaf5fa1ddd770b3f36e5a4949ee415ce4b06" + }, + { + "ea": 4204084, + "size": 4, + "name": "fp_TA_OpenSessionEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4204088, + "size": 192, + "name": "sub_402638", + "hash": "e859382ccdbe35fced98384a5949f3c3a2ec375aa434575115786c265a70e881" + }, + { + "ea": 4204280, + "size": 90, + "name": "sub_4026F8", + "hash": "9e2e87167eef0ce8d7af8b1c47ea5b224b9b424cf7bfdd9df51a87444d9dfaf6" + }, + { + "ea": 4204370, + "size": 242, + "name": "sub_402752", + "hash": "64eb6ad3f7c9f9828517b0eb0258df2fbf4032a9bab2480359a641dc00680f72" + }, + { + "ea": 4204612, + "size": 246, + "name": "sub_402844", + "hash": "d3aafafc66e35586a93b3896c2b25b32bdd88735dc445cefa2f1e13f3f573839" + }, + { + "ea": 4204858, + "size": 78, + "name": "fp_cmd01", + "hash": "bbe86decfe330bf0c0e8edf4ef293ee9fb9e4de887e09e8307899e341692ad17" + }, + { + "ea": 4204936, + "size": 56, + "name": "fp_cmd06", + "hash": "43c5fe1cd16f5597be48e49f28ce2f061c64b6b02466ff2c23d6839287087711" + }, + { + "ea": 4204992, + "size": 176, + "name": "fp_cmd05", + "hash": "3bf20fbf80010d0a66a3e0c79c04ced7c4e0872a5cbaaaf7c698af6441a1071c" + }, + { + "ea": 4205168, + "size": 104, + "name": "fp_cmd03", + "hash": "7c00fa50707c245a2b86b0a35fc110df5e303fbf54047accbcd2065843a53b25" + }, + { + "ea": 4205272, + "size": 30, + "name": "fp_cmd02", + "hash": "e1dd5c4f2bf2973b50527dda1ec469460294537ea701779fce8efbad31c87779" + }, + { + "ea": 4205302, + "size": 86, + "name": "fp_cmd07", + "hash": "972b0fd9a8f3532470e391c61505e1801b9b643bc27f16eab2b016266199c621" + }, + { + "ea": 4205388, + "size": 138, + "name": "fp_cmd04", + "hash": "22475e56946b5dffe82dd578b8db0a21dbc00b8e636e2ea4e3302277441ef919" + }, + { + "ea": 4205526, + "size": 134, + "name": "sub_402BD6", + "hash": "9ea2ee2e5d69ce50ae16be75c28980730668f4b66b4b1a5a331aad15bd577fda" + }, + { + "ea": 4205660, + "size": 108, + "name": "sub_402C5C", + "hash": "b013b1ce62203199710052cea9dff2a2ffc244bb75b061faa27e6405e3152275" + }, + { + "ea": 4205768, + "size": 182, + "name": "sub_402CC8", + "hash": "2ea2b5c98369645e89c0c82c1f7106c3fc1ddf8d62450267bc8b53c3718ebcab" + }, + { + "ea": 4205952, + "size": 188, + "name": "sub_402D80", + "hash": "a40b62e110cd84f8a58d8efaae9bec67cccbbf84eea0a2edffccfa79bf1df285" + }, + { + "ea": 4206140, + "size": 364, + "name": "sub_402E3C", + "hash": "38c9f5a0e7b1ba1bed30a682a68277f00a0b01d2e4d080f4460868336fe2088f" + }, + { + "ea": 4206504, + "size": 12, + "name": "sub_402FA8", + "hash": "9ba8a27bb1c9703ea0fb65ea7e32b5a9248b049d1b71553827bda3a281524a60" + }, + { + "ea": 4206516, + "size": 10, + "name": "sub_402FB4", + "hash": "fb040b2720f8a75fb7a5fba2e8d47cf24c74b73fc445f12fe49809721a670177" + }, + { + "ea": 4206712, + "size": 60, + "name": "fp_sysdrv_rpc_101D", + "hash": "c8f6f28fe6c7dd1937dfd2d683b64bffc989153f244d64e326d62991184aab05" + }, + { + "ea": 4206772, + "size": 56, + "name": "fp_sysdrv_rpc_101C", + "hash": "2d29f5c16d5fd525ee27467bc8503822b3f3f7f690dc5be300cbd44ac3d130e2" + }, + { + "ea": 4206828, + "size": 50, + "name": "fp_sysdrv_rpc_103B", + "hash": "b0602d4113b82247c807406b752eca6ce4e867c2f49ccad4a5d0774c0ff9b14c" + }, + { + "ea": 4206884, + "size": 48, + "name": "fp_sysdrv_rpc_1", + "hash": "273fdc7d8e2a5abbaad488b9fea793e5c7ec4e5a04dc7aa8cceb37eb7886dc8c" + }, + { + "ea": 4206932, + "size": 48, + "name": "fp_sysdrv_rpc_30", + "hash": "a06e029e1e1df2566e290de573fd050a33704393751e8029aa214aba9a7719e6" + }, + { + "ea": 4206980, + "size": 64, + "name": "fp_sysdrv_rpc_7", + "hash": "4c59cf2a97cd71d731e53b606e308b5153ba423d0e199ba7b74cfce4878eea0a" + }, + { + "ea": 4207044, + "size": 42, + "name": "fp_sysdrv_rpc_5", + "hash": "1435932e8ac9a381d1acffdfb32ffdf59529dc3f1599b0b0e556826bcc806a68" + }, + { + "ea": 4207086, + "size": 32, + "name": "fp_sysdrv_rpc_2", + "hash": "9e9f7d801352d77926b2f9831196588a260d76b65b5f90854833c228d459e23d" + }, + { + "ea": 4207118, + "size": 34, + "name": "fp_sysdrv_rpc_31", + "hash": "6f1f883729d53367b464cc34ddee3f72b213c814ae0e11c5eae4ab3f671da304" + }, + { + "ea": 4207152, + "size": 38, + "name": "fp_sysdrv_rpc_35", + "hash": "1a763b23151c3f8643f2bddd55c70ef18c53e4d1da209bb7a8a82cf0f269edd1" + }, + { + "ea": 4207190, + "size": 48, + "name": "fp_sysdrv_rpc_33", + "hash": "de2262e5fb9a3e9855429736d469940c31f176f70f137739840716a8862ac4cc" + }, + { + "ea": 4207238, + "size": 38, + "name": "fp_sysdrv_rpc_3", + "hash": "c8998d7c9afacf23ec601886f7e92e13174475a95ed96b12c22d1c7ed7970f52" + }, + { + "ea": 4207276, + "size": 22, + "name": "sub_4032AC", + "hash": "c17598fe035d4eb5d3859fe76bf089167e46b90feae1d9a70f7a63beb51950ef" + }, + { + "ea": 4207298, + "size": 64, + "name": "sub_4032C2", + "hash": "f1c1dec85db65b2fd87baafbb1a45152e046d1943db8d33662f164899d122582" + }, + { + "ea": 4207362, + "size": 22, + "name": "sub_403302", + "hash": "137f0289d27a3528ff0747aad2f203f9a86a6c3b44e09721af69eaecb8bc78db" + }, + { + "ea": 4207384, + "size": 24, + "name": "sub_403318", + "hash": "62f61dd32451090644981eb2c8f162c473a178d069355f582aacd2dfbfb48272" + } +]
\ No newline at end of file diff --git a/fw/libdumps/gcp.json b/fw/libdumps/gcp.json new file mode 100644 index 0000000..3eaaaa2 --- /dev/null +++ b/fw/libdumps/gcp.json @@ -0,0 +1,746 @@ +[ + { + "ea": 4194560, + "size": 2016, + "name": "start", + "hash": "795048c2b5ad5d186b6b3ea8b2f253877f8ee5141bfa421d6f1082abf79cec89" + }, + { + "ea": 4198400, + "size": 144, + "name": "sub_401000", + "hash": "846b4491ad3a9a2425729f5ab697a8e17d4f4d7a06e4432e3cb21dd7fa4cbb81" + }, + { + "ea": 4198544, + "size": 48, + "name": "sub_401090", + "hash": "8aaaa5f97d6e11e5f1dfd1f0ab158e4d4ad7e9e3dfed76b72bca89b4d2d60066" + }, + { + "ea": 4198596, + "size": 88, + "name": "sub_4010C4", + "hash": "52b900d8b8c078c6622ad2fdc3aa6595c57c44fee736e2e7adb86f24bbe15d69" + }, + { + "ea": 4198684, + "size": 4, + "name": "sub_40111C", + "hash": "16aa06d99f67d8e2cc926761044d58623efed78d6b0071e5160dbac418c9b41a" + }, + { + "ea": 4198820, + "size": 100, + "name": "sub_4011A4", + "hash": "db5482d69d3ec7167e44b5529a0a40a9b33faf71981df144454e7da44e9360cc" + }, + { + "ea": 4198920, + "size": 68, + "name": "sub_401208", + "hash": "259290c6ec628f49b5e96ab96c2ec07a4c2750f2bb9b9d6cac47330c190c8118" + }, + { + "ea": 4198988, + "size": 78, + "name": "sub_40124C", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4199068, + "size": 392, + "name": "sub_40129C", + "hash": "b56825b48befbc0678f72d65a630d44b1904bdffc30b5d91f4e5f9a946d7a406" + }, + { + "ea": 4199460, + "size": 44, + "name": "sub_401424", + "hash": "3853955a021a13b485fc22bd1b84670e2ff95ae8ad9d74a2d4e2212c0666c93d" + }, + { + "ea": 4199504, + "size": 34, + "name": "sub_401450", + "hash": "836f1b0217fe4f25f7dc98c92a839d561b2dcb7c4143e9c0c2498ff3e89f85bb" + }, + { + "ea": 4199538, + "size": 18, + "name": "sub_401472", + "hash": "5f016438f075aa23d3fc07316a4ac552503bbe2e267a4b8090b4189679c8dcaa" + }, + { + "ea": 4199556, + "size": 18, + "name": "sub_401484", + "hash": "3cf46bff2aaba4c22833b6d11fe9eaf3b965faef9bee986b5292fdd487ed6634" + }, + { + "ea": 4199574, + "size": 82, + "name": "sub_401496", + "hash": "7fca7c43246efe935ead5531c52a8056a741129ba843acfcd4ba13a4b5234053" + }, + { + "ea": 4199656, + "size": 96, + "name": "sub_4014E8", + "hash": "2b02e37bfdaf6917f9f92049688ec789b8f1813c0aa06b53076a78ff1fb979a2" + }, + { + "ea": 4199808, + "size": 10, + "name": "sub_401580", + "hash": "3f07c814dbdcfd26473df43452c69e4b770f0437de75db36cc37796498b9714e" + }, + { + "ea": 4199818, + "size": 32, + "name": "sub_40158A", + "hash": "e53fbaaa91c8c1d619fdf964aa5688811d4bc836d42d8276c82ef40863b0c0a7" + }, + { + "ea": 4199856, + "size": 10, + "name": "sub_4015B0", + "hash": "672a63239992c561e7ed97727a7876ac47e2654d081efb9640920a6a8346c54c" + }, + { + "ea": 4199866, + "size": 16, + "name": "sub_4015BA", + "hash": "852e460a54cc23652953d8c2bdbb7715df1868b604fce3e7c9f9ee34d83e133b" + }, + { + "ea": 4199884, + "size": 182, + "name": "sub_4015CC", + "hash": "5043c19105420e2b86777325676a835ad637535362c1cb1878be7ed4b58194f2" + }, + { + "ea": 4200072, + "size": 108, + "name": "sub_401688", + "hash": "2cd8784313a50c2dce77f010467e226badfea198fab9f3a41e83dfe939da47ad" + }, + { + "ea": 4200264, + "size": 24, + "name": "sub_401748", + "hash": "f6e388c198c32f5a61201235d46f83804b35fb3f7cad11bce078305927d9277f" + }, + { + "ea": 4200394, + "size": 28, + "name": "sub_4017CA", + "hash": "918f1510322ca3035a785bb82e2bc2f5f324db4ad87964c4c580f247342b859e" + }, + { + "ea": 4200456, + "size": 388, + "name": "sub_401808", + "hash": "95017fe0d8ed4e2c89b5f302424002fdd5ae5328b9fc9bc8edec88f06267e370" + }, + { + "ea": 4200848, + "size": 152, + "name": "sub_401990", + "hash": "d83c24bf66dd5e4434ec78f8dfa2d7e87be894ffaf0bc141a979667e7a16a135" + }, + { + "ea": 4201000, + "size": 178, + "name": "sub_401A28", + "hash": "1586a244f85cda2f2172bc99f8b5ab35f4ec238fcf3a968f5c4bc62bfca1ecd4" + }, + { + "ea": 4201178, + "size": 434, + "name": "sub_401ADA", + "hash": "a9c8252cb4f44901fed6cd9513b064377c2e005e6d94c940a4aaaeb76d4fce0a" + }, + { + "ea": 4201612, + "size": 606, + "name": "sub_401C8C", + "hash": "17ee17728d856cb413772c1c4f12d8521ad3c62d8e7ae510cc3c2d8ef47c1460" + }, + { + "ea": 4202220, + "size": 758, + "name": "sub_401EEC", + "hash": "a75696881794fb619c6eeb79e4f1d354cc5ad257687cffb24bf0cce97d0b1b8e" + }, + { + "ea": 4202988, + "size": 20, + "name": "sub_4021EC", + "hash": "32ea0f7a416ece76a2d387c38755737083b8fca1833f679aac109d9a122b1569" + }, + { + "ea": 4203032, + "size": 20, + "name": "sub_402218", + "hash": "78974a434f73381d42d804dc7940c79b3e532fc9e63729c25d45c618fe008a74" + }, + { + "ea": 4203076, + "size": 72, + "name": "sub_402244", + "hash": "a7faaa9b2050fdc0d9c2c07b5dc391f58f364719feccf801a0ca39b1fc4561a4" + }, + { + "ea": 4203148, + "size": 44, + "name": "sub_40228C", + "hash": "d3aec19497c02c5348f9ed7837bcb3510145360bf499ab56669408d524bb4de1" + }, + { + "ea": 4203192, + "size": 10, + "name": "sub_4022B8", + "hash": "a1b8c8fb1fa17c505ccb575ed48c48f6a5fee25b20690c27bab8a0199ad7ac8e" + }, + { + "ea": 4203208, + "size": 4, + "name": "sub_4022C8", + "hash": "06936d0536d64e86c623270163a043c1b484bbc978af8fbf56cd1650cbfb6587" + }, + { + "ea": 4203216, + "size": 112, + "name": "sub_4022D0", + "hash": "3c12ddd2d863babc984d72a52c4e03ba841b00e608ed5b22df35d102c42f220e" + }, + { + "ea": 4203328, + "size": 16, + "name": "sub_402340", + "hash": "33b2ae336f550de0e98744de11fac68f962e98270357b7a28fd39fe8ed96d79a" + }, + { + "ea": 4203344, + "size": 218, + "name": "sub_402350", + "hash": "2b5ce3c68f3d5a08b6b9e6f349512b8541dc8b5536bcacc39efa3fab7222cd47" + }, + { + "ea": 4203568, + "size": 72, + "name": "sub_402430", + "hash": "18cd5c37e872782b79ab2ec6ebe65b0070d83a62cbe40b2c903ae623b91379a7" + }, + { + "ea": 4203760, + "size": 48, + "name": "sub_4024F0", + "hash": "897f4febf19622474628e3d699f62c5cb98ba9be5a9d2d0487fa03a0032604e4" + }, + { + "ea": 4204312, + "size": 130, + "name": "gcp_cmd01_AllocateDRMSession", + "hash": "04370e5446ce6d8948c89026723ff568abf0444e4392818e39ef8f639175e47f" + }, + { + "ea": 4204576, + "size": 50, + "name": "sub_402820", + "hash": "6752914eae96457b021787497e1e1865154ce787839629af638c121fa856ed56" + }, + { + "ea": 4204628, + "size": 30, + "name": "sub_402854", + "hash": "c457fbe280a04e9e9173d8f2b84cd0a9d5f5cfe84ed23f877cf8ba09b9201789" + }, + { + "ea": 4204664, + "size": 132, + "name": "gcp_cmd05_CloseDRMSession", + "hash": "4b0a7f2ba00ce6e7ba8cb377fd33f25a411553198b90fa63f6f9cf116c3187d4" + }, + { + "ea": 4204936, + "size": 364, + "name": "gcp_cmdFE09", + "hash": "167addd622815a8f81d6d70e7193a8c66a3ff700b262b972454dec7fb115f8d1" + }, + { + "ea": 4205300, + "size": 8, + "name": "sub_402AF4", + "hash": "706e04cf81ca6cdd322b9e42dc5b8678931c8ace27012410f56f65a97c6420e7" + }, + { + "ea": 4205432, + "size": 308, + "name": "sub_402B78", + "hash": "905ee4e4d1da86e3002fe51d8c4636672a03ac29fde1c8d287633f0324b35227" + }, + { + "ea": 4205864, + "size": 276, + "name": "sub_402D28", + "hash": "c2bfaf604ae8a7c9dbe0d100c09caacd1cbbe8ced4aa0661c0aa69f036e6fa3c" + }, + { + "ea": 4206228, + "size": 142, + "name": "gcp_cmdFE03_CreateAuthenticatedSession", + "hash": "d97ac65e3712440c78b2580dde76027beee36f67595a66e3992cde05e0ea3bf6" + }, + { + "ea": 4206480, + "size": 144, + "name": "gcp_cmdFE0C_CreateAuthenticatedSession", + "hash": "a0e6e48b94cdbacfa2a31ff3726357a4ef8ab41bde669d565d90ac220739d330" + }, + { + "ea": 4206756, + "size": 106, + "name": "gcp_cmdFE0B_DestroyAuthenticatedSession", + "hash": "e0d9687833c3acea72a36aea61f7da4f2046326d5cf4bb925dff1dd44b79b8a7" + }, + { + "ea": 4206960, + "size": 100, + "name": "gcp_cmdFE0D_DestroyAuthenticatedSession", + "hash": "ba330a2ab9d33ba7f1ed86b12348dade46b3889c5b52105b9ab173ce5ae22592" + }, + { + "ea": 4207140, + "size": 108, + "name": "gcp_sysdrv_rpc_109D", + "hash": "f6ff744f2fc75ce985bec3df58e3d7754a88e2fa60cd4ec3b1d768fa8b2b9391" + }, + { + "ea": 4207248, + "size": 66, + "name": "gcp_sysdrv_rpc_109C", + "hash": "5e16201ddd14ddf0c8a44e45d7fe2ecc9b71bf8b8798a28c5bd55860e94eb9e8" + }, + { + "ea": 4207314, + "size": 2, + "name": "nullsub_1", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4207316, + "size": 124, + "name": "gcp_cmdFE11_FinishKeyRefreshCryptoSession", + "hash": "3f7b6248b479a6652c49ff4f0383f1e244b809b6e8b49edcb4282cbe4f287a71" + }, + { + "ea": 4207556, + "size": 488, + "name": "sub_4033C4", + "hash": "a2ccf7331987c5f5cc25d62aa70aadf655a4e9505b7c04fe1c51bde519dc142f" + }, + { + "ea": 4208064, + "size": 182, + "name": "sub_4035C0", + "hash": "af0128b0a74d28e7e49a58e6273d89b8e46968c4737ffc0915038bba50ab82be" + }, + { + "ea": 4208248, + "size": 72, + "name": "sub_403678", + "hash": "3ebf01ff29cb5fa2ec92201240a89e6d358a5d15f564f4864d2359951821a435" + }, + { + "ea": 4208388, + "size": 332, + "name": "gcp_cmd04_GetContentKey", + "hash": "32799c92b7c2d337d107df478b7f0065d4af72cc2b315ff6e2a57dee79823012" + }, + { + "ea": 4208848, + "size": 106, + "name": "sub_4038D0", + "hash": "6ad1b660cbe7983f3663b39f2f3ee7736e499d21360f55b2b7141e2f5e7dbd8b" + }, + { + "ea": 4209068, + "size": 106, + "name": "sub_4039AC", + "hash": "6667ae849124e839e10c70390730d97183223a5b81c6939df838aad9cc62d8f9" + }, + { + "ea": 4209288, + "size": 82, + "name": "gcp_cmdFE0F_GetCryptoSessionByDecodeHandle", + "hash": "3ddc77c89335c26e96d5553b06204d0657669763fc2be647ac65fe07cdb78b8d" + }, + { + "ea": 4209484, + "size": 370, + "name": "gcp_cmdFE02_GetObfKeyCryptoSession", + "hash": "8164b478a87526d0a42121316d84f874d05aaf5e361a6f7365500d6a15acee77" + }, + { + "ea": 4209980, + "size": 56, + "name": "gcp_sysdrv_rpc_103B", + "hash": "30e46fe19926f56c597a8c873bcb4d4b4f34751b0c2f0000af8c165fb4cd7fe1" + }, + { + "ea": 4210040, + "size": 46, + "name": "sub_403D78", + "hash": "fea2cfc711dcb5429b7cdd2a34911b71c33ee754dba7307952332aa83bd754bd" + }, + { + "ea": 4210088, + "size": 144, + "name": "sub_403DA8", + "hash": "ed4610b3b0eafaa227178e2dd8939073eb495a1c51ddae58f93dc6fd3c29ea9c" + }, + { + "ea": 4210268, + "size": 228, + "name": "sub_403E5C", + "hash": "047b6ac247f805649b75100d02b28070e04b1857a804e5a7bc8352507801a238" + }, + { + "ea": 4210592, + "size": 34, + "name": "sub_403FA0", + "hash": "ffa331c24f53534d493afc3a46e203b9c6cb086dbbbd589ba6bad73e5a12759d" + }, + { + "ea": 4210632, + "size": 274, + "name": "gcp_dispatch", + "hash": "3b1053bd961e21411ac0138feda459189089149d705d92c2fe564b70a19ee446" + }, + { + "ea": 4210912, + "size": 180, + "name": "gcp_cmdFE08_KeyExchangeAuthenticatedSession", + "hash": "e6463ff0d2b29646556d5729650c9e4b5eb8b9a9db2ed562d5ab5ed865edd030" + }, + { + "ea": 4211188, + "size": 176, + "name": "sub_4041F4", + "hash": "5fce3baa032c0722766476a63fa614364f7d7af065a1721b662ef5e347bc9e4a" + }, + { + "ea": 4211492, + "size": 152, + "name": "sub_404324", + "hash": "94fef414b08210c5a2377c812cb2dd3503efd89b414ff490b157fd0eaf375790" + }, + { + "ea": 4211744, + "size": 422, + "name": "gcp_cmdFE0A_QueryAccessibilityAttributes", + "hash": "e83f7c6f51667fa76ecf59ace35c9a6716a1ec4060047f531b5d75f148a5ccce" + }, + { + "ea": 4212288, + "size": 116, + "name": "sub_404640", + "hash": "d9cb95e4d55d477134fd2286685d687ea31688314e51cc2ecd1b59d2cfd9c42d" + }, + { + "ea": 4212524, + "size": 168, + "name": "sub_40472C", + "hash": "18e323d00ec759eac96812d6cf22bf8537556a8d143db4c14d7ca16a3dda2c10" + }, + { + "ea": 4212800, + "size": 226, + "name": "sub_404840", + "hash": "5b9c78f085c3505de76963709b36314c2c81b50640010c8d6731b3dc91ace554" + }, + { + "ea": 4213136, + "size": 134, + "name": "sub_404990", + "hash": "8d63a040dce7a80e577f3f52c673a8c395670f356d4a11b824100e8e3a5842ea" + }, + { + "ea": 4213412, + "size": 188, + "name": "sub_404AA4", + "hash": "1806d37bf1f020e486d486537b201e7355ce06fdb063aeb92c0dab1cf5668080" + }, + { + "ea": 4213668, + "size": 96, + "name": "sub_404BA4", + "hash": "235242e611b3b4e22367bf2d070774a26728240732f892eb8a133bb1af2d9e1b" + }, + { + "ea": 4213844, + "size": 90, + "name": "gcp_cmd02_SendDRMCertificate", + "hash": "1021476897225d21b877f1f1f793374601dbee69dd58664b0eac3cad49330787" + }, + { + "ea": 4214036, + "size": 256, + "name": "sub_404D14", + "hash": "8529d8b2abc81b7d90e121b4ab3be136fa158df0b14d5068dbebe73567cd62b9" + }, + { + "ea": 4214312, + "size": 110, + "name": "gcp_cmdFE10_StartKeyRefreshCryptoSession", + "hash": "ccb48f10bbc90b055c32f5208775c324c7bf885d75169c155b54c98092405f57" + }, + { + "ea": 4214532, + "size": 22, + "name": "gcp_TA_CloseSessionEntryPoint", + "hash": "c52b1017ba341216403a8a5274ac7dcaa1e8a65aab8a8c758652725c5ba1479e" + }, + { + "ea": 4214554, + "size": 4, + "name": "gcp_TA_CreateEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4214558, + "size": 2, + "name": "gcp_TA_DestroyEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4214560, + "size": 44, + "name": "gcp_TA_InvokeCommandEntryPoint", + "hash": "7110a69f463e327f67fa9c4ecb0890bf431017523c40c0048d426140221c3bc0" + }, + { + "ea": 4214608, + "size": 30, + "name": "gcp_TA_OpenSessionEntryPoint", + "hash": "01f0b43fef5139983a8ba0605c4a15de256e97b4d611533532b9cdde05be2e30" + }, + { + "ea": 4214644, + "size": 60, + "name": "gcp_sysdrv_rpc_1", + "hash": "3fa5211365c4da2e825ef7d0a268b03ccda68a266ba3afafcb27a06d0aed07ed" + }, + { + "ea": 4214704, + "size": 50, + "name": "gcp_sysdrv_rpc_30", + "hash": "609fcb759ef495d5507b5928c40f989220dfc4bd4b976280ed898bdef1276295" + }, + { + "ea": 4214754, + "size": 64, + "name": "gcp_sysdrv_rpc_9", + "hash": "922cdbd26d4069e61b85a813edd59c340858568e9b8038a2dbc887a95dcff440" + }, + { + "ea": 4214818, + "size": 50, + "name": "gcp_sysdrv_rpc_7", + "hash": "79f0d4f1ae7b06f6f61760e523da1bb2393ad8bae0fc20e79be29f969d402e98" + }, + { + "ea": 4214868, + "size": 46, + "name": "gcp_sysdrv_rpc_5", + "hash": "dd9438665c0358c350cd0d5ed71ee3cce9cb2ec3aa37ad4d2daf7f092bbbe1f2" + }, + { + "ea": 4214916, + "size": 150, + "name": "sub_405084", + "hash": "921c69eebc3380f20f6dfaf7f6596eaf6c189988a426d9bf2a99b04753dca5bf" + }, + { + "ea": 4215066, + "size": 36, + "name": "sub_40511A", + "hash": "76f4a4c64563188ceca0ce96d088ce0b0582df3ac3de89cf10cf6b0111eb82ac" + }, + { + "ea": 4215102, + "size": 38, + "name": "gcp_sysdrv_rpc_31", + "hash": "6d0f25346cde552d4809f5933bf8234fd353a2ebd6c6fcfe1d70f5870d5d7d67" + }, + { + "ea": 4215140, + "size": 42, + "name": "gcp_sysdrv_rpc_35", + "hash": "1dcfb80836450b0c7ed06b3dfc409df4975926e5ddc12c97f10483b2b73c49a8" + }, + { + "ea": 4215182, + "size": 52, + "name": "gcp_sysdrv_rpc_10", + "hash": "426f2ac9878ad9878d7557107d400053ec2ece9c18572dbbcbd4c9acce5d4a67" + }, + { + "ea": 4215234, + "size": 46, + "name": "gcp_sysdrv_rpc_E", + "hash": "745747c221ebef92d4c407021856c435134635cdfe29fa2a22b1125889027e19" + }, + { + "ea": 4215280, + "size": 88, + "name": "sub_4051F0", + "hash": "1bb503566825881cc788789f2a7023742227deffe248f0829f50a4323099ef94" + }, + { + "ea": 4215372, + "size": 52, + "name": "gcp_sysdrv_rpc_33", + "hash": "972925f404272081f1216f703abb80bf1a44dc91221b018d273d1fbe8e3b4907" + }, + { + "ea": 4215424, + "size": 42, + "name": "gcp_sysdrv_rpc_3", + "hash": "9093efdbd7e5dc8644f6416988bdec7c9460ad4d0d43a9b4efc43956c1675eda" + }, + { + "ea": 4215468, + "size": 128, + "name": "sub_4052AC", + "hash": "d0e3462af1fa2a4f6c2c184436b01d79e3d6330190e573f989442e816e2bcf63" + }, + { + "ea": 4215732, + "size": 28, + "name": "gcp_asd_rpc_108", + "hash": "e0848134dd9bd01f684cc96d888d252e647389b4fce632b5cf6b3e4211f0db75" + }, + { + "ea": 4215760, + "size": 30, + "name": "gcp_asd_rpc_109", + "hash": "a6037670917f9295e3177ddd827b9fa95b2d5a490e598e40dfab89356db1448a" + }, + { + "ea": 4215790, + "size": 28, + "name": "gcp_asd_rpc_107", + "hash": "a9e20b9388460c396c5673395c7ae54f0e2273d279cdfd389db2c9ad7160a4ba" + }, + { + "ea": 4215818, + "size": 30, + "name": "gcp_asd_rpc_304", + "hash": "15372268c30625b85d8a058e722f5f9b58846265c21f3019238ecf0d2fceb4ab" + }, + { + "ea": 4215848, + "size": 30, + "name": "gcp_asd_rpc_305", + "hash": "fe551e1ceecc34d3088beac4c2a78b80264d1bc452873393a7c5dd94ca345117" + }, + { + "ea": 4215878, + "size": 30, + "name": "gcp_asd_rpc_202", + "hash": "8a228c0f91efb562ff200991116bb00de24f456151d8a46a57d39c9f78a0d355" + }, + { + "ea": 4215908, + "size": 30, + "name": "gcp_asd_rpc_200", + "hash": "78b55a6d5b794f6e3717051bf9be810ba755b330765feafdb3a8169316dc8891" + }, + { + "ea": 4215938, + "size": 30, + "name": "gcp_asd_rpc_204", + "hash": "565080f7a97b6b14bf27ee3c0fca8ae79fcc255557080e92b0a1fdbe8ae6ab2e" + }, + { + "ea": 4215968, + "size": 30, + "name": "gcp_asd_rpc_201", + "hash": "10a06412980e790b4d775670c93cf9f0c78b59714ed51ba59e3d98f0a1d8aa2a" + }, + { + "ea": 4215998, + "size": 228, + "name": "sub_4054BE", + "hash": "a446f54e238f46687268376de04d14937c87d3579954501b6b7ff33ba1622415" + }, + { + "ea": 4216226, + "size": 696, + "name": "sub_4055A2", + "hash": "5487ced78e12d5ea5e74f1ed8ea15f8b58d852826ff021f65bcc554732ae9d4b" + }, + { + "ea": 4217050, + "size": 220, + "name": "sub_4058DA", + "hash": "5da1e11f1ffd7a8dfbae9ddc692f2b2e69e690e48cb717c586d5aba85cc046ad" + }, + { + "ea": 4217270, + "size": 42, + "name": "sub_4059B6", + "hash": "eeee582adad29334197751dd2e40716dcb1bd6123e51ba09bb73141af049e083" + }, + { + "ea": 4217312, + "size": 42, + "name": "sub_4059E0", + "hash": "e2ae1a4834fe4226ac9274680874c07ef1d952f8a9f0a3194f50d72756ae361a" + }, + { + "ea": 4217354, + "size": 580, + "name": "sub_405A0A", + "hash": "db876c77ddb08681827d9fb19b88c23c6e83822e527bba0ffa9566f6e9bb2c1b" + }, + { + "ea": 4217936, + "size": 148, + "name": "gcp_entry_trampoline", + "hash": "b1cf532a2394e21e461bf5a531c14053a2bcbc447d21c4c65c627b4141957d54" + }, + { + "ea": 4218120, + "size": 48, + "name": "sub_405D08", + "hash": "bcf5b30812f72c63f3030a9564c2494ef6edb064f8d4b98e417d0315b9d40d1c" + }, + { + "ea": 4218168, + "size": 14, + "name": "sub_405D38", + "hash": "cede31a886c13f00e258cab9ff4597ba5470a85061ef3e7bccb8b794b52ec07b" + }, + { + "ea": 4218184, + "size": 34, + "name": "sub_405D48", + "hash": "f5f3a6617321119e20f40d5ad0224f1b2bbbcae3de4125e4d38c3231d2cdef2b" + }, + { + "ea": 4218228, + "size": 34, + "name": "sub_405D74", + "hash": "d45844c0f7553166dc500b284d191dd6aa94371318eeb64182f971237693bec4" + }, + { + "ea": 4256386, + "size": 2, + "name": "nullsub_3", + "hash": "7b0ab17208b4f6ab43828edfafcbd2caffeae9d1396aecb438011ea02266951d" + } +]
\ No newline at end of file diff --git a/fw/libdumps/merit.json b/fw/libdumps/merit.json new file mode 100644 index 0000000..2a0e138 --- /dev/null +++ b/fw/libdumps/merit.json @@ -0,0 +1,212 @@ +[ + { + "ea": 4198400, + "size": 88, + "name": "sub_401000", + "hash": "52b900d8b8c078c6622ad2fdc3aa6595c57c44fee736e2e7adb86f24bbe15d69" + }, + { + "ea": 4198488, + "size": 4, + "name": "sub_401058", + "hash": "16aa06d99f67d8e2cc926761044d58623efed78d6b0071e5160dbac418c9b41a" + }, + { + "ea": 4198624, + "size": 68, + "name": "sub_4010E0", + "hash": "259290c6ec628f49b5e96ab96c2ec07a4c2750f2bb9b9d6cac47330c190c8118" + }, + { + "ea": 4198692, + "size": 78, + "name": "sub_401124", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4199076, + "size": 148, + "name": "sub_4012A4", + "hash": "7c52098392b5a5df9b26ea5ba19056fb3415ed809e14d57aceb8900b744bc464" + }, + { + "ea": 4199224, + "size": 248, + "name": "sub_401338", + "hash": "903a293825122168283e8022058f96ec42b5bfce6d1a49ebd8b063fbc4ad66a7" + }, + { + "ea": 4199484, + "size": 152, + "name": "sub_40143C", + "hash": "e402f4700bbc657cd2acac0111569f04a58e67ecd8bc174c88f92d37a6f0ce28" + }, + { + "ea": 4200704, + "size": 44, + "name": "merit_cmd01", + "hash": "7eea919f9a71d02b1516df397a7386c4e8c892896be0282bb6ef52fe3a43a5a2" + }, + { + "ea": 4200752, + "size": 44, + "name": "merit_cmd06", + "hash": "80dc91d82df0e9696d1a033878a705e172554a7b55751f0418a80c9ad05b60f9" + }, + { + "ea": 4200796, + "size": 186, + "name": "merit_cmd04", + "hash": "a5f7b078db4cc7e3ed5a1b8eabe9d2aeb17d16051c4b4ebdc54c849ab121532a" + }, + { + "ea": 4200984, + "size": 120, + "name": "merit_cmd02", + "hash": "faf766490f02b0382fb4f710829c85a3b53a9cfa54a420430ffb3642266e5ba3" + }, + { + "ea": 4201104, + "size": 326, + "name": "merit_cmd05", + "hash": "47747db179ac15cc94e3b8ab0a63869567b6e55c85ac7e1703c42c53bf5ea6b1" + }, + { + "ea": 4201448, + "size": 208, + "name": "merit_cmd03", + "hash": "8bb73694a465055c94e33fe81e0cdeac02236e37d3fb153c8c290e141bd367d1" + }, + { + "ea": 4201676, + "size": 2, + "name": "merit_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4201680, + "size": 16, + "name": "merit_TA_CreateEntryPoint", + "hash": "3ba917f51a42417ffeddb580038e374f78fc55276d5b2d0ab836cbee70b63fb5" + }, + { + "ea": 4201700, + "size": 2, + "name": "merit_TA_DestroyEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4201704, + "size": 130, + "name": "merit_TA_InvokeCommandEntryPoint", + "hash": "19351ac996acae9087c013514140f31ce919c3bd215340865772d0a9252061f1" + }, + { + "ea": 4201840, + "size": 4, + "name": "merit_TA_OpenSessionEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4201844, + "size": 60, + "name": "merit_sysdrv_rpc_1", + "hash": "a1a4a7462ac2ded098c4b6466522fffbcb665ecca935f969fd61ac67ba95b083" + }, + { + "ea": 4201904, + "size": 50, + "name": "merit_sysdrv_rpc_30", + "hash": "e29be85ea6ec6252be1c29a3f60a45fe6c57283c9d7c26590e4569c098ff0282" + }, + { + "ea": 4201954, + "size": 64, + "name": "merit_sysdrv_rpc_9", + "hash": "922cdbd26d4069e61b85a813edd59c340858568e9b8038a2dbc887a95dcff440" + }, + { + "ea": 4202018, + "size": 36, + "name": "sub_401E22", + "hash": "f73552dab3e9d971104977b2baa5d312aae3aab4776bf1c118fc6f9e2f7ae1c7" + }, + { + "ea": 4202054, + "size": 38, + "name": "merit_sysdrv_rpc_31", + "hash": "06081cdbeb352a8ce2e941cb8e2398f87379e233011c4849da22dc7a9d36942c" + }, + { + "ea": 4202092, + "size": 42, + "name": "merit_sysdrv_rpc_35", + "hash": "2c258f8f823218c5fcaea0d8a544aa50d08a73d6512372bc5d5177c256a2c50a" + }, + { + "ea": 4202134, + "size": 52, + "name": "merit_sysdrv_rpc_10", + "hash": "426f2ac9878ad9878d7557107d400053ec2ece9c18572dbbcbd4c9acce5d4a67" + }, + { + "ea": 4202186, + "size": 46, + "name": "merit_sysdrv_rpc_E", + "hash": "0ee98142a53769154d6f776f59d2b701ca7733f8ceaa0a5c3e3ee6b81b530027" + }, + { + "ea": 4202232, + "size": 52, + "name": "merit_sysdrv_rpc_33", + "hash": "add2782dfdfe0173d2fa0e3b957f205a9334627a82f332f21cd5934acb03092a" + }, + { + "ea": 4202284, + "size": 42, + "name": "merit_sysdrv_rpc_3", + "hash": "88a5f37ed81d206a7d55651a3c3baa14b45bd280a49632780c755ea2d40454eb" + }, + { + "ea": 4202326, + "size": 30, + "name": "merit_asd_rpc_200", + "hash": "78b55a6d5b794f6e3717051bf9be810ba755b330765feafdb3a8169316dc8891" + }, + { + "ea": 4202356, + "size": 30, + "name": "merit_asd_rpc_201", + "hash": "10a06412980e790b4d775670c93cf9f0c78b59714ed51ba59e3d98f0a1d8aa2a" + }, + { + "ea": 4202388, + "size": 148, + "name": "merit_entry_trampoline", + "hash": "b1cf532a2394e21e461bf5a531c14053a2bcbc447d21c4c65c627b4141957d54" + }, + { + "ea": 4235662, + "size": 30, + "name": "sub_40A18E", + "hash": "a570954195f2aeb77f5958903a427c9facc3ee7ce3a735a093dd099659c0800c" + }, + { + "ea": 4245002, + "size": 36, + "name": "sub_40C60A", + "hash": "c41c81ae24cfca6dae6664fbaae0193dc2c21a8ac8a63882c1d77a27ea916d30" + }, + { + "ea": 4245806, + "size": 16, + "name": "sub_40C92E", + "hash": "35b35e77a517fdee1d80bcad7cf5a2a4c01b20611132dcee3424774ffa9f76a9" + }, + { + "ea": 4253758, + "size": 2, + "name": "nullsub_3", + "hash": "abd49ec8111be1f55319f91a44d26daaf5abd7567c169a61abf6c0b031d4b31c" + } +]
\ No newline at end of file diff --git a/fw/libdumps/oc.json b/fw/libdumps/oc.json new file mode 100644 index 0000000..bfeca47 --- /dev/null +++ b/fw/libdumps/oc.json @@ -0,0 +1,182 @@ +[ + { + "ea": 4194560, + "size": 1840, + "name": "start", + "hash": "03627823444dcbb7c0fa2289116f66f02d9dcba9ed214eb2c25519d232bb18d3" + }, + { + "ea": 4198400, + "size": 4, + "name": "sub_401000", + "hash": "16aa06d99f67d8e2cc926761044d58623efed78d6b0071e5160dbac418c9b41a" + }, + { + "ea": 4198536, + "size": 68, + "name": "sub_401088", + "hash": "259290c6ec628f49b5e96ab96c2ec07a4c2750f2bb9b9d6cac47330c190c8118" + }, + { + "ea": 4198604, + "size": 78, + "name": "sub_4010CC", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4198784, + "size": 30, + "name": "sub_401180", + "hash": "c457fbe280a04e9e9173d8f2b84cd0a9d5f5cfe84ed23f877cf8ba09b9201789" + }, + { + "ea": 4198820, + "size": 26, + "name": "sub_4011A4", + "hash": "78920d3a6edd87515d1efa2378564fb69b197461418107a8a3ad1ff9066a611f" + }, + { + "ea": 4198846, + "size": 46, + "name": "oc_sysdrv_rpc_3158", + "hash": "c8f3a0511a12126965c1bd878aea86587fd317c584a27d36f9316bef5332b6ac" + }, + { + "ea": 4198892, + "size": 58, + "name": "sub_4011EC", + "hash": "b951119a279d01d1a57b58ddd40a1c42465fa1f804b8f7a621a35b4ca0052c7d" + }, + { + "ea": 4198950, + "size": 44, + "name": "oc_sysdrv_rpc_109B", + "hash": "fa172ac73ddf1027324315caa74ee42aa4006425a797371e05668eed3badb4cf" + }, + { + "ea": 4198994, + "size": 46, + "name": "sub_401252", + "hash": "0739cf0812058bb0cc418ef424e093e289558295e5b2c8f4818f29122f859cc3" + }, + { + "ea": 4199040, + "size": 182, + "name": "sub_401280", + "hash": "d661902a8c2593f81e8f40cb55226c0b80c2aa24cc879708e7ad09fa1fdc1b23" + }, + { + "ea": 4199336, + "size": 2, + "name": "oc_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4199338, + "size": 4, + "name": "oc_TA_CreateEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4199342, + "size": 2, + "name": "oc_TA_DestroyEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4199344, + "size": 92, + "name": "oc_TA_InvokeCommandEntryPoint", + "hash": "03c09e221e8f820a470f642a5ca8838920b6f93d9a67287ed0085876f19f2495" + }, + { + "ea": 4199440, + "size": 4, + "name": "oc_TA_OpenSessionEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4199444, + "size": 60, + "name": "oc_sysdrv_rpc_1", + "hash": "0ef2a2928cbeaced6801bbe745c97ff6ebe33b35446f20c2ffe19a64d17fd212" + }, + { + "ea": 4199504, + "size": 50, + "name": "oc_sysdrv_rpc_30", + "hash": "52cd099cb103a30e99f45ccc3327359703ae5d0258af0584697cf1b1158025e4" + }, + { + "ea": 4199554, + "size": 38, + "name": "sub_401482", + "hash": "37fa8abcec890c5f0b825b9d4843f0f044298b42eb4312ea08f537c11e696916" + }, + { + "ea": 4199592, + "size": 36, + "name": "sub_4014A8", + "hash": "c8d26b54b70173b582b00db4a4cce6b70decfd3b1eb87bc0eb6acf5010152a8b" + }, + { + "ea": 4199628, + "size": 38, + "name": "oc_sysdrv_rpc_31", + "hash": "a424508fb5ddec852a5c7d10552f93fd786b8b4f9a40a3a82154a01c3c95ec29" + }, + { + "ea": 4199666, + "size": 42, + "name": "oc_sysdrv_rpc_35", + "hash": "548a225648e636960d7fa76c59e750745a264a02e4a4a12942fb8f1be5efd151" + }, + { + "ea": 4199708, + "size": 52, + "name": "oc_sysdrv_rpc_10", + "hash": "426f2ac9878ad9878d7557107d400053ec2ece9c18572dbbcbd4c9acce5d4a67" + }, + { + "ea": 4199760, + "size": 46, + "name": "oc_sysdrv_rpc_E", + "hash": "871f50f82f4df4a4b7494d6cbbbc27499886feeda5230b8365792fd58c7c0606" + }, + { + "ea": 4199808, + "size": 88, + "name": "sub_401580", + "hash": "7fd932d90148e92602b5712604d8e20cd1d5ecef271d7579035e0b4a9192e879" + }, + { + "ea": 4199900, + "size": 52, + "name": "oc_sysdrv_rpc_33", + "hash": "82972087baf4deab2e886c2a460358e7eb8f8a2a877221d2fed256e5d9c1330d" + }, + { + "ea": 4199952, + "size": 42, + "name": "oc_sysdrv_rpc_3", + "hash": "29c918efd7e635cf7bf208dbe6d5097228e14faf71cb6447095413f65b2cbdf5" + }, + { + "ea": 4199996, + "size": 276, + "name": "sub_40163C", + "hash": "561e57d0adbe972c4ca76a123bf61b9aac3cd99cc1346225f2e06f65fa52ce40" + }, + { + "ea": 4200272, + "size": 22, + "name": "oc_cmd02", + "hash": "66242e6b5cc9cf021b1795928ed338e99635bf139d9c99f7b718bfc73720bd3b" + }, + { + "ea": 4200296, + "size": 178, + "name": "oc_cmd01", + "hash": "39e93f395a97004775f94d3e94a32822bca38484e555cf31f3e20c3be23987b0" + } +]
\ No newline at end of file diff --git a/fw/libdumps/opm.json b/fw/libdumps/opm.json new file mode 100644 index 0000000..bd65adc --- /dev/null +++ b/fw/libdumps/opm.json @@ -0,0 +1,290 @@ +[ + { + "ea": 4194560, + "size": 1832, + "name": "start", + "hash": "69ee386db660de6fc416f3a46cb58265e1b3641fed51c124abd94d4c5c273328" + }, + { + "ea": 4198400, + "size": 88, + "name": "sub_401000", + "hash": "52b900d8b8c078c6622ad2fdc3aa6595c57c44fee736e2e7adb86f24bbe15d69" + }, + { + "ea": 4198488, + "size": 4, + "name": "sub_401058", + "hash": "16aa06d99f67d8e2cc926761044d58623efed78d6b0071e5160dbac418c9b41a" + }, + { + "ea": 4198624, + "size": 100, + "name": "sub_4010E0", + "hash": "db5482d69d3ec7167e44b5529a0a40a9b33faf71981df144454e7da44e9360cc" + }, + { + "ea": 4198724, + "size": 68, + "name": "sub_401144", + "hash": "259290c6ec628f49b5e96ab96c2ec07a4c2750f2bb9b9d6cac47330c190c8118" + }, + { + "ea": 4198792, + "size": 78, + "name": "sub_401188", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4199104, + "size": 1030, + "name": "opm_asd301_path", + "hash": "f29fde9b90a4afbb2650fda039926c8ca7ca5f950a7a3db1f15b956b9bd51ee1" + }, + { + "ea": 4200194, + "size": 96, + "name": "sub_401702", + "hash": "d5b2c3ff7aee19322e926a82a0ce84f032b11419b2acdb575465f28e2bf56766" + }, + { + "ea": 4200296, + "size": 108, + "name": "opm_cmd09", + "hash": "d5c8357716e3a83f2b06a4a633f0158ea1de0338068fdc67e720ea788ac43c25" + }, + { + "ea": 4200412, + "size": 194, + "name": "opm_cmd03", + "hash": "7892df5d20f09a47aad66d2f761703bcc626cc3acc6d63fccd62ab59bb560b44" + }, + { + "ea": 4200720, + "size": 1126, + "name": "sub_401910", + "hash": "5f158ada9748bdd505e57bb1c2eb3bb45e589cb41f8ab654eb523e37614135f2" + }, + { + "ea": 4201940, + "size": 158, + "name": "sub_401DD4", + "hash": "8fa7e4f896947dbd7849591e42684140d708d7c53d487c53fbbb17c0bd16c127" + }, + { + "ea": 4202104, + "size": 218, + "name": "sub_401E78", + "hash": "89223a49bed2ed08e87039a3eeae12f6a1646c1b2ae60841933172820e6ccaaa" + }, + { + "ea": 4202328, + "size": 508, + "name": "sub_401F58", + "hash": "a966456d4cde134a51e4ed004626bc54e22a352a3716bd4518c0ea89407a8da3" + }, + { + "ea": 4202852, + "size": 98, + "name": "sub_402164", + "hash": "61a8e5baa6b9df6d958841fea89fb2857bc025b2c910a6cebcc335d2e1193bd6" + }, + { + "ea": 4202956, + "size": 226, + "name": "sub_4021CC", + "hash": "45abd9eb9d4c59d9f0cce36f3260e8ca59b013aba822dfd975ac1360e1bca5ea" + }, + { + "ea": 4203188, + "size": 72, + "name": "opm_cmd04", + "hash": "e087cf6410e76c204e09e4248d660f8f3dcfe26b2f8ed5d77025499360d3cd41" + }, + { + "ea": 4203264, + "size": 222, + "name": "sub_402300", + "hash": "c2a51fafe97677c9488272dbbf1c6cc26ebbd29f01f8125aeb69ae950f86f5dc" + }, + { + "ea": 4203500, + "size": 1290, + "name": "sub_4023EC", + "hash": "48b3faf0561c68648c0e17cf83b053f0c2688808a5bc678a2efadf04f17d8e15" + }, + { + "ea": 4205012, + "size": 26, + "name": "sub_4029D4", + "hash": "b39f29a7afe93fb889164e4983815af44bd491184f01f81f84c5f1d7c691ac96" + }, + { + "ea": 4205040, + "size": 182, + "name": "opm_cmd05", + "hash": "30897fbd0286afb1d957f2052324621cbd4e4957d94eaa91629769c50c4378d9" + }, + { + "ea": 4205232, + "size": 2, + "name": "opm_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4205236, + "size": 38, + "name": "opm_TA_CreateEntryPoint", + "hash": "5a2515fbfcd772f7dcdb1235bfa676deb1bce8780850593d420e2c481ee67e92" + }, + { + "ea": 4205280, + "size": 2, + "name": "opm_TA_DestroyEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4205284, + "size": 184, + "name": "opm_TA_InvokeCommandEntryPoint", + "hash": "1ea9be9305d3594828ed2916053c7735ee482f8687cd07440696eb2e58663c73" + }, + { + "ea": 4205480, + "size": 4, + "name": "opm_TA_OpenSessionEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4205484, + "size": 60, + "name": "opm_sysdrv_rpc_1", + "hash": "19fc80dc3d05013040bff2f660569154e0cb28b77168332963c6fc9ebc9be1e3" + }, + { + "ea": 4205544, + "size": 50, + "name": "opm_sysdrv_rpc_30", + "hash": "142d8cbcd209a58bc67775a01ed4ca0cde5524abbe253ebb092a9eb1f48ae26d" + }, + { + "ea": 4205594, + "size": 64, + "name": "opm_sysdrv_rpc_9", + "hash": "922cdbd26d4069e61b85a813edd59c340858568e9b8038a2dbc887a95dcff440" + }, + { + "ea": 4205658, + "size": 36, + "name": "sub_402C5A", + "hash": "0e2bd28a884bed83e7ea6c6ba40bc9ac2c4b4c1356e9ab724d1c26259469ff18" + }, + { + "ea": 4205694, + "size": 38, + "name": "opm_sysdrv_rpc_31", + "hash": "653be36a711f4b57615e19a09a7adac4855f94e8a4c67930112d9d993f856eab" + }, + { + "ea": 4205732, + "size": 42, + "name": "opm_sysdrv_rpc_35", + "hash": "a440ee009b44a43be17915fa769f5c1b862939d81a8542a5f62f87f025b64b4a" + }, + { + "ea": 4205774, + "size": 52, + "name": "opm_sysdrv_rpc_10", + "hash": "426f2ac9878ad9878d7557107d400053ec2ece9c18572dbbcbd4c9acce5d4a67" + }, + { + "ea": 4205826, + "size": 46, + "name": "opm_sysdrv_rpc_E", + "hash": "54ff1480508d0aa342b176dbc5a7043b8acace7378b3b001e649c457778d0c72" + }, + { + "ea": 4205872, + "size": 52, + "name": "opm_sysdrv_rpc_33", + "hash": "2ad66c5019bfc64d1614c17008147bbd894dd7e8da26749a3940c70712eef705" + }, + { + "ea": 4205924, + "size": 42, + "name": "opm_sysdrv_rpc_3", + "hash": "6c31cf4214a284e40830dc487d519a880c748e3ed94768971999c14f9bd9dd50" + }, + { + "ea": 4205966, + "size": 28, + "name": "opm_asd_rpc_105", + "hash": "f63c4eab092a69c55cb18845270e45509355c8cd95750a074d220c525cefb369" + }, + { + "ea": 4205994, + "size": 28, + "name": "opm_asd_rpc_102", + "hash": "d69f6ab157f1153d1481bdbed13f78cace1d85e6f61212930f837e010151f3de" + }, + { + "ea": 4206022, + "size": 28, + "name": "opm_asd_rpc_107", + "hash": "a9e20b9388460c396c5673395c7ae54f0e2273d279cdfd389db2c9ad7160a4ba" + }, + { + "ea": 4206050, + "size": 34, + "name": "opm_asd_rpc_161", + "hash": "9d5a0c811559ed02accbba70112f1b7558cad9d993c1c91b9ea2ccfe3fd1e295" + }, + { + "ea": 4206084, + "size": 30, + "name": "opm_asd_rpc_304", + "hash": "98a9ade357ba2bc902524c32ccfb782cc61cd62749e43deb5004edbdf72d22d1" + }, + { + "ea": 4206114, + "size": 30, + "name": "opm_asd_rpc_305", + "hash": "fe551e1ceecc34d3088beac4c2a78b80264d1bc452873393a7c5dd94ca345117" + }, + { + "ea": 4206144, + "size": 30, + "name": "opm_asd_rpc_300", + "hash": "e3761142ccbab14dd49b0f71745921aab7609a67e4414f2012e51d936dde26cc" + }, + { + "ea": 4206174, + "size": 30, + "name": "opm_asd_rpc_301", + "hash": "5e8fa8557132b74aa032d2767c0a84aa77442e17acff37394f6e99820fbaff26" + }, + { + "ea": 4206204, + "size": 30, + "name": "opm_asd_rpc_200", + "hash": "78b55a6d5b794f6e3717051bf9be810ba755b330765feafdb3a8169316dc8891" + }, + { + "ea": 4206234, + "size": 30, + "name": "opm_asd_rpc_201", + "hash": "10a06412980e790b4d775670c93cf9f0c78b59714ed51ba59e3d98f0a1d8aa2a" + }, + { + "ea": 4206264, + "size": 148, + "name": "opm_entry_trampoline", + "hash": "b1cf532a2394e21e461bf5a531c14053a2bcbc447d21c4c65c627b4141957d54" + }, + { + "ea": 4222160, + "size": 8, + "name": "sub_406CD0", + "hash": "848fc1daae77402f90d83d99367c8eaeeec3644486d774c2a3f5197cf8968e00" + } +]
\ No newline at end of file diff --git a/fw/libdumps/powerplay.json b/fw/libdumps/powerplay.json new file mode 100644 index 0000000..3482fb5 --- /dev/null +++ b/fw/libdumps/powerplay.json @@ -0,0 +1,638 @@ +[ + { + "ea": 4194560, + "size": 1836, + "name": "start", + "hash": "e091aac11a6cb6a79610679847f7289a4a4298549b4d35b5b1f07c740e06e62b" + }, + { + "ea": 4198400, + "size": 144, + "name": "sub_401000", + "hash": "5ab3a36eba3b3212aed4ca306d66dad31151348b4f42807638e464eb26a52c68" + }, + { + "ea": 4198544, + "size": 48, + "name": "sub_401090", + "hash": "dbddfec1f567d689316a6f955aca9b19113e01bb016cbce6340ed986397afe5f" + }, + { + "ea": 4198596, + "size": 4, + "name": "sub_4010C4", + "hash": "16aa06d99f67d8e2cc926761044d58623efed78d6b0071e5160dbac418c9b41a" + }, + { + "ea": 4198732, + "size": 78, + "name": "sub_40114C", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4198812, + "size": 392, + "name": "sub_40119C", + "hash": "b56825b48befbc0678f72d65a630d44b1904bdffc30b5d91f4e5f9a946d7a406" + }, + { + "ea": 4199204, + "size": 44, + "name": "sub_401324", + "hash": "3853955a021a13b485fc22bd1b84670e2ff95ae8ad9d74a2d4e2212c0666c93d" + }, + { + "ea": 4199248, + "size": 34, + "name": "sub_401350", + "hash": "836f1b0217fe4f25f7dc98c92a839d561b2dcb7c4143e9c0c2498ff3e89f85bb" + }, + { + "ea": 4199282, + "size": 18, + "name": "sub_401372", + "hash": "5f016438f075aa23d3fc07316a4ac552503bbe2e267a4b8090b4189679c8dcaa" + }, + { + "ea": 4199300, + "size": 18, + "name": "sub_401384", + "hash": "3cf46bff2aaba4c22833b6d11fe9eaf3b965faef9bee986b5292fdd487ed6634" + }, + { + "ea": 4199318, + "size": 82, + "name": "sub_401396", + "hash": "7fca7c43246efe935ead5531c52a8056a741129ba843acfcd4ba13a4b5234053" + }, + { + "ea": 4199400, + "size": 96, + "name": "sub_4013E8", + "hash": "77b70240d6537c583ff30448c816927920e25c9506a57f53870fa6ccb8f6a926" + }, + { + "ea": 4199552, + "size": 10, + "name": "sub_401480", + "hash": "3f07c814dbdcfd26473df43452c69e4b770f0437de75db36cc37796498b9714e" + }, + { + "ea": 4199562, + "size": 32, + "name": "sub_40148A", + "hash": "e53fbaaa91c8c1d619fdf964aa5688811d4bc836d42d8276c82ef40863b0c0a7" + }, + { + "ea": 4199600, + "size": 10, + "name": "sub_4014B0", + "hash": "672a63239992c561e7ed97727a7876ac47e2654d081efb9640920a6a8346c54c" + }, + { + "ea": 4199610, + "size": 16, + "name": "sub_4014BA", + "hash": "852e460a54cc23652953d8c2bdbb7715df1868b604fce3e7c9f9ee34d83e133b" + }, + { + "ea": 4199628, + "size": 182, + "name": "sub_4014CC", + "hash": "e8ec7dc2a51fd0a77239826c894e2548209c2246910b219017edc6f8ce3527a1" + }, + { + "ea": 4199816, + "size": 108, + "name": "sub_401588", + "hash": "5cafa94c9b7143c299e8a75f9369c9485c0a7fc859b507677ac89cf3433a9370" + }, + { + "ea": 4200008, + "size": 24, + "name": "sub_401648", + "hash": "f6e388c198c32f5a61201235d46f83804b35fb3f7cad11bce078305927d9277f" + }, + { + "ea": 4200138, + "size": 28, + "name": "sub_4016CA", + "hash": "918f1510322ca3035a785bb82e2bc2f5f324db4ad87964c4c580f247342b859e" + }, + { + "ea": 4200200, + "size": 388, + "name": "sub_401708", + "hash": "43ad0ffdd3f27f8584858512e2c84b449800257f3d1cccb49938fd19d58bc068" + }, + { + "ea": 4200692, + "size": 152, + "name": "sub_4018F4", + "hash": "d83c24bf66dd5e4434ec78f8dfa2d7e87be894ffaf0bc141a979667e7a16a135" + }, + { + "ea": 4200844, + "size": 178, + "name": "sub_40198C", + "hash": "c2be825f2f1415933eb09391f314ba57ddb96eb8a5cd86a8fd385a1904f95bd8" + }, + { + "ea": 4201022, + "size": 434, + "name": "sub_401A3E", + "hash": "31d0ea2c5071795459cf917941d5aa81d68e3cfb1f8bbe4b6ac33bbddf6b5c5e" + }, + { + "ea": 4201456, + "size": 606, + "name": "sub_401BF0", + "hash": "588578861752251cf55848e0660b8be4cb1db39eccb8990e23542648d7223915" + }, + { + "ea": 4202064, + "size": 758, + "name": "sub_401E50", + "hash": "abedefbeeda0bea1fab5a19723bc5698e3b38dd8bac14fc535b0dab1f40848e9" + }, + { + "ea": 4202832, + "size": 20, + "name": "sub_402150", + "hash": "24979c85aee02f2ab1fb7929b3e5bc857b0c826be235290ca60bf60e6b24a266" + }, + { + "ea": 4202876, + "size": 20, + "name": "sub_40217C", + "hash": "c0b7ee18110f3ca2275af45160a04719c1c1125e7db80504aafd6715f6d37522" + }, + { + "ea": 4202920, + "size": 72, + "name": "sub_4021A8", + "hash": "a7faaa9b2050fdc0d9c2c07b5dc391f58f364719feccf801a0ca39b1fc4561a4" + }, + { + "ea": 4202992, + "size": 44, + "name": "sub_4021F0", + "hash": "d3aec19497c02c5348f9ed7837bcb3510145360bf499ab56669408d524bb4de1" + }, + { + "ea": 4203036, + "size": 10, + "name": "sub_40221C", + "hash": "a1b8c8fb1fa17c505ccb575ed48c48f6a5fee25b20690c27bab8a0199ad7ac8e" + }, + { + "ea": 4203052, + "size": 4, + "name": "sub_40222C", + "hash": "06936d0536d64e86c623270163a043c1b484bbc978af8fbf56cd1650cbfb6587" + }, + { + "ea": 4203060, + "size": 112, + "name": "sub_402234", + "hash": "b1a18d118c239da05431d51eb8f3b399653f94e5e2345a34bad2bdf17a36505b" + }, + { + "ea": 4203172, + "size": 16, + "name": "sub_4022A4", + "hash": "33b2ae336f550de0e98744de11fac68f962e98270357b7a28fd39fe8ed96d79a" + }, + { + "ea": 4203188, + "size": 218, + "name": "sub_4022B4", + "hash": "a5e353b1660301bcee3ff09126c6d0cefa49d24eaa3cb31b2b4cf9085b6679a3" + }, + { + "ea": 4203412, + "size": 72, + "name": "sub_402394", + "hash": "18cd5c37e872782b79ab2ec6ebe65b0070d83a62cbe40b2c903ae623b91379a7" + }, + { + "ea": 4203604, + "size": 48, + "name": "sub_402454", + "hash": "897f4febf19622474628e3d699f62c5cb98ba9be5a9d2d0487fa03a0032604e4" + }, + { + "ea": 4203656, + "size": 30, + "name": "sub_402488", + "hash": "c457fbe280a04e9e9173d8f2b84cd0a9d5f5cfe84ed23f877cf8ba09b9201789" + }, + { + "ea": 4203692, + "size": 54, + "name": "powerplay_sysdrv_rpc_6003", + "hash": "6401fc521168e81373deb8291174ab6932e0953483f932a19012372162563770" + }, + { + "ea": 4203746, + "size": 52, + "name": "powerplay_sysdrv_rpc_109A", + "hash": "1ed91389f57d753c86d48ca8cb7cead143f5cba7f0d2e5102efb4ed1a727db48" + }, + { + "ea": 4203798, + "size": 44, + "name": "powerplay_sysdrv_rpc_6001", + "hash": "4b3efccc998ccd2eeb604c627167ed1e605da209a115248bf68da116325efdd3" + }, + { + "ea": 4203842, + "size": 44, + "name": "powerplay_sysdrv_rpc_6002", + "hash": "0a844539f3b722652c207e56360490b91fc30d411f7e535396373802c9756fb6" + }, + { + "ea": 4203886, + "size": 2, + "name": "powerplay_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4203888, + "size": 206, + "name": "powerplay_TA_CreateEntryPoint", + "hash": "465c89bb755f767fb445be3f9e3f1e41544bf93e540a86d6c0a2ebbfa409e247" + }, + { + "ea": 4204300, + "size": 14, + "name": "powerplay_TA_DestroyEntryPoint", + "hash": "a17a23de469097aad0072476541a40b541bef7d7b516cf630fa02b1d366d0e1e" + }, + { + "ea": 4204316, + "size": 160, + "name": "powerplay_TA_InvokeCommandEntryPoint", + "hash": "11fc913d1f5199e004bfea903ba9da0a201c9b613d354cf3f5b5bf3d0e969b97" + }, + { + "ea": 4204512, + "size": 4, + "name": "powerplay_TA_OpenSessionEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4204516, + "size": 112, + "name": "sub_4027E4", + "hash": "03d8eb05d7b20fa66b0b6caf20bdef06ac14ef4f3e2713966e5bb4221556da3c" + }, + { + "ea": 4204632, + "size": 46, + "name": "sub_402858", + "hash": "7358999164ba8a3f906ceb85dc65462e1f4017327e94cfd7ba94eabb16bf0bd0" + }, + { + "ea": 4204678, + "size": 38, + "name": "powerplay_sysdrv_rpc_41", + "hash": "cf3768071b4c3d2371e3d0177c3171d28ea83435badf15cff5f8130ad028dca8" + }, + { + "ea": 4204716, + "size": 12, + "name": "sub_4028AC", + "hash": "fcea1eee338ff888a8e17e0b2d5867b3f0a0d65baea0c5c80ace787b94930402" + }, + { + "ea": 4204728, + "size": 12, + "name": "powerplay_cmd06", + "hash": "2bbc7043c139d90d591104f8a381261a29ee725d409d83374c218b40fc9a0185" + }, + { + "ea": 4204740, + "size": 12, + "name": "powerplay_cmd00", + "hash": "28460ce6a9ce8bb7467fab31708b42eed16d9882ff9684b30260b49eb1b1a899" + }, + { + "ea": 4204752, + "size": 12, + "name": "powerplay_cmd05", + "hash": "99a0e7e19f20ef55fa8b29c91c0b0dadf4a597cfb5e0dd336bb8b7e5b2796fa2" + }, + { + "ea": 4204764, + "size": 12, + "name": "powerplay_cmd02", + "hash": "4ea2f75768a65c237437478bbd745126a5b64867f1f6363829c70d8713fa9001" + }, + { + "ea": 4204784, + "size": 776, + "name": "sub_4028F0", + "hash": "9a590304432974ece893f17e96006db2afed2ed8175c4b17a0fee1f5584f5416" + }, + { + "ea": 4205604, + "size": 764, + "name": "sub_402C24", + "hash": "17bb145ae53696115dfde36d67125d5d5d7bc06487d58682c3e7a8cbd26017e1" + }, + { + "ea": 4206412, + "size": 726, + "name": "sub_402F4C", + "hash": "86ad6030d44b2cae11da3987ff321f3f6e7c443ca8fde5ed4412e764d6aeee8c" + }, + { + "ea": 4207172, + "size": 162, + "name": "sub_403244", + "hash": "00f6d227a7cb5dae89f1d7d63fed7c4ddead7b4deffbd282e80375acac500676" + }, + { + "ea": 4207340, + "size": 698, + "name": "sub_4032EC", + "hash": "71e18dc1fa7b62ed2afaa454b7e7d5e011d915270aee8aedf8bfd85c768325d1" + }, + { + "ea": 4208064, + "size": 692, + "name": "sub_4035C0", + "hash": "87b57370a323fce430ac63d57019fc4b3b62b1ce8061935a611945d6d2c7fade" + }, + { + "ea": 4208808, + "size": 570, + "name": "sub_4038A8", + "hash": "1c9a55013ae121a6c90fb0697d086032060b6c895e0e8770196b9b9b26b70236" + }, + { + "ea": 4209456, + "size": 642, + "name": "sub_403B30", + "hash": "7fbf29de09725a3189a6a11d2848b99333f557bdd36109404437d594bbf7d3d9" + }, + { + "ea": 4210100, + "size": 132, + "name": "sub_403DB4", + "hash": "870757c15741231eb5a6709894194a478f049f7f9fd9f4cb9b8ddec0ee20aa68" + }, + { + "ea": 4210232, + "size": 132, + "name": "sub_403E38", + "hash": "c79b598a81e82d6240a4555365ca31b8670ef6769dea43225400ccfcb5207706" + }, + { + "ea": 4210372, + "size": 444, + "name": "sub_403EC4", + "hash": "1e761f280af1647dc7da1eda7268d655c730d19413aebde2cfe968097da05435" + }, + { + "ea": 4210828, + "size": 692, + "name": "sub_40408C", + "hash": "1f55b3ede54e127ae17eba39ced8dfd7b872b4ddfc4ccfbd15b6528d0a3b8682" + }, + { + "ea": 4211540, + "size": 144, + "name": "sub_404354", + "hash": "c0da8dc4f0364387bb01dd73aec6952b97bd57635b702fe312a8594cc4f17103" + }, + { + "ea": 4211692, + "size": 580, + "name": "sub_4043EC", + "hash": "8ed00ee468057dcaf3bf5d3e4e2f499cd0f7b8dda56f1689f87ddea10e41c6de" + }, + { + "ea": 4212276, + "size": 134, + "name": "sub_404634", + "hash": "dfa8ec4e221fc8d9613757f8c6fb02d3c544df6709208faac0970067135ba6fb" + }, + { + "ea": 4212420, + "size": 670, + "name": "sub_4046C4", + "hash": "b9497c54a18bc59de5da59b5863cf7e84fcd267782f2fc6c37bfce2ca8ffc927" + }, + { + "ea": 4213132, + "size": 664, + "name": "sub_40498C", + "hash": "84d248211fbaf4265f787ed9a99ec58e3b51a3fb018b4db5ccf855e7e37a870f" + }, + { + "ea": 4213844, + "size": 528, + "name": "sub_404C54", + "hash": "f3b7aeec7d03a3e0e8fb83b6ff071fb7c602408319c392b8147e804f3c38a03c" + }, + { + "ea": 4214500, + "size": 646, + "name": "sub_404EE4", + "hash": "7c66d5b99f95c3f07d03c5cdcf4650c9600016a4d13d1fb67c3b22e371d9e54b" + }, + { + "ea": 4215148, + "size": 116, + "name": "sub_40516C", + "hash": "478b561d0ae77ed57859afdfe5b3542b33aa9ba4a2e71a79d2c8b7b98efa544b" + }, + { + "ea": 4215268, + "size": 132, + "name": "sub_4051E4", + "hash": "c79b598a81e82d6240a4555365ca31b8670ef6769dea43225400ccfcb5207706" + }, + { + "ea": 4215408, + "size": 372, + "name": "sub_405270", + "hash": "d1971294871e87d69b1dc8f206b75783bed1bf479e4c5bbbf3f17f419fe07ce6" + }, + { + "ea": 4215784, + "size": 590, + "name": "sub_4053E8", + "hash": "b9345bd9d542cdf497e461085731ae26089fe6e7b5d8f6f637b0626b6de7d868" + }, + { + "ea": 4216400, + "size": 162, + "name": "sub_405650", + "hash": "6c467982d4d19886cda5a9916a136d971b3e2284aa208215e0148adffad2011e" + }, + { + "ea": 4216572, + "size": 576, + "name": "sub_4056FC", + "hash": "f12723608677d81b69e4f6c14f6a580109e7a964e45f80ba35a0bba5faa293d3" + }, + { + "ea": 4217156, + "size": 106, + "name": "sub_405944", + "hash": "05867d190eb0baed47549e3f7434bf444a650e2209fb63648f18cbab6cdb0f63" + }, + { + "ea": 4217268, + "size": 528, + "name": "sub_4059B4", + "hash": "2d7bfab0d29095b994ea32640c8dcca223e23bbab68a80b7c9a946192f5752b8" + }, + { + "ea": 4217864, + "size": 84, + "name": "sub_405C08", + "hash": "6f3ca48ff7711e7b25b256b6532f7e13738f54044cf969698798042f52856781" + }, + { + "ea": 4217952, + "size": 106, + "name": "sub_405C60", + "hash": "5e75ed3445f895cc820b0f45c10d731f49e566160b1ac625066efa065d62adf0" + }, + { + "ea": 4218068, + "size": 528, + "name": "sub_405CD4", + "hash": "d611afc6d2e8abdf9814df00111d77ba2692c9e7b8b228d6ef6c3a945ad49494" + }, + { + "ea": 4218664, + "size": 84, + "name": "sub_405F28", + "hash": "9dfc7c559de9f381d4febe98d76e86bdabf234bec29d4d50d852afb0c5990073" + }, + { + "ea": 4218752, + "size": 106, + "name": "sub_405F80", + "hash": "4b3a7f37c6a3c0bbfbc8245b1c2644d2bed76440ab5c3deff0b362edc8a77e1c" + }, + { + "ea": 4218868, + "size": 834, + "name": "sub_405FF4", + "hash": "a461af20f72b6e9e3994978e033f85b2c4985e77afd38e45d386a26ef036baec" + }, + { + "ea": 4219768, + "size": 84, + "name": "sub_406378", + "hash": "8cf9d5bcb96a13ff9c420b69d12101408bfa2ad3023c71a39d5ca48529a93271" + }, + { + "ea": 4219856, + "size": 12, + "name": "powerplay_cmd04", + "hash": "fc182ff1fac04ad07ae94692a144730a2e4bc806c3f323e855a619485010af6e" + }, + { + "ea": 4219868, + "size": 12, + "name": "powerplay_cmd03", + "hash": "da91b8a714c75f0cd1781950f2fee1ae1da3edf4ce7b874323945eb5dae4a23c" + }, + { + "ea": 4219888, + "size": 36, + "name": "sub_4063F0", + "hash": "cf0dcdd9d1fe14057012807c673127de9a4240f870e7f1ae8c58d978e6632003" + }, + { + "ea": 4219924, + "size": 228, + "name": "sub_406414", + "hash": "a446f54e238f46687268376de04d14937c87d3579954501b6b7ff33ba1622415" + }, + { + "ea": 4220152, + "size": 696, + "name": "sub_4064F8", + "hash": "5487ced78e12d5ea5e74f1ed8ea15f8b58d852826ff021f65bcc554732ae9d4b" + }, + { + "ea": 4220976, + "size": 220, + "name": "sub_406830", + "hash": "5da1e11f1ffd7a8dfbae9ddc692f2b2e69e690e48cb717c586d5aba85cc046ad" + }, + { + "ea": 4221196, + "size": 42, + "name": "sub_40690C", + "hash": "eeee582adad29334197751dd2e40716dcb1bd6123e51ba09bb73141af049e083" + }, + { + "ea": 4221238, + "size": 42, + "name": "sub_406936", + "hash": "e2ae1a4834fe4226ac9274680874c07ef1d952f8a9f0a3194f50d72756ae361a" + }, + { + "ea": 4221280, + "size": 580, + "name": "sub_406960", + "hash": "db876c77ddb08681827d9fb19b88c23c6e83822e527bba0ffa9566f6e9bb2c1b" + }, + { + "ea": 4221860, + "size": 148, + "name": "powerplay_entry_trampoline", + "hash": "b1cf532a2394e21e461bf5a531c14053a2bcbc447d21c4c65c627b4141957d54" + }, + { + "ea": 4222044, + "size": 48, + "name": "sub_406C5C", + "hash": "bcf5b30812f72c63f3030a9564c2494ef6edb064f8d4b98e417d0315b9d40d1c" + }, + { + "ea": 4222092, + "size": 14, + "name": "sub_406C8C", + "hash": "cede31a886c13f00e258cab9ff4597ba5470a85061ef3e7bccb8b794b52ec07b" + }, + { + "ea": 4222106, + "size": 72, + "name": "powerplay_asd_rpc_404", + "hash": "edf210a64264be75d91276ad66ab5ea45e4e39fdca0aab8a1931864e9d00f577" + }, + { + "ea": 4222178, + "size": 54, + "name": "powerplay_asd_rpc_403", + "hash": "9a7295e0cdf5151fd8fe87390825b92dcb8f850fcc2ef9fc70aaacce288ba0c5" + }, + { + "ea": 4222232, + "size": 32, + "name": "sub_406D18", + "hash": "753081808ac8892388b78b15b06dc020d54a201eea2887356f43cb52f0fbaec9" + }, + { + "ea": 4222264, + "size": 34, + "name": "sub_406D38", + "hash": "57642ad1b3e551782e5291ea0856ef6b76c655921893d53e1a522a3a7985620a" + }, + { + "ea": 4222308, + "size": 34, + "name": "sub_406D64", + "hash": "9be4bcf21a708a995d413a8c3234bafb81e26d148943ef16839640298a70634d" + } +]
\ No newline at end of file diff --git a/fw/libdumps/rap.json b/fw/libdumps/rap.json new file mode 100644 index 0000000..6fd1824 --- /dev/null +++ b/fw/libdumps/rap.json @@ -0,0 +1,80 @@ +[ + { + "ea": 4194560, + "size": 3918, + "name": "start", + "hash": "ed2420ee57f360a80c022eb7605442adff2b82a1524f4f52c4ca6b782fd6a1fc" + }, + { + "ea": 4198478, + "size": 50, + "name": "rap_sysdrv_rpc_1077", + "hash": "93d89d76c4259560eea2eb89d7a3857dea941a3fc27c728fb4f1f111d93f285a" + }, + { + "ea": 4198528, + "size": 44, + "name": "rap_sysdrv_rpc_107B", + "hash": "750a8a155c80a7be176b729797bd34835b14e497f23caf0231f2fa6fa2a0198a" + }, + { + "ea": 4198572, + "size": 44, + "name": "rap_sysdrv_rpc_1076", + "hash": "a33670dfb9d16d32d5c55b4c52f0a20b01e36d3ffbb43da958f51881f6117fb2" + }, + { + "ea": 4198616, + "size": 2, + "name": "rap_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4198618, + "size": 4, + "name": "rap_TA_CreateEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4198622, + "size": 4, + "name": "rap_TA_DestroyEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4198628, + "size": 72, + "name": "rap_TA_InvokeCommandEntryPoint", + "hash": "9e41173408844d5866f246d8723ff2aeb2554788c44a05b66edb2808b4abb47e" + }, + { + "ea": 4198704, + "size": 4, + "name": "rap_TA_OpenSessionEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4198708, + "size": 510, + "name": "rap_dispatch", + "hash": "f6ce9a3301d5ab7799909018b4e7faba5afbd711fe6663683bdb7e2ab3e5697c" + }, + { + "ea": 4199232, + "size": 430, + "name": "sub_401340", + "hash": "db77a002147b6fd415f29be78cc8fdf943d2bad411c7cbd5ccc868bf39d698ed" + }, + { + "ea": 4199872, + "size": 68, + "name": "sub_4015C0", + "hash": "e73f4645af08ae494c8505238b26adcb22b83f7e2e70ebc48113fd1319ba0435" + }, + { + "ea": 4199948, + "size": 232, + "name": "rap_cmd02", + "hash": "bac7ba1d0714ab8f15b9afd91b03f2995810fe630c8f6a0a83562f8c5eeb2d55" + } +]
\ No newline at end of file diff --git a/fw/libdumps/tmz.json b/fw/libdumps/tmz.json new file mode 100644 index 0000000..66ad74f --- /dev/null +++ b/fw/libdumps/tmz.json @@ -0,0 +1,38 @@ +[ + { + "ea": 4194560, + "size": 1832, + "name": "start", + "hash": "c4c40366362e826b96762cadf7a92fb1c8848c353be777b0e0fef3fcaae36c09" + }, + { + "ea": 4198584, + "size": 2, + "name": "tmz_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4198586, + "size": 4, + "name": "tmz_TA_CreateEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4198590, + "size": 2, + "name": "tmz_TA_DestroyEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4198592, + "size": 4, + "name": "tmz_TA_InvokeCommandEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4198596, + "size": 4, + "name": "tmz_TA_OpenSessionEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + } +]
\ No newline at end of file diff --git a/fw/libdumps/wspe.json b/fw/libdumps/wspe.json new file mode 100644 index 0000000..f3606c4 --- /dev/null +++ b/fw/libdumps/wspe.json @@ -0,0 +1,344 @@ +[ + { + "ea": 4198400, + "size": 144, + "name": "sub_401000", + "hash": "5a21f0efa577d45ef593e1377c755b9e75fdc595bb66f3fe63923c523a166676" + }, + { + "ea": 4198544, + "size": 48, + "name": "sub_401090", + "hash": "d985aa65fad9f97c8fae62831980f98050236abe5dab2ca823a44cf638408b25" + }, + { + "ea": 4198596, + "size": 78, + "name": "sub_4010C4", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4198674, + "size": 44, + "name": "sub_401112", + "hash": "3853955a021a13b485fc22bd1b84670e2ff95ae8ad9d74a2d4e2212c0666c93d" + }, + { + "ea": 4198718, + "size": 34, + "name": "sub_40113E", + "hash": "836f1b0217fe4f25f7dc98c92a839d561b2dcb7c4143e9c0c2498ff3e89f85bb" + }, + { + "ea": 4198752, + "size": 18, + "name": "sub_401160", + "hash": "5f016438f075aa23d3fc07316a4ac552503bbe2e267a4b8090b4189679c8dcaa" + }, + { + "ea": 4198770, + "size": 18, + "name": "sub_401172", + "hash": "3cf46bff2aaba4c22833b6d11fe9eaf3b965faef9bee986b5292fdd487ed6634" + }, + { + "ea": 4198788, + "size": 82, + "name": "sub_401184", + "hash": "7fca7c43246efe935ead5531c52a8056a741129ba843acfcd4ba13a4b5234053" + }, + { + "ea": 4198872, + "size": 96, + "name": "sub_4011D8", + "hash": "e4cd8bbc1b336ff3be36594417bf80952a402341a139c50c2ba8c576d2cf7b2d" + }, + { + "ea": 4199024, + "size": 10, + "name": "sub_401270", + "hash": "3f07c814dbdcfd26473df43452c69e4b770f0437de75db36cc37796498b9714e" + }, + { + "ea": 4199034, + "size": 32, + "name": "sub_40127A", + "hash": "e53fbaaa91c8c1d619fdf964aa5688811d4bc836d42d8276c82ef40863b0c0a7" + }, + { + "ea": 4199072, + "size": 10, + "name": "sub_4012A0", + "hash": "672a63239992c561e7ed97727a7876ac47e2654d081efb9640920a6a8346c54c" + }, + { + "ea": 4199082, + "size": 16, + "name": "sub_4012AA", + "hash": "852e460a54cc23652953d8c2bdbb7715df1868b604fce3e7c9f9ee34d83e133b" + }, + { + "ea": 4199100, + "size": 182, + "name": "sub_4012BC", + "hash": "6e8fb1dbdb600e22db6a6efa7e8a56e056e7cb496378f416743769c6553d5585" + }, + { + "ea": 4199288, + "size": 108, + "name": "sub_401378", + "hash": "2cd8784313a50c2dce77f010467e226badfea198fab9f3a41e83dfe939da47ad" + }, + { + "ea": 4199480, + "size": 24, + "name": "sub_401438", + "hash": "e6824d52a285d8817fd261bb9470689c0540196624006bc3f55f6abc796c6a49" + }, + { + "ea": 4199610, + "size": 28, + "name": "sub_4014BA", + "hash": "1bc4925367c80cc9fb19db3b575332e1bb924329a6086f7ea07aa48eb1395880" + }, + { + "ea": 4199672, + "size": 388, + "name": "sub_4014F8", + "hash": "532bc9d6ddcddb1e191e0b9b9f57aa3252fa0e77ccd76d3662e38eaf8a60747e" + }, + { + "ea": 4200064, + "size": 152, + "name": "sub_401680", + "hash": "d83c24bf66dd5e4434ec78f8dfa2d7e87be894ffaf0bc141a979667e7a16a135" + }, + { + "ea": 4200216, + "size": 178, + "name": "sub_401718", + "hash": "366a1cebd6f1e481f5d77fc1def8b3d27f74055d3f55cc0ab56e23e3f979657b" + }, + { + "ea": 4200394, + "size": 434, + "name": "sub_4017CA", + "hash": "341ef0d61d2712aa4b4a221fd4183fb0de380e0d690c329077ba52de2bb21c8f" + }, + { + "ea": 4200828, + "size": 606, + "name": "sub_40197C", + "hash": "ed273118d5c311006e4b233bbc292cd2be97d0983243b02e2df6dc30af2764e5" + }, + { + "ea": 4201436, + "size": 758, + "name": "sub_401BDC", + "hash": "bbda50c694155d759dc7ece6fa839266a390f148505fa9787e61111698081fdd" + }, + { + "ea": 4202204, + "size": 20, + "name": "sub_401EDC", + "hash": "71f661028497c818aac050aa228c6f9e92d753b82d91e2604d145a70676a6f89" + }, + { + "ea": 4202248, + "size": 20, + "name": "sub_401F08", + "hash": "78974a434f73381d42d804dc7940c79b3e532fc9e63729c25d45c618fe008a74" + }, + { + "ea": 4202292, + "size": 72, + "name": "sub_401F34", + "hash": "a7faaa9b2050fdc0d9c2c07b5dc391f58f364719feccf801a0ca39b1fc4561a4" + }, + { + "ea": 4202364, + "size": 44, + "name": "sub_401F7C", + "hash": "d3aec19497c02c5348f9ed7837bcb3510145360bf499ab56669408d524bb4de1" + }, + { + "ea": 4202408, + "size": 10, + "name": "sub_401FA8", + "hash": "a1b8c8fb1fa17c505ccb575ed48c48f6a5fee25b20690c27bab8a0199ad7ac8e" + }, + { + "ea": 4202424, + "size": 4, + "name": "sub_401FB8", + "hash": "06936d0536d64e86c623270163a043c1b484bbc978af8fbf56cd1650cbfb6587" + }, + { + "ea": 4202432, + "size": 112, + "name": "sub_401FC0", + "hash": "8680f995484160494ff3f5e6c7dade75cd60ae86bea8c00e6c43087a6512a9f9" + }, + { + "ea": 4202544, + "size": 16, + "name": "sub_402030", + "hash": "33b2ae336f550de0e98744de11fac68f962e98270357b7a28fd39fe8ed96d79a" + }, + { + "ea": 4202560, + "size": 218, + "name": "sub_402040", + "hash": "1eca1764617db098e9ccedb910bfb233b5a1b28ffb213663b4714ad133ded758" + }, + { + "ea": 4202784, + "size": 392, + "name": "sub_402120", + "hash": "b56825b48befbc0678f72d65a630d44b1904bdffc30b5d91f4e5f9a946d7a406" + }, + { + "ea": 4203176, + "size": 240, + "name": "sub_4022A8", + "hash": "d732abeab845b0dd330615e1c6446eb3f6981c68939c5963986de14c2b1efa9c" + }, + { + "ea": 4203420, + "size": 38, + "name": "sub_40239C", + "hash": "a742cb170e76eb1f78f24f0b88925b1ff4e7af75f2938be7f72c5c6776b628f2" + }, + { + "ea": 4203464, + "size": 32, + "name": "wspe_cmd04_request_dopp_active", + "hash": "294ed7409c88f883159120b67f6bc1b8a2e8260d7f8f80abdaed0f60ce2288ed" + }, + { + "ea": 4203496, + "size": 22, + "name": "wspe_cmd05_request_active_protected_session", + "hash": "75fd87e9cdcc43979ef3be8e138d74b8e52b5fab50e717a62cfab5260b7fbe66" + }, + { + "ea": 4203524, + "size": 2, + "name": "wspe_TA_CloseSessionEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4203526, + "size": 4, + "name": "wspe_TA_CreateEntryPoint", + "hash": "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4" + }, + { + "ea": 4203530, + "size": 2, + "name": "wspe_TA_DestroyEntryPoint", + "hash": "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8" + }, + { + "ea": 4203532, + "size": 114, + "name": "wspe_TA_InvokeCommandEntryPoint", + "hash": "1ddd29a048cc6b1ff04c0163eb9e989b281b29fd1d61c6e511229142712018d5" + }, + { + "ea": 4203788, + "size": 18, + "name": "wspe_TA_OpenSessionEntryPoint", + "hash": "7872c36632aefd0d693f9962f189da5d3de06ed86a7ea94aec3435bea3ce5a25" + }, + { + "ea": 4203832, + "size": 112, + "name": "sub_402538", + "hash": "482ad605337dc75dcbba5bae533a2a55585d9cff2add7e8bdba26ffe41ff7a36" + }, + { + "ea": 4203948, + "size": 10, + "name": "sub_4025AC", + "hash": "d88cb4a94fb28d08e0dd51c0911fcfe3c5d613c63c095f008ea5c1c5aa7d563b" + }, + { + "ea": 4203964, + "size": 30, + "name": "wspe_asd_rpc_306", + "hash": "67a0a3405240b72c6235c21f21cc530d6cd931708776296cb78a46bba54ae143" + }, + { + "ea": 4203994, + "size": 30, + "name": "wspe_asd_rpc_305", + "hash": "fe551e1ceecc34d3088beac4c2a78b80264d1bc452873393a7c5dd94ca345117" + }, + { + "ea": 4204024, + "size": 228, + "name": "sub_4025F8", + "hash": "a446f54e238f46687268376de04d14937c87d3579954501b6b7ff33ba1622415" + }, + { + "ea": 4204252, + "size": 696, + "name": "sub_4026DC", + "hash": "5487ced78e12d5ea5e74f1ed8ea15f8b58d852826ff021f65bcc554732ae9d4b" + }, + { + "ea": 4205076, + "size": 220, + "name": "sub_402A14", + "hash": "5da1e11f1ffd7a8dfbae9ddc692f2b2e69e690e48cb717c586d5aba85cc046ad" + }, + { + "ea": 4205296, + "size": 42, + "name": "sub_402AF0", + "hash": "eeee582adad29334197751dd2e40716dcb1bd6123e51ba09bb73141af049e083" + }, + { + "ea": 4205338, + "size": 42, + "name": "sub_402B1A", + "hash": "e2ae1a4834fe4226ac9274680874c07ef1d952f8a9f0a3194f50d72756ae361a" + }, + { + "ea": 4205380, + "size": 580, + "name": "sub_402B44", + "hash": "db876c77ddb08681827d9fb19b88c23c6e83822e527bba0ffa9566f6e9bb2c1b" + }, + { + "ea": 4205960, + "size": 148, + "name": "wspe_entry_trampoline", + "hash": "b1cf532a2394e21e461bf5a531c14053a2bcbc447d21c4c65c627b4141957d54" + }, + { + "ea": 4206144, + "size": 48, + "name": "sub_402E40", + "hash": "bcf5b30812f72c63f3030a9564c2494ef6edb064f8d4b98e417d0315b9d40d1c" + }, + { + "ea": 4206192, + "size": 14, + "name": "sub_402E70", + "hash": "cede31a886c13f00e258cab9ff4597ba5470a85061ef3e7bccb8b794b52ec07b" + }, + { + "ea": 4206208, + "size": 34, + "name": "sub_402E80", + "hash": "cbb70871a34209a75c95fb086edb300c59b7075ec4438859d9dfffc8965cf9f2" + }, + { + "ea": 4206252, + "size": 34, + "name": "sub_402EAC", + "hash": "e79020adc4257108eb39154542924ea7239448c0812787a6913c64e68de97435" + } +]
\ No newline at end of file diff --git a/fw/libdumps/xgmi.json b/fw/libdumps/xgmi.json new file mode 100644 index 0000000..155b68b --- /dev/null +++ b/fw/libdumps/xgmi.json @@ -0,0 +1,560 @@ +[ + { + "ea": 4194560, + "size": 1830, + "name": "start", + "hash": "9aa85d670ba81efc739b0ffe68d53efb10c29c865c9db2a6b19b5b869b2e2a51" + }, + { + "ea": 4198400, + "size": 144, + "name": "sub_401000", + "hash": "c784eeaa106d4c2ccd72dce499fb1ea6b271592eefce987c70212b230d47017f" + }, + { + "ea": 4198544, + "size": 48, + "name": "sub_401090", + "hash": "45eba454dd5b353515b4bf69edb644df7f9a6482e440cf542225d5dd511b1f40" + }, + { + "ea": 4198596, + "size": 236, + "name": "sub_4010C4", + "hash": "a68ca2a564e3a538aacccc9d6f715b6b658607b006a786da985f3acd12812c8d" + }, + { + "ea": 4198832, + "size": 78, + "name": "sub_4011B0", + "hash": "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9" + }, + { + "ea": 4198910, + "size": 44, + "name": "sub_4011FE", + "hash": "3853955a021a13b485fc22bd1b84670e2ff95ae8ad9d74a2d4e2212c0666c93d" + }, + { + "ea": 4198954, + "size": 34, + "name": "sub_40122A", + "hash": "836f1b0217fe4f25f7dc98c92a839d561b2dcb7c4143e9c0c2498ff3e89f85bb" + }, + { + "ea": 4198988, + "size": 18, + "name": "sub_40124C", + "hash": "5f016438f075aa23d3fc07316a4ac552503bbe2e267a4b8090b4189679c8dcaa" + }, + { + "ea": 4199006, + "size": 18, + "name": "sub_40125E", + "hash": "3cf46bff2aaba4c22833b6d11fe9eaf3b965faef9bee986b5292fdd487ed6634" + }, + { + "ea": 4199024, + "size": 82, + "name": "sub_401270", + "hash": "7fca7c43246efe935ead5531c52a8056a741129ba843acfcd4ba13a4b5234053" + }, + { + "ea": 4199108, + "size": 96, + "name": "sub_4012C4", + "hash": "e4cd8bbc1b336ff3be36594417bf80952a402341a139c50c2ba8c576d2cf7b2d" + }, + { + "ea": 4199260, + "size": 10, + "name": "sub_40135C", + "hash": "3f07c814dbdcfd26473df43452c69e4b770f0437de75db36cc37796498b9714e" + }, + { + "ea": 4199270, + "size": 32, + "name": "sub_401366", + "hash": "e53fbaaa91c8c1d619fdf964aa5688811d4bc836d42d8276c82ef40863b0c0a7" + }, + { + "ea": 4199308, + "size": 10, + "name": "sub_40138C", + "hash": "672a63239992c561e7ed97727a7876ac47e2654d081efb9640920a6a8346c54c" + }, + { + "ea": 4199318, + "size": 16, + "name": "sub_401396", + "hash": "852e460a54cc23652953d8c2bdbb7715df1868b604fce3e7c9f9ee34d83e133b" + }, + { + "ea": 4199336, + "size": 182, + "name": "sub_4013A8", + "hash": "6e8fb1dbdb600e22db6a6efa7e8a56e056e7cb496378f416743769c6553d5585" + }, + { + "ea": 4199524, + "size": 108, + "name": "sub_401464", + "hash": "2cd8784313a50c2dce77f010467e226badfea198fab9f3a41e83dfe939da47ad" + }, + { + "ea": 4199716, + "size": 24, + "name": "sub_401524", + "hash": "e6824d52a285d8817fd261bb9470689c0540196624006bc3f55f6abc796c6a49" + }, + { + "ea": 4199846, + "size": 28, + "name": "sub_4015A6", + "hash": "1bc4925367c80cc9fb19db3b575332e1bb924329a6086f7ea07aa48eb1395880" + }, + { + "ea": 4199908, + "size": 388, + "name": "sub_4015E4", + "hash": "d5a46a938e11362552c8c26af17cdac4056a39340fa2cf4d31728ac3c9c6f437" + }, + { + "ea": 4200300, + "size": 152, + "name": "sub_40176C", + "hash": "d83c24bf66dd5e4434ec78f8dfa2d7e87be894ffaf0bc141a979667e7a16a135" + }, + { + "ea": 4200452, + "size": 178, + "name": "sub_401804", + "hash": "366a1cebd6f1e481f5d77fc1def8b3d27f74055d3f55cc0ab56e23e3f979657b" + }, + { + "ea": 4200630, + "size": 434, + "name": "sub_4018B6", + "hash": "2f6aaa9c4dd425e9bababfdc4f85749154c2b6b7e04b085dee7fbe740cebf6be" + }, + { + "ea": 4201064, + "size": 606, + "name": "sub_401A68", + "hash": "48bf03bbe283fab777412eef2347b9afee6d65716c6d9793c97103ef252b9a23" + }, + { + "ea": 4201672, + "size": 758, + "name": "sub_401CC8", + "hash": "6fb04c92b0956dee0db36202b57ca397da04ba02845c3fc0775424ede9940ed9" + }, + { + "ea": 4202440, + "size": 20, + "name": "sub_401FC8", + "hash": "71f661028497c818aac050aa228c6f9e92d753b82d91e2604d145a70676a6f89" + }, + { + "ea": 4202484, + "size": 20, + "name": "sub_401FF4", + "hash": "78974a434f73381d42d804dc7940c79b3e532fc9e63729c25d45c618fe008a74" + }, + { + "ea": 4202528, + "size": 72, + "name": "sub_402020", + "hash": "a7faaa9b2050fdc0d9c2c07b5dc391f58f364719feccf801a0ca39b1fc4561a4" + }, + { + "ea": 4202600, + "size": 44, + "name": "sub_402068", + "hash": "d3aec19497c02c5348f9ed7837bcb3510145360bf499ab56669408d524bb4de1" + }, + { + "ea": 4202644, + "size": 10, + "name": "sub_402094", + "hash": "a1b8c8fb1fa17c505ccb575ed48c48f6a5fee25b20690c27bab8a0199ad7ac8e" + }, + { + "ea": 4202660, + "size": 4, + "name": "sub_4020A4", + "hash": "06936d0536d64e86c623270163a043c1b484bbc978af8fbf56cd1650cbfb6587" + }, + { + "ea": 4202668, + "size": 112, + "name": "sub_4020AC", + "hash": "8680f995484160494ff3f5e6c7dade75cd60ae86bea8c00e6c43087a6512a9f9" + }, + { + "ea": 4202780, + "size": 16, + "name": "sub_40211C", + "hash": "33b2ae336f550de0e98744de11fac68f962e98270357b7a28fd39fe8ed96d79a" + }, + { + "ea": 4202796, + "size": 218, + "name": "sub_40212C", + "hash": "96063e3c8bb11cd57784832979d25715afc7bad0569ca6d7884c2e333e5de88a" + }, + { + "ea": 4203020, + "size": 392, + "name": "sub_40220C", + "hash": "b56825b48befbc0678f72d65a630d44b1904bdffc30b5d91f4e5f9a946d7a406" + }, + { + "ea": 4203412, + "size": 240, + "name": "sub_402394", + "hash": "d732abeab845b0dd330615e1c6446eb3f6981c68939c5963986de14c2b1efa9c" + }, + { + "ea": 4203656, + "size": 240, + "name": "sub_402488", + "hash": "24c0888aeaae2e3f6c6db8ddbae5cf44c99c207a7f708fba008883c6a616d8c8" + }, + { + "ea": 4203920, + "size": 148, + "name": "sub_402590", + "hash": "29a39c7d53d56e5bd97c0a35875198b440855e340b5525ecae8ffc7133e56b40" + }, + { + "ea": 4204124, + "size": 228, + "name": "sub_40265C", + "hash": "0d943f1f9a14746b7104ab0881c8fdc2154ec080f4d4954021cf9dd7681d7254" + }, + { + "ea": 4204352, + "size": 262, + "name": "sub_402740", + "hash": "aedaceb492e91589f2fcd1d118055bee3ce137f364e02045bee7226146b2e748" + }, + { + "ea": 4204614, + "size": 70, + "name": "sub_402846", + "hash": "900da4aadfb640db87a511db18e33c5c07ccf0be1c531045885e30dfd115578f" + }, + { + "ea": 4204944, + "size": 10, + "name": "xgmi_TA_CloseSessionEntryPoint", + "hash": "05bf64ddd7ea57ef8fa41e9afe892c829177a6ad07049bb1e780e574ad3a130e" + }, + { + "ea": 4204954, + "size": 64, + "name": "xgmi_TA_CreateEntryPoint", + "hash": "91e7bb30e770d7bb4f50f2435a1a470ad9df078286620dc1041b029d156bbfe0" + }, + { + "ea": 4205018, + "size": 64, + "name": "xgmi_TA_DestroyEntryPoint", + "hash": "6e3607dee52f0e6b8ac6968cba1bb0e0ad92d5b59b11d2c063a715596f043509" + }, + { + "ea": 4205084, + "size": 388, + "name": "xgmi_TA_InvokeCommandEntryPoint", + "hash": "ef4c702eee4acae457e405085383cd03ecd53d4ac67549ca5a846d6bd75b9288" + }, + { + "ea": 4205472, + "size": 30, + "name": "xgmi_TA_OpenSessionEntryPoint", + "hash": "517cbb53ac541d5eaac7bbf3d34ad57e8bfeae74f67a777ef5b08f3d218b2224" + }, + { + "ea": 4205502, + "size": 74, + "name": "sub_402BBE", + "hash": "ad3c2851699739c54c7173d3b5117fefe9b476d8f195b87a4943e8be8c74d8de" + }, + { + "ea": 4205576, + "size": 156, + "name": "sub_402C08", + "hash": "58e29af1f9032bf7536ca91b94de040e4cdcb34fecbd811dcac25ce6d0487b34" + }, + { + "ea": 4205732, + "size": 200, + "name": "sub_402CA4", + "hash": "6c7ce3f7bcbda6c4bb27ebd3beb365c71e713a3ba62364e112ab6705cf770d6f" + }, + { + "ea": 4205948, + "size": 130, + "name": "sub_402D7C", + "hash": "6cd0dd4017ef1d63bcf755152416260225b5805f9d2b23a6e712009e59963e7f" + }, + { + "ea": 4206096, + "size": 16, + "name": "sub_402E10", + "hash": "a6d203bb10f64527605dddc11ad03ee8a81bd81545060d305cd4b28c558dd7c7" + }, + { + "ea": 4206112, + "size": 178, + "name": "sub_402E20", + "hash": "4d3f5cbbbe13ad7f0224d3581cf2ce3e812d98dcffa46f069685312adeee2ce3" + }, + { + "ea": 4206290, + "size": 44, + "name": "sub_402ED2", + "hash": "c9c437fff12fec11400caa8dfcf4e7a90b1ff3aa4c89551a8b55ae4d40696658" + }, + { + "ea": 4206334, + "size": 102, + "name": "sub_402EFE", + "hash": "a8347ec7240609f10d9b68ea4cc72a99767547a20fe1f3a54adc1d0c62339c1c" + }, + { + "ea": 4206436, + "size": 190, + "name": "sub_402F64", + "hash": "6c4a0f87d45497322fbd48308b98f8a1d58ef2368945e1ba15c489bde43d7715" + }, + { + "ea": 4206644, + "size": 36, + "name": "xgmi_cmd0B", + "hash": "6ac2ad3840f78ba37300a2f9bfb5d7b43cf6ed97e11edc8b7edc512799e898f4" + }, + { + "ea": 4206680, + "size": 64, + "name": "xgmi_cmd01", + "hash": "64e3a0ca43520e89c7a000f1aecee1d842c77f5cbb7f8ea20295b5967304bb84" + }, + { + "ea": 4206760, + "size": 114, + "name": "xgmi_cmd05", + "hash": "4face86b71f1dd29952be4fb158ec884cc404e1368338ed02f611d055728525d" + }, + { + "ea": 4206874, + "size": 40, + "name": "xgmi_cmd03", + "hash": "e0025fd14297d60ed6a5445e8d67d0771807d7b73473a78dcd0d6d4b25318e28" + }, + { + "ea": 4206916, + "size": 226, + "name": "xgmi_cmd00", + "hash": "667c68b7cfbc087459e0979ca20c1afdbe45ce4daa866edcf359615167f1b1ee" + }, + { + "ea": 4207160, + "size": 300, + "name": "xgmi_cmd06", + "hash": "8c7adc3ba0bb24e28d98cbfb3c97091fe28be648f069380473e5090742a3bd57" + }, + { + "ea": 4207460, + "size": 68, + "name": "xgmi_cmd08", + "hash": "512252438559c1d8766584ecdcc726340e20526de252a171f80205b259ce2137" + }, + { + "ea": 4207528, + "size": 48, + "name": "xgmi_cmd09", + "hash": "0de3c4cc5b2959d5f1e6e182d153795d975dc33a7b0b45039fc20fdbec99be56" + }, + { + "ea": 4207576, + "size": 36, + "name": "xgmi_cmd04", + "hash": "912e9dd7faee2d88346c71dccd22eb7ab67e4b278b350c3f4dbaa863dd2431b0" + }, + { + "ea": 4207612, + "size": 42, + "name": "xgmi_cmd07", + "hash": "deeb4f87448c4973646219e2332eba6ef573b3c0d3c0ca2955a3be843801f440" + }, + { + "ea": 4207654, + "size": 48, + "name": "xgmi_cmd0A", + "hash": "7acd7b4baa221929e9a0640d357655b3492beed809b3a413cc8bf4fabdf160ed" + }, + { + "ea": 4207702, + "size": 228, + "name": "sub_403456", + "hash": "a446f54e238f46687268376de04d14937c87d3579954501b6b7ff33ba1622415" + }, + { + "ea": 4207930, + "size": 696, + "name": "sub_40353A", + "hash": "5487ced78e12d5ea5e74f1ed8ea15f8b58d852826ff021f65bcc554732ae9d4b" + }, + { + "ea": 4208754, + "size": 220, + "name": "sub_403872", + "hash": "5da1e11f1ffd7a8dfbae9ddc692f2b2e69e690e48cb717c586d5aba85cc046ad" + }, + { + "ea": 4208974, + "size": 42, + "name": "sub_40394E", + "hash": "eeee582adad29334197751dd2e40716dcb1bd6123e51ba09bb73141af049e083" + }, + { + "ea": 4209016, + "size": 42, + "name": "sub_403978", + "hash": "e2ae1a4834fe4226ac9274680874c07ef1d952f8a9f0a3194f50d72756ae361a" + }, + { + "ea": 4209058, + "size": 580, + "name": "sub_4039A2", + "hash": "db876c77ddb08681827d9fb19b88c23c6e83822e527bba0ffa9566f6e9bb2c1b" + }, + { + "ea": 4209640, + "size": 148, + "name": "xgmi_entry_trampoline", + "hash": "b1cf532a2394e21e461bf5a531c14053a2bcbc447d21c4c65c627b4141957d54" + }, + { + "ea": 4209824, + "size": 32, + "name": "sub_403CA0", + "hash": "84c0604ad922a120da7ebec4a57af6233759a52e5e2e87fa59181fd1681733a9" + }, + { + "ea": 4209860, + "size": 42, + "name": "xgmi_sysdrv_rpc_1067", + "hash": "d0f8e9b59ec8c33b0ceb286a23e78421ca787cb7739ea654e4181830038d1418" + }, + { + "ea": 4209902, + "size": 42, + "name": "xgmi_sysdrv_rpc_1048", + "hash": "003a0320a126ff9cdaeced0b2190f3c57f5347165b7e3b54de8d47f5a8565022" + }, + { + "ea": 4209944, + "size": 42, + "name": "xgmi_sysdrv_rpc_1049", + "hash": "db29de09237315e437cc8cf16d52b5ae53810dfd61ed9231731911968208a0e3" + }, + { + "ea": 4209986, + "size": 42, + "name": "xgmi_sysdrv_rpc_104B", + "hash": "e9897d964eaeae0b15f6025fbf905313283c15af1f09f2b44c1d9d8a168e7463" + }, + { + "ea": 4210028, + "size": 46, + "name": "xgmi_sysdrv_rpc_1052", + "hash": "ccddffc174a87a70f47a310956c36517a7947ffaf5a17b58aaa7151e00e56026" + }, + { + "ea": 4210074, + "size": 56, + "name": "xgmi_sysdrv_rpc_1061", + "hash": "c362b5f08885d583ebbb5fd7d3e3103ee0c0d2712c2646038f45b077b5d0aefc" + }, + { + "ea": 4210130, + "size": 40, + "name": "xgmi_sysdrv_rpc_104A", + "hash": "c80131e73b40092d1fcd09ff7b34fc1a031b21acdb0b8ce6c7bf91adf30be0de" + }, + { + "ea": 4210170, + "size": 40, + "name": "xgmi_sysdrv_rpc_1053", + "hash": "4e6ae3bfdee9d861bd0c8c770f7ad7571752d20260621c287c668b7618bcf66e" + }, + { + "ea": 4210210, + "size": 46, + "name": "xgmi_sysdrv_rpc_1062", + "hash": "f0fc0f1f3dba9212fb824e741aaee498dacba2c691297d3a1d7b92982e79e1b7" + }, + { + "ea": 4210256, + "size": 48, + "name": "xgmi_sysdrv_rpc_1", + "hash": "e3d5ac692d6f6b3377c9fd51684ab091437a11b90ed1ed9f7694bb5fd0423e0a" + }, + { + "ea": 4210304, + "size": 90, + "name": "xgmi_sysdrv_rpc_53", + "hash": "018bf5c513a8d5ec647512cd461299067ed1ff0894fc75a27df394cd5a8f00fb" + }, + { + "ea": 4210400, + "size": 64, + "name": "xgmi_sysdrv_rpc_D", + "hash": "226c7ca6a9d6c05097b4f75064392cb9eb92c5e5e1a0c68498e5060dadfc3fbd" + }, + { + "ea": 4210464, + "size": 34, + "name": "sub_403F20", + "hash": "ad01cbaeb8cd8000f2e850f5ba847b89cb1eff1c7f04a09f73c6974bec1cf8cf" + }, + { + "ea": 4210498, + "size": 32, + "name": "xgmi_sysdrv_rpc_2", + "hash": "6c73951a2907a9dbd3ec1ca751c59b05eba957b7f670cfbdc06254a7ca1d35e1" + }, + { + "ea": 4210532, + "size": 72, + "name": "sub_403F64", + "hash": "1a956f7560054dfc2bea64047b778ddb73200959b4eb0dcee50ce3c3c79ddd04" + }, + { + "ea": 4210608, + "size": 48, + "name": "sub_403FB0", + "hash": "bcf5b30812f72c63f3030a9564c2494ef6edb064f8d4b98e417d0315b9d40d1c" + }, + { + "ea": 4210656, + "size": 14, + "name": "sub_403FE0", + "hash": "cede31a886c13f00e258cab9ff4597ba5470a85061ef3e7bccb8b794b52ec07b" + }, + { + "ea": 4210672, + "size": 34, + "name": "sub_403FF0", + "hash": "4a2e39e6706c0064018d03e1ad49a2b401f6102b47824ddb19c4febc0349adba" + }, + { + "ea": 4210716, + "size": 34, + "name": "sub_40401C", + "hash": "70689d0cc5feb6649c8089d85cf7d6e6ce55ef2675496a132a45bab36b583eac" + } +]
\ No newline at end of file diff --git a/fw/libnames.json b/fw/libnames.json new file mode 100644 index 0000000..a05c92a --- /dev/null +++ b/fw/libnames.json @@ -0,0 +1,57 @@ +{ + "a80dedbaf7c5a73d59c71b771e348e7607e5b7fca998cf9dcf153421a2eaceb9": "lib_zero_fill_words", + "3853955a021a13b485fc22bd1b84670e2ff95ae8ad9d74a2d4e2212c0666c93d": "lib_3853955a_44", + "836f1b0217fe4f25f7dc98c92a839d561b2dcb7c4143e9c0c2498ff3e89f85bb": "lib_836f1b02_34", + "5f016438f075aa23d3fc07316a4ac552503bbe2e267a4b8090b4189679c8dcaa": "lib_5f016438_18", + "3cf46bff2aaba4c22833b6d11fe9eaf3b965faef9bee986b5292fdd487ed6634": "lib_3cf46bff_18", + "7fca7c43246efe935ead5531c52a8056a741129ba843acfcd4ba13a4b5234053": "lib_7fca7c43_82", + "e4cd8bbc1b336ff3be36594417bf80952a402341a139c50c2ba8c576d2cf7b2d": "lib_e4cd8bbc_96", + "3f07c814dbdcfd26473df43452c69e4b770f0437de75db36cc37796498b9714e": "lib_3f07c814_10", + "e53fbaaa91c8c1d619fdf964aa5688811d4bc836d42d8276c82ef40863b0c0a7": "lib_e53fbaaa_32", + "672a63239992c561e7ed97727a7876ac47e2654d081efb9640920a6a8346c54c": "lib_672a6323_10", + "852e460a54cc23652953d8c2bdbb7715df1868b604fce3e7c9f9ee34d83e133b": "lib_852e460a_16", + "6e8fb1dbdb600e22db6a6efa7e8a56e056e7cb496378f416743769c6553d5585": "lib_6e8fb1db_182", + "2cd8784313a50c2dce77f010467e226badfea198fab9f3a41e83dfe939da47ad": "lib_2cd87843_108", + "e6824d52a285d8817fd261bb9470689c0540196624006bc3f55f6abc796c6a49": "lib_e6824d52_24", + "1bc4925367c80cc9fb19db3b575332e1bb924329a6086f7ea07aa48eb1395880": "lib_1bc49253_28", + "d83c24bf66dd5e4434ec78f8dfa2d7e87be894ffaf0bc141a979667e7a16a135": "lib_d83c24bf_152", + "366a1cebd6f1e481f5d77fc1def8b3d27f74055d3f55cc0ab56e23e3f979657b": "lib_366a1ceb_178", + "71f661028497c818aac050aa228c6f9e92d753b82d91e2604d145a70676a6f89": "lib_71f66102_20", + "78974a434f73381d42d804dc7940c79b3e532fc9e63729c25d45c618fe008a74": "lib_78974a43_20", + "a7faaa9b2050fdc0d9c2c07b5dc391f58f364719feccf801a0ca39b1fc4561a4": "lib_a7faaa9b_72", + "d3aec19497c02c5348f9ed7837bcb3510145360bf499ab56669408d524bb4de1": "lib_d3aec194_44", + "a1b8c8fb1fa17c505ccb575ed48c48f6a5fee25b20690c27bab8a0199ad7ac8e": "lib_a1b8c8fb_10", + "06936d0536d64e86c623270163a043c1b484bbc978af8fbf56cd1650cbfb6587": "lib_06936d05_4", + "8680f995484160494ff3f5e6c7dade75cd60ae86bea8c00e6c43087a6512a9f9": "lib_8680f995_112", + "33b2ae336f550de0e98744de11fac68f962e98270357b7a28fd39fe8ed96d79a": "lib_33b2ae33_16", + "b56825b48befbc0678f72d65a630d44b1904bdffc30b5d91f4e5f9a946d7a406": "lib_b56825b4_392", + "d732abeab845b0dd330615e1c6446eb3f6981c68939c5963986de14c2b1efa9c": "lib_d732abea_240", + "a446f54e238f46687268376de04d14937c87d3579954501b6b7ff33ba1622415": "lib_a446f54e_228", + "5487ced78e12d5ea5e74f1ed8ea15f8b58d852826ff021f65bcc554732ae9d4b": "lib_5487ced7_696", + "5da1e11f1ffd7a8dfbae9ddc692f2b2e69e690e48cb717c586d5aba85cc046ad": "lib_5da1e11f_220", + "eeee582adad29334197751dd2e40716dcb1bd6123e51ba09bb73141af049e083": "lib_eeee582a_42", + "e2ae1a4834fe4226ac9274680874c07ef1d952f8a9f0a3194f50d72756ae361a": "lib_e2ae1a48_42", + "db876c77ddb08681827d9fb19b88c23c6e83822e527bba0ffa9566f6e9bb2c1b": "lib_db876c77_580", + "b1cf532a2394e21e461bf5a531c14053a2bcbc447d21c4c65c627b4141957d54": "lib_entry_trampoline", + "bcf5b30812f72c63f3030a9564c2494ef6edb064f8d4b98e417d0315b9d40d1c": "lib_bcf5b308_48", + "cede31a886c13f00e258cab9ff4597ba5470a85061ef3e7bccb8b794b52ec07b": "lib_cede31a8_14", + "db5482d69d3ec7167e44b5529a0a40a9b33faf71981df144454e7da44e9360cc": "lib_db5482d6_100", + "259290c6ec628f49b5e96ab96c2ec07a4c2750f2bb9b9d6cac47330c190c8118": "lib_zero_fill_bytes", + "c7dfbb7d02759eacb64dbc916c1bb6f21eabaff1c1032ea5c9176abf7fd28df8": "lib_stub_ret", + "a7ddd513d149ea16fdd4db3f82267f83087aeaddd06b5dde5468adb704205fc4": "lib_stub_ret0", + "c17598fe035d4eb5d3859fe76bf089167e46b90feae1d9a70f7a63beb51950ef": "lib_c17598fe_22", + "137f0289d27a3528ff0747aad2f203f9a86a6c3b44e09721af69eaecb8bc78db": "lib_137f0289_22", + "16aa06d99f67d8e2cc926761044d58623efed78d6b0071e5160dbac418c9b41a": "lib_thunk_tailjump", + "f6e388c198c32f5a61201235d46f83804b35fb3f7cad11bce078305927d9277f": "lib_f6e388c1_24", + "918f1510322ca3035a785bb82e2bc2f5f324db4ad87964c4c580f247342b859e": "lib_918f1510_28", + "18cd5c37e872782b79ab2ec6ebe65b0070d83a62cbe40b2c903ae623b91379a7": "lib_18cd5c37_72", + "897f4febf19622474628e3d699f62c5cb98ba9be5a9d2d0487fa03a0032604e4": "lib_897f4feb_48", + "c457fbe280a04e9e9173d8f2b84cd0a9d5f5cfe84ed23f877cf8ba09b9201789": "lib_c457fbe2_30", + "426f2ac9878ad9878d7557107d400053ec2ece9c18572dbbcbd4c9acce5d4a67": "lib_426f2ac9_52", + "52b900d8b8c078c6622ad2fdc3aa6595c57c44fee736e2e7adb86f24bbe15d69": "lib_52b900d8_88", + "922cdbd26d4069e61b85a813edd59c340858568e9b8038a2dbc887a95dcff440": "lib_922cdbd2_64", + "a9e20b9388460c396c5673395c7ae54f0e2273d279cdfd389db2c9ad7160a4ba": "lib_a9e20b93_28", + "fe551e1ceecc34d3088beac4c2a78b80264d1bc452873393a7c5dd94ca345117": "lib_fe551e1c_30", + "78b55a6d5b794f6e3717051bf9be810ba755b330765feafdb3a8169316dc8891": "lib_78b55a6d_30", + "10a06412980e790b4d775670c93cf9f0c78b59714ed51ba59e3d98f0a1d8aa2a": "lib_10a06412_30" +}
\ No newline at end of file diff --git a/fw/ta_libmatch.py b/fw/ta_libmatch.py new file mode 100644 index 0000000..940bae1 --- /dev/null +++ b/fw/ta_libmatch.py @@ -0,0 +1,133 @@ +#!/usr/bin/env python3 +"""Identify shared runtime routines across the TAs and propagate one name to all of them. + +These twelve TAs are built against the same PSP TEE runtime, so the same helper appears +byte-identical in many of them. Naming such a routine once and propagating it by content +hash is far better leverage than renaming 384 anonymous functions one at a time, and it is +verifiable: a cluster is only accepted when the bytes match exactly. + +Two modes: + dump --prefix X --body B : record IDA's function list + per-function content hash + report : cluster across all dumps, rank by how many TAs share it + apply --prefix X : rename that TA's members of every named cluster + +Cluster names live in fw/libnames.json ({hash: name}), filled in from inspection, so the +mapping is auditable rather than implicit. + +usage: IDATUI_RPC_SOCK=... ta_libmatch.py dump --prefix gcp --body <body.bin> + ta_libmatch.py report + IDATUI_RPC_SOCK=... ta_libmatch.py apply --prefix gcp +""" +import argparse +import glob +import hashlib +import json +import os +import sys +import tempfile + +CWD = os.path.expanduser('~/dev/ida-tui-maybe') +sys.path.insert(0, CWD) +from idatui.rpcclient import RpcClient # noqa: E402 + +REPO = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +DUMPS = os.path.join(REPO, 'fw', 'libdumps') +NAMES = os.path.join(REPO, 'fw', 'libnames.json') +BASE = 0x400100 + + +def connect(): + return RpcClient(os.environ['IDATUI_RPC_SOCK'], timeout=60) + + +def cmd_dump(a): + c = connect() + c.connect() + fs = c.call('functions', filter='', limit=2000) + body = open(a.body, 'rb').read() + out = [] + for f in fs: + ea, sz, nm = f.get('ea'), f.get('size') or 0, f.get('name') + off = ea - BASE + if off < 0 or sz <= 0 or off + sz > len(body): + continue + h = hashlib.sha256(body[off:off + sz]).hexdigest() + out.append(dict(ea=ea, size=sz, name=nm, hash=h)) + os.makedirs(DUMPS, exist_ok=True) + json.dump(out, open(os.path.join(DUMPS, '%s.json' % a.prefix), 'w'), indent=1) + print('%s: %d functions dumped (%d hashable)' % (a.prefix, len(fs), len(out))) + return 0 + + +def load_dumps(): + d = {} + for p in glob.glob(os.path.join(DUMPS, '*.json')): + d[os.path.basename(p)[:-5]] = json.load(open(p)) + return d + + +def cmd_report(a): + dumps = load_dumps() + clusters = {} + for ta, fns in dumps.items(): + for f in fns: + clusters.setdefault(f['hash'], []).append((ta, f)) + shared = {h: v for h, v in clusters.items() if len({x[0] for x in v}) >= 2} + print('TAs dumped: %d ; functions: %d ; distinct bodies: %d ; shared across >=2 TAs: %d' + % (len(dumps), sum(len(v) for v in dumps.values()), len(clusters), len(shared))) + named = json.load(open(NAMES)) if os.path.exists(NAMES) else {} + rows = sorted(shared.items(), key=lambda kv: -len({x[0] for x in kv[1]})) + print('\n%-12s %-5s %-5s %-8s %s' % ('hash', 'TAs', 'size', 'named?', 'example names')) + for h, v in rows[:40]: + tas = sorted({x[0] for x in v}) + ex = sorted({x[1]['name'] for x in v})[:3] + print('%-12s %-5d %-5d %-8s %s' + % (h[:10], len(tas), v[0][1]['size'], + named.get(h, '-')[:8], ', '.join(ex)[:58])) + unnamed = [h for h, v in rows if h not in named] + print('\nshared clusters still unnamed: %d (covering %d function instances)' + % (len(unnamed), sum(len(clusters[h]) for h in unnamed))) + return 0 + + +def cmd_apply(a): + names = json.load(open(NAMES)) + dumps = load_dumps() + fns = dumps.get(a.prefix, []) + syms = [dict(addr=f['ea'], name='%s_%s' % (a.prefix, names[f['hash']])) + for f in fns if f['hash'] in names and f['name'].startswith('sub_')] + if not syms: + print('%s: nothing to apply' % a.prefix) + return 0 + c = connect() + c.connect() + with tempfile.NamedTemporaryFile('w', suffix='.json', delete=False) as fh: + json.dump(syms, fh) + p = fh.name + r = c.call('rename_many', file=p) or {} + m = r.get('rename_many', r) + os.unlink(p) + c.call('save') + print('%s: applied %s/%s shared-library names' % (a.prefix, m.get('ok'), + m.get('requested'))) + return 0 + + +def main(): + ap = argparse.ArgumentParser() + sub = ap.add_subparsers(dest='mode', required=True) + d = sub.add_parser('dump') + d.add_argument('--prefix', required=True) + d.add_argument('--body', required=True) + d.set_defaults(fn=cmd_dump) + r = sub.add_parser('report') + r.set_defaults(fn=cmd_report) + p = sub.add_parser('apply') + p.add_argument('--prefix', required=True) + p.set_defaults(fn=cmd_apply) + a = ap.parse_args() + return a.fn(a) + + +if __name__ == '__main__': + raise SystemExit(main()) |
