<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://patali09.github.io/</id><title>Niraj Neupane</title><subtitle>github, patali, blog, offensive security, mobile security, application security, web security, research</subtitle> <updated>2026-07-15T08:50:03+05:45</updated> <author> <name>Niraj Neupane</name> <uri>https://patali09.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://patali09.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://patali09.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Niraj Neupane </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>DroidCave - Secure Password Management</title><link href="https://patali09.github.io/posts/DroidCave-Secure-Password-Management/" rel="alternate" type="text/html" title="DroidCave - Secure Password Management" /><published>2026-06-27T19:05:00+05:45</published> <updated>2026-07-15T08:49:38+05:45</updated> <id>https://patali09.github.io/posts/DroidCave-Secure-Password-Management/</id> <content type="text/html" src="https://patali09.github.io/posts/DroidCave-Secure-Password-Management/" /> <author> <name>Niraj Neupane</name> </author> <category term="Android" /> <summary>Description In the given challenge we were provided with a DroidCave.apk, which was basically a password manager. Our goal is to develop a malicious Android application with an innocent appearance that can, with just one click of a seemingly normal button, steal both plaintext passwords and the decrypted form of encrypted passwords from the DroidCave database. Saving couple of password Anal...</summary> </entry> <entry><title>AndroDialer - The Ultimate Phone Experience</title><link href="https://patali09.github.io/posts/AndroDialer-The-Ultimate-Phone-Experience/" rel="alternate" type="text/html" title="AndroDialer - The Ultimate Phone Experience" /><published>2026-06-10T11:55:00+05:45</published> <updated>2026-07-15T08:49:38+05:45</updated> <id>https://patali09.github.io/posts/AndroDialer-The-Ultimate-Phone-Experience/</id> <content type="text/html" src="https://patali09.github.io/posts/AndroDialer-The-Ultimate-Phone-Experience/" /> <author> <name>Niraj Neupane</name> </author> <category term="Android" /> <summary>In this challenge, AndroDialer.apk was provided. On installing it on a device running Android 16, it looks like a call app with Dialer, Contacts, and Recent features. Dialer Screen of AndroDialer Our Goal Create a malicious application that exploits the AndroDialer application to initiate unauthorized phone calls to arbitrary numbers without the victim’s consent. Analysis As the first ste...</summary> </entry> <entry><title>AndroPseudoProtect - The Ultimate Device Security</title><link href="https://patali09.github.io/posts/AndroPseudoProtect-The-Ultimate-Device-Security/" rel="alternate" type="text/html" title="AndroPseudoProtect - The Ultimate Device Security" /><published>2026-05-25T19:25:00+05:45</published> <updated>2026-07-15T08:49:38+05:45</updated> <id>https://patali09.github.io/posts/AndroPseudoProtect-The-Ultimate-Device-Security/</id> <content type="text/html" src="https://patali09.github.io/posts/AndroPseudoProtect-The-Ultimate-Device-Security/" /> <author> <name>Niraj Neupane</name> </author> <category term="Android" /> <summary>After installing the app on our Android 16 device, we see a Start Security button that encrypts files on external storage. Our goal is to silently disable this encryption and read the decrypted files. Landing page of AndroPseudoProtect apk. As the first step of our analysis, we opened the target application in jadx-gui and inspected AndroidManifest.xml. At a glance, we noticed that the com.e...</summary> </entry> <entry><title>FactsDroid - Your Universal Knowledgebase</title><link href="https://patali09.github.io/posts/FactsDroid-Your-Universal-Knowledgebase/" rel="alternate" type="text/html" title="FactsDroid - Your Universal Knowledgebase" /><published>2026-05-15T19:20:00+05:45</published> <updated>2026-07-15T08:49:38+05:45</updated> <id>https://patali09.github.io/posts/FactsDroid-Your-Universal-Knowledgebase/</id> <content type="text/html" src="https://patali09.github.io/posts/FactsDroid-Your-Universal-Knowledgebase/" /> <author> <name>Niraj Neupane</name> </author> <category term="Android" /> <summary>At first, we install the app on an Android device. On opening it, we get a security warning due to the rooted device, and the Random Fact button is also disabled. Opening app on a rooted device We open the application in jadx and go to Resources &amp;gt; lib &amp;gt; arm64-v8a. There are two files, libapp.so and libflutter.so, which confirms that the app is built with the Flutter framework. Openin...</summary> </entry> <entry><title>Biometrics in Android Apps: What Could Possibly Go Wrong and How Attackers Exploit It.</title><link href="https://patali09.github.io/posts/Biometric-Implementation-in-Android-What-could-possibly-go-wrong/" rel="alternate" type="text/html" title="Biometrics in Android Apps: What Could Possibly Go Wrong and How Attackers Exploit It." /><published>2026-03-27T11:55:00+05:45</published> <updated>2026-03-28T23:31:50+05:45</updated> <id>https://patali09.github.io/posts/Biometric-Implementation-in-Android-What-could-possibly-go-wrong/</id> <content type="text/html" src="https://patali09.github.io/posts/Biometric-Implementation-in-Android-What-could-possibly-go-wrong/" /> <author> <name>Niraj Neupane</name> </author> <category term="Android" /> <summary>The App: A Tale of Two Implementations The app we are looking at is called biometric (com.example.biometric). It lets a user enroll with a username and password, then log in using their fingerprint. Simple enough. The APK and source are available at github.com/patali09/Frida-Challenges/tree/main/Biometric But here is the twist - it has two modes: Mode What It Does ...</summary> </entry> </feed>
