Convert Figma logo to code with AI

dpnishant logoappmon

Documentation:

1,553
275
1,553
38

Top Related Projects

Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.

15,664

Clone this repo to build Frida

📱 objection - runtime mobile exploration

40,878

Dex to Java decompiler

A list of useful payloads and bypass for Web Application Security and Pentest/CTF

Quick Overview

AppMon is an automated framework for monitoring and tampering system API calls of native macOS, iOS, and Android apps. It is designed to help security researchers and developers analyze app behavior, detect potential vulnerabilities, and modify app functionality on-the-fly.

Pros

  • Supports multiple platforms (macOS, iOS, Android)
  • Provides real-time API monitoring and modification capabilities
  • Offers a user-friendly web interface for easy interaction
  • Integrates with popular reverse engineering tools like Frida

Cons

  • Requires a jailbroken/rooted device for full functionality
  • May have compatibility issues with certain apps or OS versions
  • Limited documentation and community support
  • Potential legal and ethical concerns when used on third-party apps

Getting Started

  1. Clone the repository:

    git clone https://github.com/dpnishant/appmon.git
    
  2. Install dependencies:

    cd appmon
    pip install -r requirements.txt
    
  3. Run the AppMon server:

    python appmon.py
    
  4. Access the web interface at http://localhost:5000 and follow the on-screen instructions to start monitoring your target app.

Note: Ensure you have the necessary permissions and have set up your device correctly (jailbroken/rooted) before using AppMon.

Competitor Comparisons

Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.

Pros of Mobile-Security-Framework-MobSF

  • Comprehensive analysis for both Android and iOS applications
  • Automated static and dynamic analysis capabilities
  • Web-based user interface for easy access and reporting

Cons of Mobile-Security-Framework-MobSF

  • Requires more setup and dependencies compared to AppMon
  • May be overkill for simple runtime analysis tasks
  • Potentially slower for quick, targeted assessments

Code Comparison

AppMon example (Python):

@app.route('/api/v1/login', methods=['POST'])
def login():
    username = request.form['username']
    password = request.form['password']
    # Login logic here

Mobile-Security-Framework-MobSF example (Python):

def ios_source_analysis(src):
    try:
        print("[INFO] Running iOS Source Code Analysis")
        ios_rules = StaticAnalyzer.load_rules("ios")
        analyzer = SourceCodeAnalyzer(ios_rules, src)
        analysis_result = analyzer.analyze()
        return analysis_result
    except Exception:
        logger.exception("iOS Source Code Analysis")

The AppMon code snippet shows a simple route definition for API monitoring, while the MobSF example demonstrates a more complex source code analysis function for iOS applications. This highlights the difference in scope and functionality between the two tools, with MobSF offering more comprehensive analysis capabilities.

15,664

Clone this repo to build Frida

Pros of Frida

  • More versatile and powerful, supporting a wider range of platforms and languages
  • Larger community and more frequent updates
  • Offers real-time instrumentation and dynamic code injection

Cons of Frida

  • Steeper learning curve, especially for beginners
  • Requires more setup and configuration for complex use cases

Code Comparison

Appmon (Python):

@app.route('/api/v1/user', methods=['POST'])
def create_user():
    username = request.form['username']
    password = request.form['password']
    # ... rest of the function

Frida (JavaScript):

Java.perform(function () {
  var MainActivity = Java.use('com.example.app.MainActivity');
  MainActivity.onCreate.implementation = function (savedInstanceState) {
    console.log('MainActivity.onCreate() called');
    this.onCreate(savedInstanceState);
  };
});

Summary

Frida is a more powerful and flexible tool for dynamic instrumentation and analysis, suitable for advanced users and complex scenarios. It offers broader platform support and a larger community. However, it may be more challenging for beginners to use effectively.

Appmon, on the other hand, is more focused on mobile app security testing and provides a simpler interface for common tasks. It may be easier to set up and use for specific mobile app testing scenarios but lacks the versatility and extensive features of Frida.

📱 objection - runtime mobile exploration

Pros of objection

  • More comprehensive mobile app security assessment toolkit
  • Actively maintained with frequent updates
  • Supports both iOS and Android platforms

Cons of objection

  • Steeper learning curve due to more complex features
  • Requires more setup and configuration

Code comparison

appmon:

@app.route('/api/v1/monitor', methods=['POST'])
def monitor():
    data = request.get_json()
    # Process monitoring data
    return jsonify({'status': 'success'})

