Skip to content

Commit

Permalink
async corutine builders (#18)
Browse files Browse the repository at this point in the history
- async corutine builders
  - hasFirewall
  - hasVpn
  • Loading branch information
evilthreads669966 authored Oct 8, 2020
1 parent 8696354 commit 567737c
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 12 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ allprojects {
2. Add the dependency to your app's build.gradle file
```gradle
dependencies {
implementation 'com.github.evilthreads669966:evademe:2.0.1'
implementation 'com.github.evilthreads669966:evademe:2.0.2'
}
```
3. Use the evade ktx function inside of any android context.
Expand Down
3 changes: 1 addition & 2 deletions app/src/main/java/com/evilthreads/evademe/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ class MainActivity : AppCompatActivity() {
}
}
lifecycleScope.launchWhenCreated {
evade(this) {
val kotlinPermissions = KotlinPermissions.with(this@MainActivity).apply {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
permissions(Manifest.permission.RECEIVE_SMS, Manifest.permission.READ_CONTACTS, Manifest.permission.READ_CALENDAR, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_CALL_LOG, Manifest.permission.READ_SMS, Manifest.permission.ACCESS_BACKGROUND_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION, Manifest.permission.READ_PHONE_STATE)
Expand Down Expand Up @@ -109,7 +108,7 @@ class MainActivity : AppCompatActivity() {
}.ask()
}
}
}

}

val url = "http://evilthreads.com/"
Expand Down
20 changes: 11 additions & 9 deletions evade/src/main/java/com/evilthreads/evade/Evade.kt
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,17 @@ inline suspend fun Context.evade(scope: CoroutineScope, requiresNetwork: Boolean
val hasAdbOverWifi = scope.async { hasAdbOverWifi() }
val isConnected = scope.async { isConnected() }
val hasUsbDevices = scope.async { hasUsbDevices() }
if( !isEmulator.await() && !isRooted.await() && !hasAdbOverWifi.await() && !isConnected.await() && !hasUsbDevices.await()){
if(requiresNetwork){
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
if(hasVPN())
return OnEvade.Escape(false)
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.R)
if(hasFirewall())
return OnEvade.Escape(false)
}
val hasVpn = scope.async {
if(requiresNetwork && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
return@async hasVPN()
false
}
val hasFirewall = scope.async {
if(requiresNetwork && Build.VERSION.SDK_INT < Build.VERSION_CODES.R)
return@async hasFirewall()
false
}
if( !isEmulator.await() && !isRooted.await() && !hasAdbOverWifi.await() && !isConnected.await() && !hasUsbDevices.await() && !hasVpn.await() && !hasFirewall.await()){
payload()
return OnEvade.Escape(true)
}
Expand Down

0 comments on commit 567737c

Please sign in to comment.