1.4 Source Code Analysis

Endpoints & URL-matching patterns

grep -Ei 'api' -Ei 'http' -Ei 'https' -Ei 'URI' -Ei 'URL' -R .
grep -Eio '(http|https)://[^/"]+' -Eio 'content://[^/"]+' -R .

Files & their permissions

grep -Ei 'MODE_WORLD_READABLE' -Ei 'MODE_WORLD_WRITEABLE' -R .
grep -Ei 'getCacheDir' -Ei 'getExternalCacheDirs' -R .
grep -Ei 'openFileOutput' -Ei 'FileOutputStream' -Ei 'OutputStream' -Ei 'getExternalFilesDir' -R .

Database & realms

grep -Ei 'localUserSecretStore' -Ei 'getWriteableDatabase' -Ei 'getReadableDatabase' -R .
grep -Ei 'realm' -Ei 'getDefaultInstance' -Ei 'beginTransaction' -Ei -R .
grep -Ei 'SQLiteDatabase' -Ei 'insert' -Ei 'query' -Ei 'delete' -Ei 'update' -R .

User

grep -Ei 'username' -Ei 'user' -Ei 'pass' -Ei 'passwd' -Ei 'userid' -Ei 'password' -R .
grep -Ei '.config' -Ei 'secret' -Ei 'token' -Ei 'login' -Ei 'auth' -R .

Logs

Content

Keystore

1.4.2 OPEN SOURCE FILES

  • opens .jar/.java/.class files

  • or use an IDE of your choice (android studio or eclipse)

1.4.3 INFO

INTERESTING CLASSES

  • SharedPreferences (stores key-value pairs)

  • FileOutPutStream (uses internal or external storage)

INTERESTING FUNCTIONS

  • getExternal* (uses external storage)

  • getWriteableDatabase (returns SQLiteDB for writing)

  • getReadableDatabase (returns SQLiteDB for reading)

  • getCacheDir / getExternalCacheDirs (uses cached files)

1.4.4 THINGS TO REPORT

Last updated

Was this helpful?