-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathplugin.json
More file actions
1 lines (1 loc) · 3.33 KB
/
plugin.json
File metadata and controls
1 lines (1 loc) · 3.33 KB
1
{"pluginmetadataversion": 2, "name": "logrn", "author": "catnip", "type": ["helper"], "api": ["python3"], "description": "binary ninja plugin for abusing logging functions", "longdescription": "# Logrn\r\n## binary ninja plugin for abusing logging functions\r\nbasically the same as [this plugin](https://github.com/404d/autoutils) but improved\r\n\r\nyou find a logging function which takes the current function as an argument. example:\r\n\r\n\r\n\r\nwhile the logging function is selected, you run the command `rename callers to arg`\r\n\r\n\r\n\r\nit asks you what the name of the param is which will get the function name\r\n\r\n\r\n\r\nin this case `func_str`.\r\nthen it searches for every call of this logging function in the binary, get the parameter which holds the name of the function and renames the caller to that string. boom 2500 new symbols\r\n\r\n\r\n# Important\r\n\r\nKeep in mind functions you have already named will get renamed. Why? because func.auto had a huge amount of false positives in my testing leading to a huge amount of functions not getting renamed. I dont know why thats a thing.\r\n\r\nFunctions with multiple calls to the logging function will get the name of the first call. Why? because in my experience, most of the time the log function will get called multiple times with the same function name. If i were to ignore ambiguous calls, id miss a whole lot of symbols. Inlines tend to not be at the beginning of the function which is also good. Now i could check if all calls are the same but i would miss functions with inline calls that are not at the beginning of the function and a few wrongly named functions are worth that compromise imo. Just keep in mind the name is not guarenteed to be correct.\r\n\r\nIts a background task so it wont freeze binja.\r\n\r\nI know that when entering nothing in the prompt, there will be an exception. I dont care :p. If you do, make a pull request.", "license": {"name": "MIT", "text": "Copyright 2020 log rename\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."}, "platforms": ["Darwin", "Windows", "Linux"], "version": "1.0.2", "minimumbinaryninjaversion": 2263}