All contributions should be submitted through GitHub pull requests to maintain code quality and enable community review.
Getting Started
Before contributing, please:- Fork the repository on GitHub
- Clone your fork locally
- Create a new branch for your contribution
- Make your changes following our guidelines
- Submit a pull request with a clear description
GitHub Repository
Visit the main repository to get started with contributions
Contribution Guidelines
Adding New Scripts
Adding New Scripts
Script Contribution Process
When contributing new analysis scripts:-
Place scripts in the appropriate directory
- Frida scripts go in
/frida-scripts/ - Python analysis tools go in
/tools/ - Shell scripts go in
/scripts/
- Frida scripts go in
-
Follow naming conventions
- Use descriptive, lowercase names with underscores
- Example:
hook_ui_methods.js,extract_strings.py
-
Include documentation
- Add comments explaining the script’s purpose
- Document all parameters and usage examples
- Include expected output format
-
Test thoroughly
- Test on multiple iOS versions if possible
- Verify script works on both jailbroken and non-jailbroken scenarios where applicable
- Include sample output in your PR
Example Script Header
Submitting Example IPA Files
Submitting Example IPA Files
IPA File Submissions
Example IPA files help others learn and test reverse engineering techniques.Acceptable submissions:- Your own applications
- Open-source iOS applications
- Sample apps created for educational purposes
- Apps with explicit permission from the copyright holder
- Ensure the IPA is legally distributable
- Include a README describing the app and interesting features to analyze
- Note any specific security mechanisms (encryption, obfuscation, etc.)
- Upload to a file hosting service and link in your PR
- Include SHA-256 hash for verification
Generate SHA-256 Hash
Documentation Improvements
Documentation Improvements
Improving Documentation
Documentation contributions are highly valued!What to contribute:- Clarifications to existing tutorials
- Additional examples and use cases
- Corrections to technical inaccuracies
- New guides and walkthroughs
- Improved code comments
- Use clear, concise language
- Include code examples where appropriate
- Add screenshots for GUI-based tools
- Link to relevant external resources
- Follow the existing MDX formatting style
Code Quality Standards
Code Quality Standards
Quality Requirements
All code contributions should meet these standards:General requirements:- Code should be well-commented and self-documenting
- Follow language-specific style guides (PEP 8 for Python, etc.)
- Include error handling for common failure cases
- No hardcoded credentials or sensitive information
- Use Python 3.7+
- Include type hints where appropriate
- Follow PEP 8 style guidelines
- Use virtual environments for dependencies
- Test with the latest stable Frida version
- Include version requirements in comments
- Handle errors gracefully
- Use modern JavaScript (ES6+)
- Include shebang line
- Use POSIX-compliant syntax when possible
- Check for required tools before execution
Pull Request Process
Create a descriptive PR title
Use a clear, concise title that describes your changes:
- “Add Frida script for hooking network requests”
- “Fix typo in IPA extraction tutorial”
- “Update tool requirements for iOS 17”
Write a detailed description
Include:
- What changes you made and why
- Any issues your PR addresses
- Testing you performed
- Screenshots (if UI changes)
Wait for review
Maintainers will review your PR and may request changes. Be responsive to feedback and make requested updates promptly.
Community Guidelines
Be Respectful
Treat all contributors with respect and professionalism. We maintain a welcoming environment for all skill levels.
Stay Legal
Only contribute content that respects intellectual property rights and applicable laws.
Ask Questions
Not sure about something? Open an issue or discussion to ask before submitting.
Give Credit
If your contribution builds on others’ work, provide appropriate attribution.
Getting Help
If you need help with your contribution:- GitHub Issues: For bug reports and feature requests
- GitHub Discussions: For questions and general discussion
- Pull Request Comments: For specific questions about your PR
Project Wiki
Check the wiki for additional guides and reference materials
Thank you for contributing to the iOS Reverse Engineering Reference! Your contributions help the entire community learn and grow.