I love taking apart applications, software, and websites to see how developers were able to create a feature or how a game handles AI.
Something I’d like to be able to do is view an app’s files (code specifically) but I haven’t been able to find a solution on Google. I’ve seen YouTube videos before mention things about looking through an apps files but was unable to find those videos again to contact the creator.
What I’ve tried is:
apps>> My Files >> Device Storage >> Android >> Data >> com.Company.AppName
From here I’ve only seen a “cache” folder which I don’t think is what I’m looking for and is empty anyway.
I’ve also tried looking at
settings >> applications >> Applications manager >> [tap on app name]
From here I have the option of adding the add to my SD card.
I also have an iPad in case it’s easier (which I highly doubt) to do this on an Apple device.
You can obtain the source code of applications a few ways.
- Check if the application is open source
- Contact the developer and request source code
- Reverse engineer the application
Reverse engineering is a bit of a legal grey area. From www.eff.org
First the Scary Stuff: What Kinds of Reverse Engineering Are Most
Legally Risky? ^
By using the term “legally risky” here, we aren’t saying that the
activity is certainly legal or illegal. We’re saying that these are
areas where the law may apply so any researcher considering these
steps should take the time to think it through and probably get some
If your access to the code or computer system you are studying is
conditioned upon agreeing to any contractual terms (e.g. End User
License Agreements (EULA), terms of service notices (TOS), terms of
use notices (TOU), a non-disclosure agreement (NDA), developers
agreement or API agreement), you are at greater legal risk if your
research activities do not comply with their stated terms and
conditions. You should talk to a lawyer before agreeing to any terms
and before studying any software distributed with such terms and
conditions, even if you have come into possession of that code without
agreeing to anything.
It is extremely risky to disclose or use any information you obtained
subject to an NDA or other negotiated contractual obligation of
It is legally risky to study software you do not possess legally.
It is legally risky to make any copies of software that have not been
authorized by the copyright owner (such as by a license agreement).
It is legally risky to bypass any “technical protection measures”
(e.g., authentication handshakes, protocol encryption, password
authentication, code obfuscation, code signing) that control access to
the code or any specific functionality.
It is highly risky to copy any code into a program you create as a
result of reverse engineering, because that copy could infringe
copyright unless it is a fair use under copyright law. Note that
copying can include both imitation of non-functional elements as well
as verbatim duplication.
It is legally risky to perform any network packet inspection unless
(1) the network is configured to be accessible to the general public;
(2) you have consent of all users whose packets are intercepted; or
(3) you have consent of the network provider where the inspection is
necessary for provision of the service or to protect the network
provider’s rights and property.