Commit Graph

86 Commits

Author SHA1 Message Date
Ole André Vadla Ravnås e153de908c Fix the setup.py license field 2014-07-26 18:39:56 +02:00
Ole André Vadla Ravnås eafb5a4b43 Display some troubleshooting tips when the _frida import fails 2014-07-24 22:05:36 +02:00
Ole André Vadla Ravnås b9422139d2 Bring back the reverted changes under the new license
This reverts commit 05e3e91902.
2014-07-11 00:08:10 +02:00
Ole André Vadla Ravnås 3868d5b19c Update license details in setup.py 2014-07-10 23:48:09 +02:00
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 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
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 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 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 285175ff11 Update to the new script API 2014-01-25 00:05:01 +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
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 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 adc3e60032 Fix address parsing issue for high 64-bit targets on python 2.x 2014-01-11 01:49:42 +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 c32fb8bfd7 Improve description 2014-01-05 14:34:17 +01:00
Ole André Vadla Ravnås e60ef52fee Improve PyPI metadata 2014-01-05 14:32:12 +01:00
Ole André Vadla Ravnås 4b26ffd690 Fix DLL export regression on Windows 2014-01-05 00:58:22 +01:00
Ole André Vadla Ravnås 2508645e1a Port to Python 3.x 2014-01-04 23:18:27 +01:00
Ole André Vadla Ravnås ed1ba689d9 Add missing file to autotools build system 2014-01-04 23:17:56 +01:00
Ole André Vadla Ravnås 408da896a8 Fix regressions caused by refactoring 2014-01-04 00:45:07 +01:00
Ole André Vadla Ravnås ca9abc7797 Add function call rate and improve formatting 2014-01-03 23:25:25 +01:00
Ole André Vadla Ravnås f69090499f Improve discoverer to roughly cover sampling and presentation 2014-01-03 22:49:06 +01:00
Ole André Vadla Ravnås fb84c7f5e2 Improve core API with a better model and skeleton of a simple reactor 2014-01-03 22:47:59 +01:00
Ole André Vadla Ravnås aa1f2a87da Do periodic garbage collection to avoid running out of memory 2014-01-02 23:02:09 +01:00
Ole André Vadla Ravnås 4a6325eb16 Add skeleton for a function discovery tool 2014-01-02 16:35:08 +01:00
Ole André Vadla Ravnås c6d05705a4 Improve add_option() readability 2013-12-29 22:16:46 +01:00
Ole André Vadla Ravnås 9b1a1126db Add timestamps and improve IOSink formatting 2013-12-29 21:30:04 +01:00