

<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://blog.azzahid.com/</id>
  <title>Zahid's Blog</title>
  <subtitle>Blog about mobile security, Android/iOS, Python, and technology</subtitle>
  <updated>2026-05-08T04:49:56+00:00</updated>
  <author>
    <name>Zahid</name>
    <uri>https://blog.azzahid.com/</uri>
  </author>
  <link rel="self" type="application/atom+xml" href="https://blog.azzahid.com/feed.xml"/>
  <link rel="alternate" type="text/html" hreflang="en"
    href="https://blog.azzahid.com/"/>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <rights> © 2026 Zahid </rights>
  <icon>/assets/img/favicons/favicon.ico</icon>
  <logo>/assets/img/favicons/favicon-96x96.png</logo>


  
  <entry>
    <title>Abusing the Companion BAL Exemption for Ads</title>
    <link href="https://blog.azzahid.com/posts/abusing-companion-bal-exemption-for-ads/" rel="alternate" type="text/html" title="Abusing the Companion BAL Exemption for Ads" />
    <published>2026-04-27T00:00:00+00:00</published>
  
    <updated>2026-04-27T00:00:00+00:00</updated>
  
    <id>https://blog.azzahid.com/posts/abusing-companion-bal-exemption-for-ads/</id>
    <content type="text/html" src="https://blog.azzahid.com/posts/abusing-companion-bal-exemption-for-ads/" />
    <author>
      <name>Zahid</name>
    </author>

  
    
    <category term="Android" />
    
    <category term="Security" />
    
  

  <summary>Most Android abuse, in volume, is for ads. Adware accounted for 62% of mobile threat detections in 2025. Most of those detections are the same thing: an app puts a full-screen view on top of whatever the user is doing, long enough to register an ad impression and get paid.  That full-screen view is an Android Activity, the framework’s term for a single UI screen. The app showing it is not in th...</summary>

  </entry>

  
  <entry>
    <title>Android Runs ELF Files: Everything Else Is Just Layers</title>
    <link href="https://blog.azzahid.com/posts/android-runs-elf-files-everything-else-is-just-layers/" rel="alternate" type="text/html" title="Android Runs ELF Files: Everything Else Is Just Layers" />
    <published>2026-01-31T00:00:00+00:00</published>
  
    <updated>2026-01-31T00:00:00+00:00</updated>
  
    <id>https://blog.azzahid.com/posts/android-runs-elf-files-everything-else-is-just-layers/</id>
    <content type="text/html" src="https://blog.azzahid.com/posts/android-runs-elf-files-everything-else-is-just-layers/" />
    <author>
      <name>Zahid</name>
    </author>

  
    
    <category term="android" />
    
    <category term="architecture" />
    
    <category term="runtime" />
    
  

  <summary>If you’ve ever wondered how apps written in Python, JavaScript, or C++ can run on Android when everyone says “Android is for Java and Kotlin,” you’re asking the right question. The answer isn’t complicated, but it does require understanding what Android actually does at its core.    Android Is Just Another Operating System  Strip away the framework, the APIs, and the developer tools, and Androi...</summary>

  </entry>

  
  <entry>
    <title>What Is Android Application-Level Virtualization</title>
    <link href="https://blog.azzahid.com/posts/android-app-virtualization/" rel="alternate" type="text/html" title="What Is Android Application-Level Virtualization" />
    <published>2025-10-09T00:00:00+00:00</published>
  
    <updated>2025-10-09T00:00:00+00:00</updated>
  
    <id>https://blog.azzahid.com/posts/android-app-virtualization/</id>
    <content type="text/html" src="https://blog.azzahid.com/posts/android-app-virtualization/" />
    <author>
      <name>Zahid</name>
    </author>

  
    
    <category term="android" />
    
    <category term="virtualization" />
    
    <category term="security" />
    
  

  <summary>Application-level virtualization in Android is an advanced technology that allows users to run multiple instances of the same app on a single device. Essentially, one app acts as a host, creating isolated virtual spaces where guest apps run as if they were separate. To Android itself, there is no distinction between the host and guest apps.    This mechanism is primarily used to enable scenario...</summary>

  </entry>

  
  <entry>
    <title>One-Click Mobile Traffic Interception</title>
    <link href="https://blog.azzahid.com/posts/zero-config-mobile-security-testing-gateway/" rel="alternate" type="text/html" title="One-Click Mobile Traffic Interception" />
    <published>2025-09-01T00:00:00+00:00</published>
  
    <updated>2025-09-01T00:00:00+00:00</updated>
  
    <id>https://blog.azzahid.com/posts/zero-config-mobile-security-testing-gateway/</id>
    <content type="text/html" src="https://blog.azzahid.com/posts/zero-config-mobile-security-testing-gateway/" />
    <author>
      <name>Zahid</name>
    </author>

  
    
    <category term="Mobile Security" />
    
    <category term="Docker" />
    
    <category term="Network Gateway" />
    
    <category term="Traffic Interception" />
    
  

  <summary>Traditional mobile security testing requires configuring proxy settings on each device, manually switching between intercepted and normal modes, and reconfiguring settings when passing devices between team members. This creates overhead and breaks testing flow.  This article presents a network-level solution that eliminates device configuration entirely. A containerized router acts as an intell...</summary>

  </entry>

  
  <entry>
    <title>Manage Frida Directly from the Browser</title>
    <link href="https://blog.azzahid.com/posts/frida-browser-websocket/" rel="alternate" type="text/html" title="Manage Frida Directly from the Browser" />
    <published>2025-08-31T00:00:00+00:00</published>
  
    <updated>2025-08-31T18:45:45+00:00</updated>
  
    <id>https://blog.azzahid.com/posts/frida-browser-websocket/</id>
    <content type="text/html" src="https://blog.azzahid.com/posts/frida-browser-websocket/" />
    <author>
      <name>Zahid</name>
    </author>

  
    
    <category term="Frida" />
    
    <category term="WebSockets" />
    
    <category term="Browser" />
    
    <category term="Security" />
    
  

  <summary>With Frida v15, WebSocket support was introduced, creating an opportunity to run Frida directly inside the browser. Traditionally this was not possible because Frida relies on D-Bus, and D-Bus requires operating system sockets, which are not available in browser environments.  The common workaround has been to use proxy servers. These proxies translate messages between the browser and Frida, bu...</summary>

  </entry>

</feed>


