Comments (4)
After fucking with this for a bit, I tried an angle where I overwrite sys.stdout
and sys.stderr
with a pretty lazy implementation that calls into sys.displayhook
. This resulted in a recurision issue, so I then re-factored the ui.DisplayHook()
implementation to use classmethods instead of being a copy of IDA 6.95's implementation. After the refactor, I then hooked sys.stdout
and sys.stderr
again so that it directly uses it for formatting, and...it works, but not really.
So print
and other functions are processing things before the output hooks receive the object which means that there's no way to get the non-string object in order to determine how to reformat it. This makes complete sense, so I'm not sure why I started hacking away at it instead of stopping to think about it.
Essentially there's a PR sitting in the GH-64 branch, but I'm not sure how I can fix this exactly. I'd need to know exactly what the object that's evaluated returns in order to determine how to render it properly. Ideally this should be being passed to sys.displayhook
, but since IDAPython is never ideal..I can't think of any way to get this object. I have some more writing I need to do and thus will sit on thinking about this for a bit, but this might get tagged as a "wontfix".
from ida-minsc.
Tagging this as "wontfix".
from ida-minsc.
Removed the "bug" label.
from ida-minsc.
Closing this issue for now since it's tagged as "wontfix" I'm not really sure how to proceed atm.
from ida-minsc.
Related Issues (20)
- Minor readability improvement of bool HOT 3
- Rename argument name "direction" to something better like "options" HOT 5
- Do not replace the os.sep HOT 5
- Suggestion: When doing the refactoring, drop support for Python 2 and older IDA HOT 3
- Using the name "binary" for a program is confusing when there is a file format in IDA named "binary file" HOT 4
- Suggestion: Add the name DLL as that is what IDA calls the shared objects HOT 2
- Add a comment that this value will be updated when a new file is loaded HOT 1
- Suggestion: If you drop support for older Python, then you can add type hints HOT 3
- Minor doc change: says "all" but only 1 is returned HOT 3
- Maybe duplication of code? bits() vs bitsize() HOT 3
- Wrong path on windows HOT 2
- Using double quotation marks makes this work on Windows also HOT 2
- The instruction namespace should return a ida_ua.insn_t() object instead of a string HOT 3
- An InvalidTypeOrValue exception is being raised when trying to fetch the type for a function being listed. HOT 20
- Docs: Quick start is wrong, the example code throws exception HOT 1
- Suggestion: Add documention on how to use IDA-minsc together with the plugin ipyida HOT 7
- Rename go --> jumpto (since the term go usually means "let the debugger run" in RE) HOT 3
- Rename argument "none" to a better name since it is very easy to missread it as None HOT 3
- Replace idaapi.read_selection() with ida_kernwin.read_range_selection() HOT 3
- Inability to access the attributes of netnodes that use a tag of 0. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ida-minsc.