Reverse Engineered Nintendo Switch App REST API
github.com
github.com
If the app used cert-pinning you'd probably do the RE work on android, where you can more easily install a modified APK with cert pinning disabled.
https://docs.google.com/document/d/1q0Pz2t5Gmt-vv8z-2Yswhvg2...
There is also something called "smali" which is an intermediate representation - You can edit it following something like https://stackoverflow.com/questions/31101740/method-to-add-a....
Finally, there are occasionally native ARM libs included in the jar - You can get these with tool "retdec" or just run strings on it to find interesting stuff
The longer version is that it really varies based on the app. Some apps are using something like React Native and have all their logic in Javascript. Some apps have the API in Java code and you can figure it out by using jadx to get a reasonable approximation of the original source. Some apps do all of this in native code, and then you're into Ghidra territory. My personal experience is that MITMing the connection is the easiest way to get an understanding of the overall shape of the API, with inspection of the code itself then being used to fill in gaps.
I was surprised when I read this paragraph because the owner of the repository is a Full Stack Web Developer at Square. One would expect a web developer at such an important company to know what OAuth is [1]… but then I saw the last time the README file was updated was over 3 years ago on Jul 30, 2017. He joined Square on October 2018 hopefully knowing what OAuth is but forgot to update the repository.