Commit Graph

125 Commits

Author SHA1 Message Date
Ole André Vadla Ravnås dae01d8d6b Change license to wxWindows Library Licence
This is essentially the LGPL, with an exception stating that derived
works in binary form may be distributed on the user's own terms.
This is a solution that satisfies those who wish to produce GPL'ed
software using Frida, and also those producing proprietary software.
2014-07-10 23:34:50 +02:00
Ole André Vadla Ravnås 05e3e91902 Revert changes that cannot be relicensed just yet
Pending feedback from copyright holder.
2014-07-10 23:32:40 +02:00
Ole André Vadla Ravnås a8ac19d438 Fix frida-repl on Windows by making readline a soft-dependency 2014-05-14 19:53:18 +02:00
Ole André Vadla Ravnås b8be9709d5 Revert "Make use of new Python InstallPath properties"
This reverts commit 05a731352d.

Build machine issues. Needs further investigation.
2014-05-14 01:33:08 +02:00
Ole André Vadla Ravnås db6a80d09a Update setup.py metadata 2014-05-14 01:20:05 +02:00
Ole André Vadla Ravnås 96c0c0be83 Only append CRC32 to filename when the function name is truncated 2014-05-14 00:54:23 +02:00
Ole André Vadla Ravnås 05a731352d Make use of new Python InstallPath properties
Fixes #11
2014-05-14 00:20:38 +02:00
Ole André Vadla Ravnås 5568a08b0b Merge pull request #10 from guillaume-uH57J9/master
Limit tracer.FileRepository filename length

Fixes #9
2014-05-13 01:15:22 +02:00
guillaume-uH57J9 0f8f975889 limit tracer.FileRepository filename length, fix #9
Fix issue #9 - https://github.com/frida/frida-python/issues/9

This limits the handler filename to 42 characters.
Function name (truncated to 32) + "_" (1) + CRC32 (8) + ".js" (3)

I could have checked the PATH again Windows path limit (260) and truncating dynamically based on the actual path length.
But that's a bad idea because the full path may change (ie parent directory is renamed, moved, zip/unzipped), and then the Frida wouldn't be able to find handlers with long names again.
Arguably the simplest & more efficient solution is truncating all to 32 characters, and adding a CRC32 to makes sure we avoid collision.
Of course, the truncating is applied regardless of the actual platform (Windows vs Mac vs Linux) so that things still works when copying handlers on another machine.

Pro:
- Fixes issue #9 on Windows
- Shorter filenames
- Prevent collision thanks to CRC32, even if the function name is truncated

Cons:
- Long function name doesn't appear in full in the filenames
2014-05-13 00:52:08 +02:00
Ole André Vadla Ravnås c5e08bd085 Remove unused Visual Studio project 2014-05-09 22:39:13 +02:00
Ole André Vadla Ravnås 23c4e6777e Update Windows build system to match new frida-build-env layout 2014-05-09 22:38:43 +02:00
Ole André Vadla Ravnås 6c3d5130cd Add -R option for connecting to a remote device 2014-05-04 01:21:14 +02:00
Ole André Vadla Ravnås 5fb023c82c Fix filename generation by replacing unsafe characters with underscores
Fixes #5 (Also fixes #8 which is a duplicate).
2014-04-17 13:04:51 +02:00
Ole André Vadla Ravnås 87dde64dd0 Upgrade to VS2013 2014-02-23 22:09:18 +01:00
Ole André Vadla Ravnås a1bb2dd22c Update Windows build system 2014-02-16 00:00:10 +01:00
Ole André Vadla Ravnås c1629135bb Improve REPL multi-line behavior 2014-02-15 23:51:57 +01:00
Ole André Vadla Ravnås cbb386d560 Add a very basic REPL 2014-02-08 02:33:17 +01:00
Ole André Vadla Ravnås 2f55aa34c5 Allow passing run_until_return to the ConsoleApplication reactor 2014-02-08 02:32:06 +01:00
Ole André Vadla Ravnås 2f982528f2 Update JavaScript API reference URL 2014-01-26 20:16:31 +01:00
Ole André Vadla Ravnås 54f531e242 Update cpushark example to the new API 2014-01-25 23:38:19 +01:00
Ole André Vadla Ravnås 128d3edadc Fix py3k linking issue on Linux
We now try the ${PYTHON_PREFIX}/lib directory first as it is more
likely to have the shared library also, and not just the static one.
2014-01-25 19:00:25 +01:00
Ole André Vadla Ravnås 285175ff11 Update to the new script API 2014-01-25 00:05:01 +01:00
Karl Trygve Kalleberg 9ccb5b7e67 Merge branch 'master' of github.com:frida/frida-python
Conflicts:
	configure.ac
