Comments (7)
In what way / context exactly?
Rosetta 2 translates the x86_64 executable to arm64 one ahead of time so the actual code that gets executed and can be debugged is arm64. Bit Slicer does not support 'mapping back' to x86_64 instruction set like lldb can (and I don't know how to implement such a thing).
from bit-slicer.
Let's say I find a function in memory. In x86_64, the first bytes are usually 55 48 89 e5...., which represent x86_64 instructions. Bit slicer however, assumes that it is an arm64 executable, and disassembles completely wrong instructions.
from bit-slicer.
You might be looking at the untranslated code. How are you "finding" the function, by doing a scan of "known bytes" or by setting a watchpoint (watching for accesses) or debugger breakpoint?
I suppose Bit Slicer can switch between disassembling x86_64 and arm64 depending on what region is being viewed. I don't know how tricky that is. Barring implementing that, arm64 is the right default still for debugging running code.
On another note all of this will go away when games become apple silicon native.. Rosetta 2 support isn't the best. Same thing happened with Rosetta 1 support back in the day..
from bit-slicer.
It would be nice if there was an option to select an architecture to debug with.
from bit-slicer.
I think the correct way is to use x86_64 disassembler if the instructions are in a mapped mach-o segment.
However, this doesn't sound extremely useful to me anyway. Most likely, any changes there will have no effect since the real arm64 code being executed is somewhere else.
from bit-slicer.
I will address this in #80. First the "automatic" mode should be smarter about picking the right architecture depending on the memory address being looked at. Then there's an option to change disassembly interpretation in the Debug menu to either Intel or ARM.
from bit-slicer.
Landed in 1.7.12 Alpha 1
from bit-slicer.
Related Issues (20)
- Threading for a lot of While loops HOT 3
- Bit Slicer suddenly doesn't work for any app HOT 7
- [Feature Request] Can you add a feature that we can see decimal value in memory viewer or debugger. HOT 1
- Group-Search function HOT 3
- "<game name> memory cannot be searched due to system protections." HOT 5
- Support code injection for Apple Silicon HOT 3
- use external python or use pip of internal python HOT 6
- Add closable section of variables HOT 1
- Allow use of symbol() function in variable address field HOT 5
- Feature request: Searching for multiples HOT 2
- Addresses not corresponding to addresses in ROM HOT 1
- ~1MB difference in 1.7.12 DMG file sizes HOT 7
- Need more guide of Scripting
- Scripts fail to edit/open in IDLE HOT 20
- [Feature Request] Nearby Search HOT 9
- [Feature Request] Searching in Memory Viewer
- 1.8 Alphas HOT 5
- BitSlicer 1.8, Search Failure, never asks for any permissions HOT 6
- [Bug] Text in Data Inspector is selected for only very very very short time HOT 3
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 bit-slicer.