Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
TalsecConfig config = new TalsecConfig.Builder(context.getPackageName(), new String[] {CERTIFICATE_HASH})
.whitelistedInstallationSources(new String[]{"com.android.vending"})
.build(); final config = TalsecConfig(
androidConfig: AndroidConfig(
malwareConfig: MalwareConfig(
whitelistedInstallationSources: ['com.android.vending'],
),
// Other config data
),
// Other config data
);const config = {
androidConfig: {
malwareConfig: {
whitelistedInstallationSources: ['com.android.vending'],
},
// Other config data
}
// Other config data
}const config = {
androidConfig: {
malwareConfig: {
whitelistedInstallationSources: ['com.android.vending'],
},
// Other config data
}
// Other config data
}const config = {
androidConfig: {
malwareConfig: {
whitelistedInstallationSources: ['com.android.vending'],
},
// Other config data
}
// Other config data
}Talsec.addToWhitelist(context, "com.example.app")Talsec.instance.addToWhitelist('com.example.app');import { addToWhitelist } from 'freerasp-react-native';
try {
const response = await addToWhitelist('com.example.app');
// response: true
} catch (error: any) {
console.info('Error while adding app to malware whitelist: ', error);
}try {
const response = await talsec.addToWhitelist('com.example.app');
// response: true
} catch (error: any) {
console.info('Error while adding app to malware whitelist: ', error);
}import { addToWhitelist } from 'capacitor-freerasp';
try {
const response = await addToWhitelist('com.example.app');
// response: true
} catch (error: any) {
console.info('Error while adding app to malware whitelist: ', error);
}// Android uses Builder pattern for configuration
TalsecConfig config = new TalsecConfig.Builder(context.getPackageName(), new String[] {CERTIFICATE_HASH})
.blacklistedPackageNames(new String[]{"com.example.app"})
.blacklistedHashes(new String[]{"exampleHash"})
.suspiciousPermissions(new String[][]{{"android.permission.READ_CONTACTS"}, {"android.permission.SEND_SMS"}})
.whitelistedInstallationSources(new String[]{"com.android.vending"})
.build();// Flutter uses nested malware configuration object (malwareConfig)
final config = TalsecConfig(
androidConfig: AndroidConfig(
...
malwareConfig: MalwareConfig(
blacklistedPackageNames: ['com.example.app'],
blacklistedHashes: ['exampleHash'],
suspiciousPermissions: [
['android.permission.CAMERA'],
['android.permission.READ_SMS', 'android.permission.READ_CONTACTS'],
],
whitelistedInstallationSources: ['com.android.vending'],
),
),
iosConfig: IOSConfig(...),
...
);// React Native uses nested malware configuration object (malwareConfig)
const config = {
androidConfig: {
...
malwareConfig: {
blacklistedHashes: ['exampleHash'],
blacklistedPackageNames: ['com.example.app'],
suspiciousPermissions: [
['android.permission.BLUETOOTH', 'android.permission.INTERNET'],
['android.permission.BATTERY_STATS'],
],
whitelistedInstallationSources: ['com.android.vending'],
},
}
}// Cordova uses nested malware configuration object (malwareConfig)
const config = {
androidConfig: {
...
malwareConfig: {
blacklistedHashes: ['exampleHash'],
blacklistedPackageNames: ['com.example.app'],
suspiciousPermissions: [
['android.permission.BLUETOOTH', 'android.permission.INTERNET'],
['android.permission.BATTERY_STATS'],
],
whitelistedInstallationSources: ['com.android.vending'],
},
}
}// Capacitor uses nested malware configuration object (malwareConfig)
const config = {
androidConfig: {
...
malwareConfig: {
blacklistedHashes: ['exampleHash'],
blacklistedPackageNames: ['com.example.app'],
suspiciousPermissions: [
['android.permission.BLUETOOTH', 'android.permission.INTERNET'],
['android.permission.BATTERY_STATS'],
],
whitelistedInstallationSources: ['com.android.vending'],
},
}
}freeMalwareDetection is a free Android SDK that detects risky and malicious apps on users’ devices to protect your mobile app from fraud.
TalsecConfig config = new TalsecConfig.Builder(context.
final config = TalsecConfig(
androidConfig: AndroidConfig(
const config = {
androidConfig: {
const config = {
androidConfig: {
malwareConfig: {
blacklistedPackageNames: ['com.example.app'],
},
// Other config data
}
// Other config data
}const config = {
androidConfig: {
malwareConfig: {
blacklistedPackageNames: ['com.example.app'],
},
// Other config data
}
// Other config data
}TalsecConfig config = new TalsecConfig.Builder(context.getPackageName(), new String[] {CERTIFICATE_HASH})
.blacklistedHashes(new String[]{"exampleHash"})
.build();final config = TalsecConfig(
androidConfig: AndroidConfig(
malwareConfig: MalwareConfig(
blacklistedHashes: ['exampleHash'],
),
// Other config data
),
// Other config data
);const config = {
androidConfig: {
malwareConfig: {
blacklistedHashes: ['exampleHash'],
},
// Other config data
}
// Other config data
}const config = {
androidConfig: {
malwareConfig: {
blacklistedHashes: ['exampleHash'],
},
// Other config data
}
// Other config data
}const config = {
androidConfig: {
malwareConfig: {
blacklistedHashes: ['exampleHash'],
},
// Other config data
}
// Other config data
}TalsecConfig config = new TalsecConfig.Builder(context.getPackageName(), new String[][] {CERTIFICATE_HASH})
.suspiciousPermissions(new String[][]{{"android.permission.ACCESS_COARSE_LOCATION"}})
.build();final config = TalsecConfig(
androidConfig: AndroidConfig(
malwareConfig: MalwareConfig(
suspiciousPermissions: [
['android.permission.ACCESS_COARSE_LOCATION']
],
),
// Other config data
),
// Other config data
);const config = {
androidConfig: {
malwareConfig: {
suspiciousPermissions: [
['android.permission.ACCESS_COARSE_LOCATION']
],
},
// Other config data
}
// Other config data
}const config = {
androidConfig: {
malwareConfig: {
suspiciousPermissions: [
['android.permission.ACCESS_COARSE_LOCATION']
],
},
// Other config data
}
// Other config data
}const config = {
androidConfig: {
malwareConfig: {
suspiciousPermissions: [
['android.permission.ACCESS_COARSE_LOCATION']
],
},
// Other config data
}
// Other config data
}shasum -a 256 yourfile.apk// Blacklist of permissions
[
// List (group) of permissions
// Application is suspicious if it has *GRANTED* all of permissions from
// given group
["android.provider.Telephony.SMS_RECEIVED", "android.permission.SEND_SMS"]
["android.permission.READ_CALL_LOG"]
]// The following callback from the ThreatCallback has to be provided:
final callback = ThreatCallback(
onMalware: (susApps) {
// TODO: Not yet implemented
}
// Other callbacks...
);// The following callback from the ThreatListener.ThreatDetected has to be implemented:
override fun onMalwareDetected(p0: MutableList<SuspiciousAppInfo>?) {
TODO("Not yet implemented")
}// The following callback in the actions object has to be provided:
import { type SuspiciousAppInfo } from 'freerasp-react-native';
const actions = {
...
// Android only
malware: (suspiciousApps: SuspiciousAppInfo[]) => {
console.log('Detected suspicious apps: ', suspiciousApps);
},
},// The following callback in the actions object has to be provided:
const actions = {
...
// Android only
malware: (suspiciousApps) => {
console.log('Detected suspicious apps: ', suspiciousApps);
},
},// The following callback in the actions object has to be provided:
import { type SuspiciousAppInfo } from 'capacitor-freerasp';
const actions = {
...
// Android only
malware: (suspiciousApps: SuspiciousAppInfo[]) => {
console.log('Detected suspicious apps: ', suspiciousApps);
},
},Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", item.getPackageInfo().packageName, null);
intent.setData(uri);
context.startActivity(intent);android:nameandroid:nameandroid:nameandroid:name// Parsing and decoding image
final SuspiciousAppInfo app = ...
final decodedImage = base64.decode(app.packageInfo.appIcon);
// In the widget tree, you can use:
Image.memory(decodedImage);<Image source={{ uri: `data:image/png;base64,${app.packageInfo.appIcon}` }} /><img src=`data:image/png;base64,${app.packageInfo.appIcon}`/><IonImg src={`data:image/png;base64,${app.packageInfo.appIcon}`} />