objection:

@cli.command()
def monitor():
    click.echo('Starting monitoring...')
    # Implement monitoring logic
    click.echo('Monitoring complete')

Key differences

  • appmon focuses on API monitoring and HTTP-based interactions
  • objection provides a more comprehensive set of mobile app security assessment tools
  • appmon has a simpler setup process, while objection offers more advanced features
  • objection supports both iOS and Android, whereas appmon primarily targets iOS

Use cases

  • Choose appmon for quick API monitoring and basic iOS app analysis
  • Opt for objection when conducting in-depth mobile app security assessments on both iOS and Android platforms

Community and support

  • objection has a larger and more active community
  • appmon has fewer contributors but may be easier to get started with for beginners
40,878

Dex to Java decompiler

Pros of jadx

  • More comprehensive decompilation capabilities, supporting Java and Dalvik bytecode
  • Active development with frequent updates and bug fixes
  • Provides both GUI and command-line interfaces for flexibility

Cons of jadx

  • Focused solely on decompilation, lacking dynamic analysis features
  • May require additional tools for complete mobile app security assessment
  • Steeper learning curve for users new to reverse engineering

Code comparison

appmon:

def on_message(message, data):
    if message['type'] == 'send':
        print("[*] {0}".format(message['payload']))
    else:
        print(message)

jadx:

public static void main(String[] args) {
    JadxArgs jadxArgs = new JadxArgs();
    jadxArgs.setInputFile(new File(args[0]));
    jadxArgs.setOutDir(new File("out"));
    JadxDecompiler jadx = new JadxDecompiler(jadxArgs);
    jadx.load();
    jadx.save();
}

Summary

appmon is a dynamic analysis tool for iOS and Android apps, focusing on runtime monitoring and API hooking. It's particularly useful for security researchers and penetration testers.

jadx, on the other hand, is a powerful static analysis tool that excels in decompiling Android apps and Dalvik bytecode to Java source code. It's invaluable for reverse engineering and understanding the structure of Android applications.

While appmon provides real-time insights into app behavior, jadx offers a deep dive into the app's source code. The choice between the two depends on the specific requirements of the analysis task at hand.

A list of useful payloads and bypass for Web Application Security and Pentest/CTF

Pros of PayloadsAllTheThings

  • Comprehensive collection of payloads and techniques for various security testing scenarios
  • Regularly updated with new content and contributions from the community
  • Well-organized structure, making it easy to find specific payloads or techniques

Cons of PayloadsAllTheThings

  • Lacks specific focus on mobile application security testing
  • Does not provide a ready-to-use tool or framework for automated testing
  • May require more manual effort to implement payloads in testing scenarios

Code Comparison

PayloadsAllTheThings (SQL Injection example):

' OR '1'='1
' OR 1=1--
' UNION SELECT NULL,NULL,NULL--

AppMon (Frida script example):

Java.perform(function() {
    var MainActivity = Java.use("com.example.app.MainActivity");
    MainActivity.sensitiveFunction.implementation = function() {
        console.log("Sensitive function called");
    };
});

PayloadsAllTheThings offers a wide range of payloads for various attack vectors, while AppMon focuses on mobile app monitoring and provides a framework for dynamic analysis using Frida. PayloadsAllTheThings is more suitable for general security testing, whereas AppMon is specialized for mobile app security assessment and runtime manipulation.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Welcome to AppMon!

As seen at US & EU

Backers on Open Collective Sponsors on Open Collective

AppMon is an automated framework for monitoring and tampering system API calls of native macOS, iOS and android apps. It is based on Frida.

This project was only possible because of Ole André Vadla Ravnås and I dedicate it to him. Follow him on GitHub, Twitter

It consists of the following components:

  • AppMon Sniffer - Intercept API calls to figure out interesting operations performed by an App
  • Appmon Intruder - Manipulate API calls data to create change app's original behavior
  • AppMon Android Tracer - Automatically traces Java classes, methods, its arguments and their data-types in Android APKs
  • AppMon IPA Installer - Creates and installs "inspectable" IPAs on non-jailbroken iOS devices
  • AppMon APK Builder - Creates APKs "inspectable" on non-rooted Android devices

New/Experimental Features

Details

Documentation

Follow the documentation below to learn more. Click Here

Credits

JetBrains
JetBrains
Many thanks to JetBrains s.r.o. for providing a free license of All Products Pack to kindly support the development of appmon.

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]