{"id":13418835,"url":"https://github.com/frida/cryptoshark","last_synced_at":"2025-06-26T13:37:21.762Z","repository":{"id":17657395,"uuid":"20461980","full_name":"frida/cryptoshark","owner":"frida","description":"Self-optimizing cross-platform code tracer based on dynamic recompilation","archived":false,"fork":false,"pushed_at":"2022-07-20T01:47:26.000Z","size":6577,"stargazers_count":600,"open_issues_count":12,"forks_count":63,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-06-19T05:58:39.397Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frida.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-03T22:25:45.000Z","updated_at":"2025-06-16T15:22:27.000Z","dependencies_parsed_at":"2022-06-26T03:43:50.530Z","dependency_job_id":null,"html_url":"https://github.com/frida/cryptoshark","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/frida/cryptoshark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frida%2Fcryptoshark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frida%2Fcryptoshark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frida%2Fcryptoshark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frida%2Fcryptoshark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frida","download_url":"https://codeload.github.com/frida/cryptoshark/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frida%2Fcryptoshark/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262077202,"owners_count":23255139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:01:07.688Z","updated_at":"2025-06-26T13:37:21.743Z","avatar_url":"https://github.com/frida.png","language":"C++","funding_links":[],"categories":["TODO scan for Android support in followings","C++","C++ (225)","Powered by Frida"],"sub_categories":[],"readme":"# Cryptoshark\n\nSelf-optimizing cross-platform code tracer based on dynamic recompilation,\npowered by Frida and Capstone. Works at the machine code level, no source\ncode needed. Tags threads based on which APIs they use, showing you in\nreal-time what functions have been called, allowing you to study them by\ncarefully injecting logging and other side-effecty code.\n\n## Screencast\n\n[![ScreenShot](http://img.youtube.com/vi/hzDsxtcRavY/0.jpg)](https://www.youtube.com/watch?v=hzDsxtcRavY)\n\n## Binaries\n\nGet them at: https://github.com/frida/cryptoshark/releases\n\n## Development workflow\n\nFirst, make sure you have a Qt \u003e= 5.15 SDK installed and that its\n`bin`-directory is on your PATH.  Also make sure you have Node.js\n10 or newer.\n\n### Building the app: Command Line\n\nRun the `build` script.  This will output a binary at:\n\n- Windows: `..\\build-cryptoshark-x86_64\\app\\release\\cryptoshark.exe`\n- macOS: `../build-cryptoshark-x86_64/app/Cryptoshark.app/Contents/MacOS/Cryptoshark`\n- Linux: `../build-cryptoshark-x86_64/app/cryptoshark`\n\n### Building the app: Qt Creator\n\nRun the `bootstrap` script and then open `cryptoshark.pro` in Qt Creator.\n\n### Building agent.js\n\nThis is the instrumentation code that Cryptoshark injects into target processes.\n\nFor a one-off build:\n\n    $ cd app/agent\n    $ npm run build\n\nAnd to watch while developing:\n\n    $ cd app/agent\n    $ npm run watch\n\nThis will monitor the TypeScript source code and incrementally compile\n`app/agent.js`. Note that the agent is included as a resource, so remember to\n`build`.\n\n## Building a portable binary\n\nIn order to build a portable binary we will need a static build of Qt. This is\nnot recommended for development due to the prolonged linking times, but it is\nvery useful for generating a portable Cryptoshark binary without any external\ndependencies.\n\n### Windows\n\n#### Prerequisites\n\n* MS Visual Studio 2019\n* Git\n* Strawberry Perl\n* Python (Note: Installation location cannot contain spaces due to bugs in Qt's\n  build system.)\n\n#### Building Qt\n\nRun `tools\\windows\\env-x86_64.bat` to enter the environment, then:\n\n- Get the source code by running: `get-qt`\n\n- And finally: `build-qt`\n\n#### Building Cryptoshark\n\n- Change to the root directory of this repo.\n\n- Run `build`.\n\n- A fresh new portable binary is now at:\n\n    ..\\build-cryptoshark-x86_64\\app\\release\\cryptoshark.exe\n\n### macOS\n\n#### Prerequisites\n\n* Xcode\n\n#### Building Qt\n\nRun `. tools/macos/activate-env` to enter the environment, then:\n\n- Get the source code by running: `get-qt`\n\n- And finally: `build-qt`\n\n#### Building Cryptoshark\n\n- Change to the root directory of this repo.\n\n- Run `./build`.\n\n- A fresh new portable binary is now at:\n\n    ../build-cryptoshark-$arch/app/Cryptoshark.app/Contents/MacOS/Cryptoshark\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrida%2Fcryptoshark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrida%2Fcryptoshark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrida%2Fcryptoshark/lists"}