Skip to content

shogo82148/androidbinary

Repository files navigation

androidbinary

Build Status GoDoc

Android binary file parser

High Level API

Parse APK files

package main import ( "github.com/shogo82148/androidbinary/apk" ) func main() { pkg, _ := apk.OpenFile("your-android-app.apk") defer pkg.Close() icon, _ := pkg.Icon(nil) // returns the icon of APK as image.Image pkgName := pkg.PackageName() // returns the package name resConfigEN := &androidbinary.ResTableConfig{ Language: [2]uint8{uint8('e'), uint8('n')},	} appLabel, _ = pkg.Label(resConfigEN) // get app label for en translation }

Low Level API

Parse XML binary

package main import ( "encoding/xml" "github.com/shogo82148/androidbinary" "github.com/shogo82148/androidbinary/apk" ) func main() { f, _ := os.Open("AndroidManifest.xml") xml, _ := androidbinary.NewXMLFile(f) reader := xml.Reader() // read XML from reader var manifest apk.Manifest data, _ := ioutil.ReadAll(reader) xml.Unmarshal(data, &manifest) }

Parse Resource files

package main import ( "fmt" "github.com/shogo82148/androidbinary" ) func main() { f, _ := os.Open("resources.arsc") rsc, _ := androidbinary.NewTableFile(f) resource, _ := rsc.GetResource(androidbinary.ResID(0xCAFEBABE), nil) fmt.Println(resource) }

License

This software is released under the MIT License, see LICENSE.

About

Android binary file parser written in golang

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages