Posts

Showing posts from November, 2021

How To Unit Test Android ViewModel With LiveData & Kotlin Coroutines

Image
In this blog posts, I will show you a project that demonstrate unit testing for ViewModel with LiveData with Kotlin Coroutines that follows a basic MVVM or MVI Architecture. We will write a unit tests for a ViewModel that makes a network call to validate if its behaving as expected or not. The implementation is already in my Bitbucket. Checkout this commit  You should go through the project and come back here. The project follows a basic MVVM architecture and has the full unit test implementation. Basically the unit tests mock, spy and observe the object and its dependencies and we'll use assertions and verifications methods. We never really uses production data in unit-tests. We never really uses actual objects in unit tests. Unit tests as its name implies `unit` is a test of smaller parts of a large system. Your project must be testable to begin with. The objects or classes in your system must be mockable. If not you should do some re-work. You can do some research on how to w

Why Blocking An App Execution On Jailbroken iPhone And Rooted Android Device Is Pointless

Jailbreak | rooted phone detection programmatically is popular. They think that it is a strong anti reverse-engineering method. Yes it is if the hacker cannot bypass the checking in any way. There's no 100% guaranteed way to block an app's execution on a jailbroken or rooted device. Remember the device is already been jailbroken or rooted, meaning the hacker can execute arbitrary code and they would modify whatever method you have to detect if the phone is rooted or jailbroken. Popular Detection Method Here's a list of well known method to detect tampered device programmatically: iPhone File system based detection. System API based detection. Cydia scheme detection. Android https://ronillo-ang.blogspot.com/2021/11/how-can-you-tell-if-your-phone-is-rooted.html Popular Way To Bypass Jailbreak | Rooted Phone Detection Hackers can counter-attack and here's some popular ways they can bypass your checking: Using Frida. Using Cycript, Liberty-Lite, A-Bypass, KernByPass. Sum

How To Check If Your Android Phone Is Official Or Rooted

Image
You are probably here because you're uncertain if your phone has been rooted or official. This blog posts will tell you several ways to check if your phone is rooted (tampered). Usually Android phone manufacturers are putting restrictions to what the users can do and install on their phone. Some people break those restrictions by rooting the device. Android is a modified Linux kernel, so rooting the device will give the user an access to administrative permissions or super user. A rooted device are open to many security risks. A rooted device will not be able to receive software updated via OTA. Use My Root Checker App I have an app that can check if your phone has indication of root (meaning the phone has been tampered). All you have to do is to click on the Google Play badge below, install and open the app on your phone! My root checker app is less than 3mb and it has simple UI. Use The Phone Settings Simply go to your phone settings and search for 'device status&#

How To Debug Android Applications Without Using Android Studio IDE | Introduction To Java Debug Wire Protocol

With Android Studio IDE, the debugging of an Android apps is much easier. But if you have decided to develop an Android apps without using any IDE then this blog posts will be helpful for you. See here w hy would anyone wants to develop Android apps or modules without Android Studio? Disclaimer:  This guide is provided "as is" with no warranties with regard to the accuracy and completeness of the information provided herein. I expect you to have an inquisitive mind to try things out, and the patience to first google and try to find answers to simple questions. Introduction to JDB (Java Debugger) JDWP is a very useful tools for debugging Java applications or any JVM-like applications. Since Android programs is basically a Java, we can use then the JDB to debug our Android applications. How To Use The JDB Let's get it to the point and straight to the process of using the JDB. Make sure you have the JDB