2014-01-22 22:40:04 +01:00
Karl Trygve Kalleberg e67e9d18f7 Simplify the computation of the actual libpython3, so that things work on Linux again 2014-01-22 22:39:03 +01:00
Ole André Vadla Ravnås 8a0131a1ab Handle process enumeration failing 2014-01-12 23:36:50 +01:00
Ole André Vadla Ravnås 1f095b57ca Add new files to build system 2014-01-12 23:36:37 +01:00
Ole André Vadla Ravnås 097d253e03 Improve help options 2014-01-12 23:36:26 +01:00
Ole André Vadla Ravnås f43d4a0dd7 Merge pull request #6 from pmorici/master
Add -a option to specify function by address
2014-01-12 13:59:08 -08:00
Pete Morici d31016ad4e Added -a option, specify function by address
Added -a option to tracer app to specify function by address relative to
containing module. syntax is as follows <module>!<address>
2014-01-12 16:35:54 -05:00
Ole André Vadla Ravnås 0f8a971358 Add a little ps tool for enumerating processes on the desired device 2014-01-12 18:49:02 +01:00
Ole André Vadla Ravnås 5f2d38ed08 Use ConsoleApplication for discoverer and tracer 2014-01-12 18:49:02 +01:00
Ole André Vadla Ravnås 6284b97c37 Factor out console application logic into a helper class
This introduces the -U/--usb switch for using a USB-tethered device instead
of the local system. Only iOS devices are supported for now (PR for completing
Android support in frida-core is most appreciated!).
2014-01-12 18:46:53 +01:00
Ole André Vadla Ravnås 6253921ca4 Update README with content from website 2014-01-12 18:39:54 +01:00
Ole André Vadla Ravnås da7bdd50af Fix ordering of imports 2014-01-11 20:38:24 +01:00
Ole André Vadla Ravnås 16b2cbe705 Add COPYING and change license to LGPLv2+ 2014-01-11 20:37:07 +01:00
Ole André Vadla Ravnås c36edceda7 Revert back to manually detecting python flags
Using python-config comes with its own set of problems. Ick.

Reverts:
99db513e54
2d403eb3fd
2014-01-11 20:10:50 +01:00
Ole André Vadla Ravnås 99db513e54 Fix build regression on Mac 2014-01-11 04:32:46 +01:00
Ole André Vadla Ravnås adc3e60032 Fix address parsing issue for high 64-bit targets on python 2.x 2014-01-11 01:49:42 +01:00
Karl Trygve Kalleberg 2d403eb3fd Simplified Python build variables setup by using pythonX.Y-config directly, where possible 2014-01-11 01:34:03 +01:00
Ole André Vadla Ravnås 5979ac5836 Fix library search order to avoid accidentally picking up system libraries
This resulted in really broken Linux builds as the system happened to have
some of the libraries that Frida requires its own versions of.
2014-01-10 22:05:33 +01:00
Ole André Vadla Ravnås 5813cf51a5 Fix Py3k compatibility issue 2014-01-06 00:50:14 +01:00
Ole André Vadla Ravnås c8c46420aa Avoid using unicode in the stub code 2014-01-06 00:49:31 +01:00
Ole André Vadla Ravnås 743245b0e2 Reload handler scripts when they change on the filesystem 2014-01-06 00:26:31 +01:00
Ole André Vadla Ravnås c3be8a3b1e Fix deadlocks caused by holding lock while performing work 2014-01-06 00:24:02 +01:00
Ole André Vadla Ravnås daef66eae5 Add encoding markers 2014-01-06 00:23:20 +01:00
Ole André Vadla Ravnås 0399aaa09b Improve Tracer so handlers can be defined on the file-system
Also fix Py3k issues.
2014-01-05 21:35:47 +01:00
Ole André Vadla Ravnås b0883ae28e Improve Discoverer structure and fix Py3k issues 2014-01-05 21:35:43 +01:00
Ole André Vadla Ravnås 2a3450a598 Add base implementation guard 2014-01-05 21:31:56 +01:00
Ole André Vadla Ravnås 27261e4f22 Make the termination watcher thread a deamon thread as it should be 2014-01-05 21:31:34 +01:00
Ole André Vadla Ravnås 5d34d5f88e Escape python code to fix python 3.3 build issue on Mac
Turns out that len is an m4 macro.
2014-01-05 15:56:19 +01:00