Skip to content

Commit f9d7cc8

Browse files
committed
Fix format of strings in python/log.py
1 parent 2c7f443 commit f9d7cc8

File tree

5 files changed

+37
-27
lines changed

5 files changed

+37
-27
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ api-docs/build/*
2121
.env
2222
api-docs/source/binaryninja.*
2323
bin/
24+
suite/unit.py
2425
# CMake
2526
CMakeCache.txt
2627
CMakeFiles

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ all: $(TARGET).a
3232
$(TARGET).a: $(OBJECTS)
3333
@mkdir -p $(TARGETDIR)
3434
$(AR) rcs $@ $^
35-
35+
3636
%.o: %.cpp
3737
@echo " Compiling... $@ $<"
3838
$(CC) $(CFLAGS) $(INC) -c -o $@ $<
@@ -86,7 +86,7 @@ environment_clean:
8686
@echo "Removing 'binaryninja' Packages..."
8787
rm -rf suite/binaryninja/
8888
rm -rf python/examples/binaryninja/
89-
89+
9090
@echo "Removing libs..."
9191
rm -f libbinaryninjacore.so.1
9292
rm -f python/libbinaryninjacore.so.1
@@ -97,7 +97,7 @@ environment_clean:
9797
rm -rf python/types/
9898
rm -rf python/plugins/
9999

100-
clean:
100+
clean:
101101
@echo " Cleaning...";
102102
$(RM) -r *.o $(TARGETDIR) generator
103103

python/generator.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,16 @@ int main(int argc, char* argv[])
391391
}
392392
fprintf(out, "\t]\n");
393393
}
394+
else
395+
{
396+
// As of writing this, only BNLog's have variable instruction lengths, but in an attempt not to break in the future:
397+
if (funcName.compare(0, 6, "_BNLog") == 0)
398+
{
399+
fprintf(out, "def %s(*args):\n", name.c_str());
400+
fprintf(out, "\treturn %s(*[cstr(arg) for arg in args])\n\n", funcName.c_str());
401+
continue;
402+
}
403+
}
394404

395405
if (stringResult)
396406
{

python/log.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def log(level, text):
5555
:param str text: message to print
5656
:rtype: None
5757
"""
58-
core.BNLog(level,text)
58+
core.BNLog(level, '%s', text)
5959

6060

6161
def log_debug(text):
@@ -70,7 +70,7 @@ def log_debug(text):
7070
>>> log_debug("Hotdogs!")
7171
Hotdogs!
7272
"""
73-
core.BNLogDebug(text)
73+
core.BNLogDebug('%s', text)
7474

7575

7676
def log_info(text):
@@ -85,7 +85,7 @@ def log_info(text):
8585
Saucisson!
8686
>>>
8787
"""
88-
core.BNLogInfo(text)
88+
core.BNLogInfo('%s', text)
8989

9090

9191
def log_warn(text):
@@ -101,7 +101,7 @@ def log_warn(text):
101101
Chilidogs!
102102
>>>
103103
"""
104-
core.BNLogWarn(text)
104+
core.BNLogWarn('%s', text)
105105

106106

107107
def log_error(text):
@@ -117,7 +117,7 @@ def log_error(text):
117117
Spanferkel!
118118
>>>
119119
"""
120-
core.BNLogError(text)
120+
core.BNLogError('%s', text)
121121

122122

123123
def log_alert(text):
@@ -133,7 +133,7 @@ def log_alert(text):
133133
Kielbasa!
134134
>>>
135135
"""
136-
core.BNLogAlert(text)
136+
core.BNLogAlert('%s', text)
137137

138138

139139
def log_to_stdout(min_level=LogLevel.InfoLog):

python/plugin.py

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
# Binary Ninja components
2626
import binaryninja
27-
from binaryninja import log
2827
from binaryninja import _binaryninjacore as core
2928
from binaryninja.enums import PluginCommandType
3029
from binaryninja import filemetadata
@@ -96,7 +95,7 @@ def _default_action(cls, view, action):
9695
view_obj = binaryninja.binaryview.BinaryView(file_metadata = file_metadata, handle = core.BNNewViewReference(view))
9796
action(view_obj)
9897
except:
99-
log.log_error(traceback.format_exc())
98+
binaryninja.log.log_error(traceback.format_exc())
10099

101100
@classmethod
102101
def _address_action(cls, view, addr, action):
@@ -105,7 +104,7 @@ def _address_action(cls, view, addr, action):
105104
view_obj = binaryninja.binaryview.BinaryView(file_metadata = file_metadata, handle = core.BNNewViewReference(view))
106105
action(view_obj, addr)
107106
except:
108-
log.log_error(traceback.format_exc())
107+
binaryninja.log.log_error(traceback.format_exc())
109108

110109
@classmethod
111110
def _range_action(cls, view, addr, length, action):
@@ -114,7 +113,7 @@ def _range_action(cls, view, addr, length, action):
114113
view_obj = binaryninja.binaryview.BinaryView(file_metadata = file_metadata, handle = core.BNNewViewReference(view))
115114
action(view_obj, addr, length)
116115
except:
117-
log.log_error(traceback.format_exc())
116+
binaryninja.log.log_error(traceback.format_exc())
118117

119118
@classmethod
120119
def _function_action(cls, view, func, action):
@@ -124,7 +123,7 @@ def _function_action(cls, view, func, action):
124123
func_obj = function.Function(view_obj, core.BNNewFunctionReference(func))
125124
action(view_obj, func_obj)
126125
except:
127-
log.log_error(traceback.format_exc())
126+
binaryninja.log.log_error(traceback.format_exc())
128127

129128
@classmethod
130129
def _low_level_il_function_action(cls, view, func, action):
@@ -135,7 +134,7 @@ def _low_level_il_function_action(cls, view, func, action):
135134
func_obj = binaryninja.lowlevelil.LowLevelILFunction(owner.arch, core.BNNewLowLevelILFunctionReference(func), owner)
136135
action(view_obj, func_obj)
137136
except:
138-
log.log_error(traceback.format_exc())
137+
binaryninja.log.log_error(traceback.format_exc())
139138

140139
@classmethod
141140
def _low_level_il_instruction_action(cls, view, func, instr, action):
@@ -146,7 +145,7 @@ def _low_level_il_instruction_action(cls, view, func, instr, action):
146145
func_obj = binaryninja.lowlevelil.LowLevelILFunction(owner.arch, core.BNNewLowLevelILFunctionReference(func), owner)
147146
action(view_obj, func_obj[instr])
148147
except:
149-
log.log_error(traceback.format_exc())
148+
binaryninja.log.log_error(traceback.format_exc())
150149

151150
@classmethod
152151
def _medium_level_il_function_action(cls, view, func, action):
@@ -157,7 +156,7 @@ def _medium_level_il_function_action(cls, view, func, action):
157156
func_obj = binaryninja.mediumlevelil.MediumLevelILFunction(owner.arch, core.BNNewMediumLevelILFunctionReference(func), owner)
158157
action(view_obj, func_obj)
159158
except:
160-
log.log_error(traceback.format_exc())
159+
binaryninja.log.log_error(traceback.format_exc())
161160

162161
@classmethod
163162
def _medium_level_il_instruction_action(cls, view, func, instr, action):
@@ -168,7 +167,7 @@ def _medium_level_il_instruction_action(cls, view, func, instr, action):
168167
func_obj = binaryninja.mediumlevelil.MediumLevelILFunction(owner.arch, core.BNNewMediumLevelILFunctionReference(func), owner)
169168
action(view_obj, func_obj[instr])
170169
except:
171-
log.log_error(traceback.format_exc())
170+
binaryninja.log.log_error(traceback.format_exc())
172171

173172
@classmethod
174173
def _default_is_valid(cls, view, is_valid):
@@ -179,7 +178,7 @@ def _default_is_valid(cls, view, is_valid):
179178
view_obj = binaryninja.binaryview.BinaryView(file_metadata = file_metadata, handle = core.BNNewViewReference(view))
180179
return is_valid(view_obj)
181180
except:
182-
log.log_error(traceback.format_exc())
181+
binaryninja.log.log_error(traceback.format_exc())
183182
return False
184183

185184
@classmethod
@@ -191,7 +190,7 @@ def _address_is_valid(cls, view, addr, is_valid):
191190
view_obj = binaryninja.binaryview.BinaryView(file_metadata = file_metadata, handle = core.BNNewViewReference(view))
192191
return is_valid(view_obj, addr)
193192
except:
194-
log.log_error(traceback.format_exc())
193+
binaryninja.log.log_error(traceback.format_exc())
195194
return False
196195

197196
@classmethod
@@ -203,7 +202,7 @@ def _range_is_valid(cls, view, addr, length, is_valid):
203202
view_obj = binaryninja.binaryview.BinaryView(file_metadata = file_metadata, handle = core.BNNewViewReference(view))
204203
return is_valid(view_obj, addr, length)
205204
except:
206-
log.log_error(traceback.format_exc())
205+
binaryninja.log.log_error(traceback.format_exc())
207206
return False
208207

209208
@classmethod
@@ -216,7 +215,7 @@ def _function_is_valid(cls, view, func, is_valid):
216215
func_obj = function.Function(view_obj, core.BNNewFunctionReference(func))
217216
return is_valid(view_obj, func_obj)
218217
except:
219-
log.log_error(traceback.format_exc())
218+
binaryninja.log.log_error(traceback.format_exc())
220219
return False
221220

222221
@classmethod
@@ -230,7 +229,7 @@ def _low_level_il_function_is_valid(cls, view, func, is_valid):
230229
func_obj = binaryninja.lowlevelil.LowLevelILFunction(owner.arch, core.BNNewLowLevelILFunctionReference(func), owner)
231230
return is_valid(view_obj, func_obj)
232231
except:
233-
log.log_error(traceback.format_exc())
232+
binaryninja.log.log_error(traceback.format_exc())
234233
return False
235234

236235
@classmethod
@@ -244,7 +243,7 @@ def _low_level_il_instruction_is_valid(cls, view, func, instr, is_valid):
244243
func_obj = binaryninja.lowlevelil.LowLevelILFunction(owner.arch, core.BNNewLowLevelILFunctionReference(func), owner)
245244
return is_valid(view_obj, func_obj[instr])
246245
except:
247-
log.log_error(traceback.format_exc())
246+
binaryninja.log.log_error(traceback.format_exc())
248247
return False
249248

250249
@classmethod
@@ -258,7 +257,7 @@ def _medium_level_il_function_is_valid(cls, view, func, is_valid):
258257
func_obj = binaryninja.mediumlevelil.MediumLevelILFunction(owner.arch, core.BNNewMediumLevelILFunctionReference(func), owner)
259258
return is_valid(view_obj, func_obj)
260259
except:
261-
log.log_error(traceback.format_exc())
260+
binaryninja.log.log_error(traceback.format_exc())
262261
return False
263262

264263
@classmethod
@@ -272,7 +271,7 @@ def _medium_level_il_instruction_is_valid(cls, view, func, instr, is_valid):
272271
func_obj = binaryninja.mediumlevelil.MediumLevelILFunction(owner.arch, core.BNNewMediumLevelILFunctionReference(func), owner)
273272
return is_valid(view_obj, func_obj[instr])
274273
except:
275-
log.log_error(traceback.format_exc())
274+
binaryninja.log.log_error(traceback.format_exc())
276275
return False
277276

278277
@classmethod
@@ -552,7 +551,7 @@ def _add_action(self, ctxt, action):
552551
try:
553552
self.add_action(MainThreadAction(action))
554553
except:
555-
log.log_error(traceback.format_exc())
554+
binaryninja.log.log_error(traceback.format_exc())
556555

557556
def add_action(self, action):
558557
pass

0 commit comments

Comments
 (0)