summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-04Also include library in triage imports filter.Alexander Taylor
Closes #6563.
2025-04-03Change warning to info for undetermined base class for objective-c categoryMason Reed
More informative than a warning
2025-04-03[SharedCache] Misc triage view bug fixesMason Reed
- Fix the inconsistent column sizing - Stop trying to show cross reference at 0
2025-04-03Render address relative to data start optionGlenn Smith
2025-04-03add M-CORE to settingJordan Wiens
2025-04-03update settings for 5.0 and include enterprise/collab this timeJordan Wiens
2025-04-03Implement Kernel64 path for Chained Fixups in Mach-O Viewkat
2025-04-03Warning cleanup in KernelCache codekat
2025-04-03default image width narrower on fwn docsJordan Wiens
2025-04-03remove experimental from objc docsJordan Wiens
2025-04-03compress fwn doc imagesJordan Wiens
2025-04-03[SharedCache] Log the time it takes to load initial images in the viewMason Reed
2025-04-03[SharedCache] Identify unloaded symbols that are called in standard functionsMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/6550
2025-04-03[SharedCache] Fix detection of the class name of categoriesMark Rowe
The logic for determining the class name of a category did not correctly handle classes defined in other images in the shared cache. There were two problems: 1. If the class is defined in another image that is already loaded, `ObjCProcessor` has already renamed the symbol from `_OBJC_CLASS_$_` to `cls_`. Both forms of symbol name are now handled. 2. If the class is defined in an image that is not yet loaded, no symbol name is available. The category's class is now looked up in the shared cache symbol table, and the symbol's name is parsed as if it were an import symbol. This fixes almost all cases of "Failed to determine base classname for category" that I have come across. Mason Reed: Fixed up to make objective-c processor always consult GetSymbol
2025-04-03Update bug_report.md to include malware upload instructionsfosdick.io
2025-04-03Firmware Ninja user guide documentationBrandon Miller
2025-04-03Fix user platform override between armv7 and thumbBrandon Miller
Only override the default platform based on the entry point architecture in cases where the user didn't explicitly set loader.platform
2025-04-02Add context menu for shared cache view.Alexander Taylor
Also addresses some lints that I thought were possibly worth it.
2025-04-02Styling for data in shared cache view.Alexander Taylor
2025-04-02Use standard buttons in shared cache view.Alexander Taylor
2025-04-02Add filtering for mappings in shared cache view.Alexander Taylor
2025-04-02Use correct icon in shared cache view.Alexander Taylor
2025-04-02[SharedCache] Misc fixes and commentsMason Reed
2025-04-02[SharedCache] Fix old slide info mapping format not getting the mapped ↵Mason Reed
address for the file offset This would result in the virtual memory trying to access an unmapped region, failing to apply slide info
2025-04-02[SharedCache] Fix thrown exception in stub function analysis with mismatched ↵Mason Reed
expression operation
2025-04-02[SharedCache] Improve FileAccessorWriteLog performanceMason Reed
Just use a vector. In the future we can turn off the write log if the system has given us ample descriptors, and we can also add a page based cache.
2025-04-02[SharedCache] Misc formattingMason Reed
2025-04-02[SharedCache] Fix loading entries on linuxMason Reed
2025-04-02[SharedCache] Fix not adding type libraries in the macho processorMason Reed
2025-04-02[SharedCache] Fix metadata not being loadedMason Reed
Apparently the view metadata is not available until after view init
2025-04-02[SharedCache] Consistent logger naming and misc changesMason Reed
2025-04-02[SharedCache] Fix multi-row image selection not respecting the visibility of ↵Mason Reed
rows Before this we would load all images between the end and beginning because the model is does not have a filter proxy, but just hides the rows instead, we should move to a proxy
2025-04-02[SharedCache] Fix __auth_got section not having read only section semanticsMason Reed
Stopped some stub calls resolving the target
2025-04-02[SharedCache] Fix linear sweep picking up basically every function and ↵Mason Reed
removing it
2025-04-02[SharedCache] Refactor workflowMason Reed
2025-04-02[SharedCache] Improper nesting in workflowMason Reed
oops!
2025-04-02[SharedCache] Add python get_symbol_atMason Reed
2025-04-02[SharedCache] Fix some of the workflow issuesMason Reed
Still have the issue with newer IOS stubs not having their direct function address taken
2025-04-02[SharedCache] Fix the triage symbol table data racesMason Reed
Any update to the model should only happen on the UI thread now. This also fixes the other issue here: https://github.com/Vector35/binaryninja-api/issues/6300
2025-04-02Remove ObjC todos which shouldnt be doneMason Reed
See: https://github.com/Vector35/binaryninja-api/pull/6540/files#r2020882071
2025-04-02[SharedCache] Fix some bugsMason Reed
2025-04-02[SharedCache] Fix some issues with project loadingMason Reed
2025-04-02[SharedCache] Refactor Shared CacheMason Reed
In absence of a better name, this commit refactors the shared cache code.
2025-04-02[SharedCache] Use DefineAutoUserSymbol instead of DefineAutoSymbolMason Reed
This makes it so that we persist the symbols within the regular symbol list in storage
2025-04-02[SharedCache] Make error about invalid metadata a warning, we recover sorta ↵Mason Reed
gracefully now
2025-04-02[SharedCache] Don't show DSCTriage when not in shared cache viewMason Reed
2025-04-02[SharedCache] Optimize parsing of slide infoMark Rowe
Slide info is parsed and applied on the main thread, below the `SharedCache` constructor, when a shared cache is opened. Time spent applying the slide is time that the main thread is blocked. These changes eliminate some unnecessary overhead so what work remains is dominated by kernel work (paging in data, copying pages when the first modification is made). The changes are: 1. Read slide pointers via `ReadULong` rather than the variable-length `Read` method. The compiler isn't able to eliminate the call to `memcpy` in the variable-length `Read` function, and the function call overhead is noticeable given the small size of the read and number of times it is called. 2. Remove the file member from `MappingInfo`. Slide info is applied for a single file at a time so there's no reason to track the file it belongs to. This removes unnecesssary reference counting on the `std::shared_ptr` that holds the `MMappedFileAccessor`.
2025-04-02[SharedCache] Stop crashing if we don't have a valid dyld in PerformInitialLoadMason Reed
Still need to decide on how we want handle this, because we need multiple files we probably just want to prompt the user for a directory?
2025-04-02[SharedCache] Remove warning which is unlikely to be usefulMason Reed
This warning will happen anytime you load an image with already processed regions.
2025-04-02[ObjC] Create a shared ObjC processor for Macho and DSC viewsWeiN76LQh
Both the Macho and DSC views need to process Objective-C but have separate processor classes. It would appear that the DSC version was largely a copy and paste of the Macho view one, with some modifications. The majority of code overlaps between the 2 so it doesn't make sense to maintain 2 and copy and paste improvements/fixes between them. This commit fixes that by creating a base Objective-C processor that contains the shared code. View specific code is implemented in the respective subclasses for the views. Although there is very little view specific code for each.