summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXusheng <xusheng@vector35.com>2024-09-26 17:50:35 -0400
committerXusheng <xusheng@vector35.com>2024-10-04 16:54:47 +0800
commit4c39a58c328461fe5485b87b93bc60a1490c16da (patch)
tree7e9e3e830936a381fa62b67e46fd3d6895be9b20
parent52c4e5695f9c86cb319f07682c27be9e4e576559 (diff)
Make the undefine action context aware
-rw-r--r--docs/guide/index.md2
-rw-r--r--ui/commands.h1
-rw-r--r--ui/flowgraphwidget.h3
-rw-r--r--ui/linearview.h5
-rw-r--r--ui/tokenizedtextview.h3
5 files changed, 6 insertions, 8 deletions
diff --git a/docs/guide/index.md b/docs/guide/index.md
index 8f5a7930..48d710cd 100644
--- a/docs/guide/index.md
+++ b/docs/guide/index.md
@@ -509,7 +509,7 @@ To search in the keybindings list, just click to make sure it's focused and star
- `[F5]`, `[TAB]` : Toggle between Pseudo C and disassembly view
- `g` : Go To Address dialog
- `n` : Name a symbol
- - `u` : Undefine an existing symbol (only for removing new user-defined names)
+ - `u` : Undefine selected function(s)/data variable(s)/user symbols(s)
- `e` : Edit an instruction (by modifying the original binary -- currently only enabled for x86, and x64)
- `x` : Focus the cross-reference pane
- `;` : Add a comment
diff --git a/ui/commands.h b/ui/commands.h
index 3af4f11b..70ed5778 100644
--- a/ui/commands.h
+++ b/ui/commands.h
@@ -11,6 +11,7 @@
@{
*/
+bool BINARYNINJAUIAPI undefineForAddress(BinaryViewRef data, uint64_t addr);
bool BINARYNINJAUIAPI undefineNameForAddress(BinaryViewRef data, uint64_t addr);
bool BINARYNINJAUIAPI undefineNameForLocalVariable(
BinaryViewRef data, FunctionRef func, const BinaryNinja::Variable& var);
diff --git a/ui/flowgraphwidget.h b/ui/flowgraphwidget.h
index 667d088c..321a8480 100644
--- a/ui/flowgraphwidget.h
+++ b/ui/flowgraphwidget.h
@@ -344,12 +344,11 @@ class BINARYNINJAUIAPI FlowGraphWidget :
void goToAddressAtFileOffset();
void followPointer();
void defineName();
- void undefineName();
+ void undefine();
void setUserVariableValue();
void clearUserVariableValue();
void defineFuncName();
void editFunctionProperties();
- void undefineFunc();
void createFunc(const UIActionContext& context);
void createFuncWithPlatform(PlatformRef platform, bool autoSelect = false);
void changeType();
diff --git a/ui/linearview.h b/ui/linearview.h
index caa0b439..8dc49041 100644
--- a/ui/linearview.h
+++ b/ui/linearview.h
@@ -322,14 +322,13 @@ private Q_SLOTS:
void goToAddressAtFileOffset();
void defineNameAtAddr(uint64_t addr);
void defineName();
- void undefineName();
+ void undefine();
void setUserVariableValue();
void clearUserVariableValue();
void createFunc(const UIActionContext& context);
void createFuncWithPlatform(PlatformRef platform, bool autoSelect = false);
void defineFuncName();
void editFunctionProperties();
- void undefineFunc();
void reanalyze();
void forwardPropagateType();
void inferFunctionType();
@@ -366,7 +365,7 @@ private Q_SLOTS:
void makePtr();
void makeString(size_t charSize = 1);
void changeType(const UIActionContext& context);
- void undefineVariable();
+ void undefineInRange();
void displayAs(const UIActionContext& context, BNIntegerDisplayType displayType) override;
void createStructOrInferStructureType();
bool autoCreateArray();
diff --git a/ui/tokenizedtextview.h b/ui/tokenizedtextview.h
index cd7469bc..26a96555 100644
--- a/ui/tokenizedtextview.h
+++ b/ui/tokenizedtextview.h
@@ -86,11 +86,10 @@ class BINARYNINJAUIAPI TokenizedTextView :
void goToAddress();
void defineNameAtAddr(uint64_t addr);
void defineName();
- void undefineName();
+ void undefine();
void createFunc(const UIActionContext& context);
void defineFuncName();
void editFunctionProperties();
- void undefineFunc();
void reanalyze();
void comment();
void commentAccepted();