-
-
Notifications
You must be signed in to change notification settings - Fork 375
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Multiple bug fixes and little improvements
CORE: Try to use `cdifflib` instead of Python's standard `difflib` when possible to get some performance gains. BUG: High addresses in operands could cause the Python's sqlite3 module to crash when inserting into the database. ML: Try to use the Ridge classifier as just another method to get a similarity ratio in `check_ratio`. ML: Simplifications of the supervised learning based experimental engine. CONFIG: Added parameter `COMMIT_AFTER_EACH_GUI_UPDATE` to force committing. CONFIG: Added parameter `EXPORTING_COMPILATION_UNITS` to enable/disable exporting them (with some huge databases it might take even hours!). CONFIG: Added parameters handling SQLite pragmas `SQLITE_JOURNAL_MODE` and `SQLITE_PRAGMA_SYNCHRONOUS`. CONFIG: Added parameter `SHOW_IMPORT_WARNINGS` to enable/disable showing warnings when some important but optional Python packages aren't found. BUG: Be sure to delete orphaned comments when importing pseudo-code comments. BUG: The workaround for "max non-trivial tinfo_t count has been reached" was wrong. Now, the Hex-Rays functions cache is cleared every 10,000 rows. GUI: Display the progress when exporting a large number of compilation units. BUG: Inserting the link between functions and compilation units was terribly-utterly-horribly wrong. VULN: Add pattern "UNC" to potentially detect vulnerabilities fixed in Windows components involving UNC paths. EXTRAS: Added independent IDA plugin `extras/diaphora_local.py` to be able to diff functions inside the current binary. BUG: Do a commit after all functions are exported so, in case IDA crashes for a reason/bug, Diaphora can properly recover from errors and have all the functions already exported there.
- Loading branch information
1 parent
f9b28d5
commit 477dd87
Showing
8 changed files
with
604 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Diaphora local | ||
|
||
This is a pure Python IDA plugin to diff pseudo-codes and assembly for functions inside the current binary, instead of diffing functions in different binaries. | ||
|
||
# Installation | ||
|
||
Simply copy this script in the directory `$IDA_DIR/plugins`. | ||
|
||
# Usage | ||
|
||
Put the cursor in IDA in some function and press Ctrl + Shift + D, choose the function to diff against the current function and 2 choosers (windows) will open showing the differences at pseudo-code and assembly levels. | ||
|
||
|
Oops, something went wrong.