Skip to main content
Help us improve Python packaging – donate today!

Inject JavaScript to explore native apps on Windows, Mac, Linux, iOS and Android

Project Description

## So what is Frida, exactly?

It’s Greasemonkey for native apps, or, put in more technical terms, it’s a dynamic code instrumentation toolkit. It lets you inject snippets of JavaScript into native apps on Windows, Mac, Linux and iOS. Frida also provides you with some simple tools built on top of the Frida API. These can be used as-is, tweaked to your needs, or serve as examples of how to use the API.

## Why do I need this?

Great question. We’ll try to clarify with some use-cases:

  • There’s this new hot app everybody’s so excited about, but it’s only available for iOS and you’d love to interop with it. You realize it’s relying on encrypted network protocols and tools like Wireshark just won’t cut it. You pick up Frida and use it for API tracing.
  • You’re building a desktop app which has been deployed at a customer’s site. There’s a problem but the built-in logging code just isn’t enough. You need to send your customer a custom build with lots of expensive logging code. Then you realize you could just use Frida and build an application- specific tool that will add all the diagnostics you need, and in just a few lines of Python. No need to send the customer a new custom build - you just send the tool which will work on many versions of your app.
  • You’d like to build a Wireshark on steroids with support for sniffing encrypted protocols. It could even manipulate function calls to fake network conditions that would otherwise require you to set up a test lab.
  • Your in-house app could use some black-box tests without polluting your production code with logic only required for exotic testing.

## Why a Python API, but JavaScript debugging logic?

Frida’s core is written in C and injects Google’s V8 engine into the target processes, where your JS gets executed with full access to memory, hooking functions and even calling native functions inside the process. There’s a bi-directional communication channel that is used to talk between your app (Python?) and the JS running inside the target process.

On top of this C core there are multiple language bindings (Python, .NET and a browser plugin), and it is very easy to build further bindings for other languages and environments (Node.js could be a future binding if anyone’s interested in helping out with that).

## So how do I get started?

