Léo Lam
710c91eeff
tools: Make register pair tracking more robust by using insn.regs_access()
2021-06-28 18:51:08 +02:00
Léo Lam
c249c93be1
tools: Fix check script not handling ldrb, ldrsb, etc. correctly
2021-06-25 00:32:29 +02:00
Léo Lam
1b9f698134
tools: Fix strb and other str variants not being handled
2021-06-24 22:47:19 +02:00
Léo Lam
b3acc6a393
Add tool to translate IDA types to real C++ types
...
Currently this only covers agl Parameter classes, but more type names
may be added to the mapping in the future.
2021-06-20 14:25:46 +02:00
Léo Lam
38e5e47b07
tools: Ignore excluded lib functions for rename script
2021-06-15 10:52:45 +02:00
Léo Lam
f4740f07e7
Exclude libcurl and NintendoSDK-NEX
...
This project is not going to decompile libcurl and NEX. It's just not
the main focus of the project and it's unlikely to yield any kind of
interesting information.
PosTrackerUploader and possibly the network save transfer stuff
do use NEX but those are secondary, possibly debug-only features.
Furthermore decompiling those two systems does not require actually
implementing the entirely of libcurl+NEX (~1MB); we just have to
write "API stubs" (headers) for the few parts of NEX that are used
by BotW code.
2021-06-15 01:49:54 +02:00
Léo Lam
6ba20da9ee
Add a script to suppress gdt*Flags.cpp rebuilds for faster builds
2021-04-02 16:08:05 +02:00
Léo Lam
a303d6e1b7
tools: Show line number when CSV parsing fails
2021-02-07 15:42:56 +01:00
Léo Lam
eaa0f651ef
tools/diff: Rebuild on library changes as well
2021-01-31 22:30:38 +01:00
Léo Lam
5c6cc59214
tools: Update asm-differ and add support for -mw (make, watch)
2021-01-25 14:41:33 +01:00
Léo Lam
5410a56d20
tools: Sort decomp symbols by address
...
Makes it less tedious to add several decompiled functions to the
function list
2021-01-22 14:20:01 +01:00
Léo Lam
3b996a212c
Track AI class decompilation macro progress
2021-01-21 12:52:56 +01:00
Léo Lam
d5a9f2bc82
identify_matching_functions_by_call: Add support for matching one fn
2021-01-01 18:58:39 +01:00
Léo Lam
3dd4331fc9
Add more AI matches
2020-12-31 15:09:42 +01:00
Léo Lam
028ad38b41
Add matching AI functions to CSV
2020-12-31 14:35:21 +01:00
Léo Lam
3869e440e7
Generate AIs
2020-12-31 14:16:09 +01:00
Léo Lam
a226027828
Add tool to rename AI virtual functions
2020-12-31 12:46:44 +01:00
Léo Lam
834f44e556
tools: Optimize symbol parsing
2020-12-29 15:04:45 +01:00
Léo Lam
8b41b83228
Add tool to identify matching sead RTTI functions
2020-12-29 14:18:25 +01:00
Léo Lam
81b1ec96bb
Add more missed matches
2020-12-29 01:38:07 +01:00
Léo Lam
27196eb945
Add more missed matches
2020-12-29 01:22:53 +01:00
Léo Lam
56e1c0cfd2
Action: Fix incorrect handling of inherited virtual functions
2020-12-28 23:49:15 +01:00
Léo Lam
fcc062ec30
tools: Add unknown call hook to FunctionChecker
2020-12-28 20:51:34 +01:00
Léo Lam
1b89dc7024
tools: Fix base action classes being ignored by the function matcher
2020-12-28 17:20:48 +01:00
Léo Lam
19e0f9a81c
Add more matching functions to the list
2020-12-28 10:54:51 +01:00
Léo Lam
02c583ca4d
Generate actions
2020-12-28 01:26:51 +01:00
Léo Lam
d9f6166ed0
tools: Deduplicate AI tool code
2020-12-27 00:59:37 +01:00
Léo Lam
60b457c522
Add script to rename Action virtual functions
...
Useful to keep function names synchronised between decomp, IDA and the
function CSV
2020-12-26 02:41:01 +01:00
Léo Lam
b1d59ba594
tools: Add script to show non-trivial AI class hierarchies
2020-12-25 18:39:03 +01:00
Léo Lam
eba2713653
Generate query factories as well
2020-12-23 14:22:24 +01:00
Léo Lam
f98d3ee758
Generate stubs for queries
2020-12-22 01:50:49 +01:00
Léo Lam
cd6bf1e821
tools/rename_functions_in_ida: Drop support for IDA <7.4
2020-12-18 19:24:35 +01:00
Léo Lam
72e8d72ad2
tools: Remove AI class progress counter
...
It won't be accurate because the factory functions can and will be
automatically generated.
2020-12-10 00:20:30 +01:00
Léo Lam
3da63099f6
tools: Update asm-differ
2020-12-02 23:02:15 +01:00
Léo Lam
a4ea87cb88
tools/util: Ignore unknown data symbols
2020-11-22 20:39:24 +01:00
Léo Lam
601ecd92a1
tools/progress: Add option to print CSV line
2020-11-22 11:54:00 +01:00
Léo Lam
68c9ffeede
tools: Add support for data symbol checking for GOT entries
2020-11-11 17:31:52 +01:00
Léo Lam
b53135a885
tools/check: Improve error reporting
2020-11-11 17:00:25 +01:00
Léo Lam
96a8bb104e
tools: Read entire ELF ahead of time to reduce seek/read overhead
2020-11-11 13:54:01 +01:00
Léo Lam
27afd0aa6a
ksys/gdt: Implement Manager increase functions
2020-11-11 12:35:59 +01:00
Léo Lam
fc4536b0d3
ksys/gdt: Add reset wrappers to Manager and CommonFlags
2020-11-11 02:04:17 +01:00
Léo Lam
b4178ad2b9
tools/check: Only print mismatch details if they exist
2020-11-11 00:58:58 +01:00
Léo Lam
d2eab6d2a4
tools: Add IDA script to get rid of function tails
2020-11-11 00:30:24 +01:00
Léo Lam
93b1b17979
Fix matching errors
2020-11-10 21:52:48 +01:00
Léo Lam
7e7a76f926
tools: Print mismatch cause
...
Makes it easier to identify what's wrong.
2020-11-10 21:35:58 +01:00
Léo Lam
dc9b346d7e
tools: Add function call checking
2020-11-10 21:25:45 +01:00
Léo Lam
0a16b78855
data: Add functions that were missed because of IDA's function tail system
2020-11-10 18:48:52 +01:00
Léo Lam
42c9511b11
tools: Update asm-differ
2020-11-10 15:49:55 +01:00
Léo Lam
ce5ff17666
tools: Add script to automatically identify matches
...
Given a list L of functions to identify and a small list of
candidates C, this tool will attempt to automatically identify matches
by checking each function in L against each function in C.
Very slow, but this should work well enough for small lists.
2020-11-09 23:46:57 +01:00
Léo Lam
844db4220c
tools: Do not use a global capstone disassembler instance
...
Instead, use one instance per function checker.
2020-11-09 21:23:23 +01:00