Comments (3)
Ok so the binary I was loading was the exefs main
of 0100000000001010
(LibAppletLns), from fw version 16.0.3.
I commented out these three lines and was able to get the binary loaded:
Presumably, there were 0 plt entries, but the code assumes that there's always at least one. I suppose a proper solution would be to only create the .plt
section if there's 1 or more plt entries? But maybe there's something more subtle going on here, and the plt entries just aren't being detected properly?
from ghidra-switch-loader.
Usually if there are no plt entries it should already abort here:
The assumption that at least one entry exists after the while loop should probably still be removed. I'm curious what's happening here, I'll try to investigate that later (since that's a great excuse to actually learn more about the format).
from ghidra-switch-loader.
Okay actually I can't figure out much. I don't know enough about how ELF files are structured and how NSO files work.
The only hunch I have is that it might be related to the fact that the sdk binary is almost completely empty.
But I think the more interesting bit might be that the IDA loader assumes the same thing:
https://github.com/Atmosphere-NX/Atmosphere/blob/8b88351cb46afab3907e395f40733854fd8de0cf/utilities/nxo64.py#L420-L422
Since these sections in the Ghidra and the IDA plugin are almost identical, but neither of them are well documented, I'm not sure if this was done intentionally.
I'd also like to know what all these magic numbers mean, but I feel like that's currently still too hard for me to figure out.
from ghidra-switch-loader.
Related Issues (20)
- Upgrade for 9.2.2 HOT 1
- error: cannot find symbol getMsgCount() on ghidra 9.2.2 HOT 2
- New release for Ghidra 9.2.2? HOT 6
- Throws error when importing BOTW or Celeste HOT 5
- latest update's naming scheme not compatible with AUR
- New version of Ghidra is incompatible with extension
- "Unexpected Loader exception from Nintendo Switch Binary" when importing a specific binary HOT 5
- How to recognize NXO file? HOT 6
- Error When Installing HOT 2
- Switch Loader 1.5.0 for Ghidra 10.1.5
- NSO header missing from tree/listing HOT 2
- Issue when installing HOT 4
- Gradle error when trying to build
- Is there a prebuilt release for 10.3.2? HOT 1
- Ghidra 10.4 prebuilt release
- Base Addresses HOT 2
- Unable to load Mariko 16.1.0 kernel (secure_monitor.bin) HOT 1
- Update to Ghidra 11.0 HOT 5
- Analysis Task: Shared Return Calls - Index 0 out of bounds for lenght 0 HOT 12
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 ghidra-switch-loader.