Have a look at our [Quick-start Guide](http://www.frida.re/docs/quickstart/).

Release history Release notifications

History Node

10.7.7

History Node

10.7.6

History Node

10.7.5

History Node

10.7.4

History Node

10.7.3

History Node

10.7.2

History Node

10.7.1

History Node

10.7.0

History Node

10.6.61

History Node

10.6.60

History Node

10.6.59

History Node

10.6.58

History Node

10.6.57

History Node

10.6.56

History Node

10.6.55

History Node

10.6.54

History Node

10.6.53

History Node

10.6.52

History Node

10.6.51

History Node

10.6.50

History Node

10.6.49

History Node

10.6.48

History Node

10.6.47

History Node

10.6.46

History Node

10.6.45

History Node

10.6.44

History Node

10.6.43

History Node

10.6.42

History Node

10.6.41

History Node

10.6.40

History Node

10.6.39

History Node

10.6.38

History Node

10.6.37

History Node

10.6.36

History Node

10.6.35

History Node

10.6.34

History Node

10.6.33

History Node

10.6.32

History Node

10.6.31

History Node

10.6.30

History Node

10.6.29

History Node

10.6.28

History Node

10.6.27

History Node

10.6.26

History Node

10.6.25

History Node

10.6.24

History Node

10.6.23

History Node

10.6.22

History Node

10.6.21

History Node

10.6.20

History Node

10.6.19

History Node

10.6.18

History Node

10.6.17

History Node

10.6.16

History Node

10.6.15

History Node

10.6.14

History Node

10.6.13

History Node

10.6.12

History Node

10.6.11

History Node

10.6.10

History Node

10.6.9

History Node

10.6.8

History Node

10.6.7

History Node

10.6.6

History Node

10.6.5

History Node

10.6.4

History Node

10.6.3

History Node

10.6.2

History Node

10.6.1

History Node

10.6.0

History Node

10.5.15

History Node

10.5.14

History Node

10.5.13

History Node

10.5.12

History Node

10.5.11

History Node

10.5.10

History Node

10.5.9

History Node

10.5.8

History Node

10.5.7

History Node

10.5.6

History Node

10.5.5

History Node

10.5.4

History Node

10.5.3

History Node

10.5.2

History Node

10.5.1

History Node

10.5.0

History Node

10.4.0

History Node

10.3.14

History Node

10.3.13

History Node

10.3.12

History Node

10.3.11

History Node

10.3.10

History Node

10.3.9

History Node

10.3.8

History Node

10.3.7

History Node

10.3.6

History Node

10.3.4

History Node

10.3.2

History Node

10.3.1

History Node

10.3.0

History Node

10.2.3

History Node

10.2.2

History Node

10.2.1

History Node

10.2.0

History Node

10.1.7

History Node

10.1.6

History Node

10.1.5

History Node

10.1.4

History Node

10.1.3

History Node

10.1.2

History Node

10.1.1

History Node

10.1.0

History Node

10.0.15

History Node

10.0.14

History Node

10.0.13

History Node

10.0.12

History Node

10.0.11

History Node

10.0.10

History Node

10.0.9

History Node

10.0.8

History Node

10.0.7

History Node

10.0.6

History Node

10.0.5

History Node

10.0.4

History Node

10.0.3

History Node

10.0.2

History Node

10.0.1

History Node

10.0.0

History Node

9.1.28

History Node

9.1.27

History Node

9.1.26

History Node

9.1.25

History Node

9.1.24

History Node

9.1.23

History Node

9.1.22

History Node

9.1.21

History Node

9.1.20

History Node

9.1.19

History Node

9.1.18

History Node

9.1.17

History Node

9.1.16

History Node

9.1.15

History Node

9.1.14

History Node

9.1.13

History Node

9.1.12

History Node

9.1.11

History Node

9.1.10

History Node

9.1.9

History Node

9.1.8

History Node

9.1.7

History Node

9.1.6

History Node

9.1.5

History Node

9.1.4

History Node

9.1.3

History Node

9.1.2

History Node

9.1.1

History Node

9.1.0

History Node

9.0.13

History Node

9.0.12

History Node

9.0.11

History Node

9.0.10

History Node

9.0.9

History Node

9.0.8

History Node

9.0.7

History Node

9.0.6

History Node

9.0.5

History Node

9.0.4

History Node

9.0.3

History Node

9.0.2

History Node

9.0.1

History Node

9.0.0

History Node

8.2.5

History Node

8.2.4

History Node

8.2.3

History Node

8.2.2

History Node

8.2.1

History Node

8.2.0

History Node

8.1.14

History Node

8.1.13

History Node

8.1.12

History Node

8.1.11

History Node

8.1.10

History Node

8.1.9

History Node

8.1.8

History Node

8.1.7

History Node

8.1.6

History Node

8.1.5

History Node

8.1.4

History Node

8.1.3

History Node

8.1.2

History Node

8.1.1

History Node

8.1.0

History Node

8.0.3

History Node

8.0.2

History Node

8.0.1

History Node

8.0.0

History Node

7.3.6

History Node

7.3.5

History Node

7.3.4

History Node

7.3.3

History Node

7.3.2

History Node

7.3.1

History Node

7.3.0

History Node

7.2.25

History Node

7.2.24

History Node

7.2.23

History Node

7.2.22

History Node

7.2.21

History Node

7.2.20

History Node

7.2.19

History Node

7.2.18

History Node

7.2.17

History Node

7.2.16

History Node

7.2.15

History Node

7.2.14

History Node

7.2.13

History Node

7.2.12

History Node

7.2.11

History Node

7.2.10

History Node

7.2.9

History Node

7.2.8

History Node

7.2.7

History Node

7.2.6

History Node

7.2.5

History Node

7.2.4

History Node

7.2.3

History Node

7.2.2

History Node

7.2.1

History Node

7.2.0

History Node

7.1.13

History Node

7.1.12

History Node

7.1.11

History Node

7.1.10

History Node

7.1.9

History Node

7.1.8

History Node

7.1.7

History Node

7.1.6

History Node

7.1.5

History Node

7.1.4

History Node

7.1.3

History Node

7.1.2

History Node

7.1.1

History Node

7.1.0

History Node

7.0.11

History Node

7.0.10

History Node

7.0.9

History Node

7.0.8

History Node

7.0.7

History Node

7.0.6

History Node

7.0.5

History Node

7.0.4

History Node

7.0.3

History Node

7.0.2

History Node

7.0.1

History Node

7.0.0

History Node

6.2.6

History Node

6.2.5

History Node

6.2.4

History Node

6.2.3

History Node

6.2.2

History Node

6.2.1

History Node

6.2.0

History Node

6.1.5

History Node

6.1.4

History Node

6.1.3

History Node

6.1.2

History Node

6.1.1

History Node

6.1.0

History Node

6.0.12

History Node

6.0.11

History Node

6.0.10

History Node

6.0.9

History Node

6.0.8

History Node

6.0.7

History Node

6.0.6

History Node

6.0.5

History Node

6.0.4

History Node

6.0.3

History Node

6.0.2

History Node

6.0.1

History Node

6.0.0

History Node

5.0.10

History Node

5.0.9

History Node

5.0.8

History Node

5.0.7

History Node

5.0.6

History Node

5.0.5

History Node

5.0.4

History Node

5.0.3

History Node

5.0.2

History Node

5.0.1

History Node

5.0.0

History Node

4.5.1

History Node

4.5.0

History Node

4.4.0

History Node

4.3.7

History Node

4.3.6

History Node

4.3.5

History Node

4.3.4

History Node

4.3.3

History Node

4.3.2

History Node

4.3.1

History Node

4.3.0

History Node

4.2.12

History Node

4.2.11

History Node

4.2.10

History Node

4.2.9

History Node

4.2.8

History Node

4.2.7

History Node

4.2.6

History Node

4.2.5

History Node

4.2.4

History Node

4.2.3

History Node

4.2.2

History Node

4.2.1

History Node

4.2.0

History Node

4.1.9

History Node

4.1.8

History Node

4.1.7

History Node

4.1.6

History Node

4.1.5

History Node

4.1.4

History Node

4.1.3

History Node

4.1.2

History Node

4.1.1

History Node

4.1.0

History Node

4.0.6

History Node

4.0.5

History Node

4.0.3

History Node

4.0.2

History Node

4.0.1

History Node

4.0.0

History Node

3.0.1

History Node

3.0.0

History Node

2.2.0

History Node

2.0.2

History Node

2.0.1

History Node

2.0.0

History Node

1.8.0

History Node

1.6.8

History Node

1.6.7

History Node

1.6.5

History Node

1.6.4

This version
History Node

1.6.3

History Node

1.6.2

History Node

1.6.1

History Node

1.6.0

History Node

1.4.2

History Node

1.4.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
frida-1.6.3-py2.6-macosx-10.9-intel.egg (13.6 MB) Copy SHA256 hash SHA256 Egg 2.6 Aug 24, 2014
frida-1.6.3-py2.7-linux-x86_64.egg (4.7 MB) Copy SHA256 hash SHA256 Egg 2.7 Aug 24, 2014
frida-1.6.3-py2.7-macosx-10.9-intel.egg (13.6 MB) Copy SHA256 hash SHA256 Egg 2.7 Aug 24, 2014
frida-1.6.3-py2.7-win32.egg (7.5 MB) Copy SHA256 hash SHA256 Egg 2.7 Aug 24, 2014
frida-1.6.3-py2.7-win-amd64.egg (7.6 MB) Copy SHA256 hash SHA256 Egg 2.7 Aug 24, 2014
frida-1.6.3-py3.4-linux-x86_64.egg (4.7 MB) Copy SHA256 hash SHA256 Egg 3.4 Aug 24, 2014
frida-1.6.3-py3.4-macosx-10.6-intel.egg (13.6 MB) Copy SHA256 hash SHA256 Egg 3.4 Aug 24, 2014
frida-1.6.3-py3.4-win32.egg (7.5 MB) Copy SHA256 hash SHA256 Egg 3.4 Aug 24, 2014
frida-1.6.3-py3.4-win-amd64.egg (7.6 MB) Copy SHA256 hash SHA256 Egg 3.4 Aug 24, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page