Skip to content

abutun/apk-verifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APK Verifier

Android Package Verifier for Java Applications

Example Usage 1

import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.Path;
...
...
...
...

Path path = Paths.get("path/to/your/apk/file");

ByteBuffer buffer = ByteBuffer.wrap(Files.readAllBytes(path));

buffer.rewind();

DataSource dataSource = new ByteBufferDataSource(buffer);

ApkVerifier apkVerifier = new ApkVerifier();

Result result = apkVerifier.verify(dataSource, 20);

if (result.isVerified()) {
  ....
}

Example Usage 2

import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
...
...
...
...

FileInputStream fin = new FileInputStream("path/to/your/apk/file");

FileChannel fc = fin.getChannel();

ByteBuffer buffer = ByteBuffer.allocate((int) fc.size());

fc.read(buffer);
buffer.rewind();

DataSource dataSource = new ByteBufferDataSource(buffer);

ApkVerifier apkVerifier = new ApkVerifier();

Result result = apkVerifier.verify(dataSource, 20);

if (result.isVerified()) {
  ....
}

fc.close();
fin.close();

Check APK Signature SHA1

import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.Path;
import org.apache.commons.codec.digest.DigestUtils;
...
...
...
...

Result result = apkVerifier.verify(YOUR_DATA_SOURCE, YOUR_MIN_SDK_VERSION);

boolean valid = false;

if (result.isVerified()) {
	String signatureSha1 = "";

	for (X509Certificate certificate : result.getSignerCertificates()) {
		signatureSha1 = DigestUtils.sha1Hex(certificate.getEncoded());

		if (YOUR_APK_SIGNATURE_SHA1.equalsIgnoreCase(signatureSha1)) {
			valid = true;

			break;
		}
}
 
if(valid){
  ....
}

About

Android Package Verifier for Java Applications

Resources

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages