OK I found this program to do it.
https://github.com/ata4/disunity
But it's all command prompt based. I have no idea how to input commands in command prompt. Oh mighty Pengu help me!
Usage
disunity -c <command> <file>
Note: depending on the platform, you may need to run disunity.bat (Windows) or disunity.sh (Linux/MacOS). In case the launch script fails, try java -jar disunity.jar.
Commands
dump - Converts the asset file to plain text, similar to the binary2text tool shipped with the Unity editor.
dump-struct - Like dump, but just for the data structure.
extract - Extracts supported asset content and stores it in regular files. Default command if the -c parameter is omitted.
extract-raw - Extracts the raw serialized binary data from the asset.
learn - Learns the structure from an Unity webplayer bundle (*.unity3d) and stores any new structs in the database file structdb.dat. Its data is required to deserialize standalone asset files, which usually don't contain any structure data.
info - Outputs various information for assets and asset bundle files.
info-stats - Outputs class usage statistics for asset files.
unbundle - Extracts Unity webplayer bundles (*.unity3d).
fixrefs - Fixes shared asset references in extracted scene files by converting relative to absolute paths so they can be opened with the Unity editor correctly.
Note: If the shared assets are moved to a different folder, the scene needs to be fixed again.
split - Attempts to split an asset file into multiple smaller asset files.
list - Lists all objects and files in a tabular form.
Other parameters
Run disunity with the -h parameter for further usage.