{"id":13292226,"url":"https://github.com/emlinhax/js-ac","last_synced_at":"2025-03-10T06:34:15.677Z","repository":{"id":171892145,"uuid":"648575363","full_name":"emlinhax/js-ac","owner":"emlinhax","description":"Featuring multiple ways to detect cheating in browser games.","archived":false,"fork":false,"pushed_at":"2023-06-02T10:16:47.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-07-23T22:24:16.380Z","etag":null,"topics":["anticheat","browser-game","cheating","hooks","javascript","tampermonkey"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emlinhax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-06-02T09:39:10.000Z","updated_at":"2023-07-23T22:24:17.802Z","dependencies_parsed_at":null,"dependency_job_id":"a347391d-16d6-4089-9763-ea050911e73d","html_url":"https://github.com/emlinhax/js-ac","commit_stats":null,"previous_names":["r4yven/js-ac","emlinhax/js-ac"],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emlinhax%2Fjs-ac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emlinhax%2Fjs-ac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emlinhax%2Fjs-ac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emlinhax%2Fjs-ac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emlinhax","download_url":"https://codeload.github.com/emlinhax/js-ac/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242805833,"owners_count":20187996,"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":["anticheat","browser-game","cheating","hooks","javascript","tampermonkey"],"created_at":"2024-07-29T17:07:29.216Z","updated_at":"2025-03-10T06:34:15.357Z","avatar_url":"https://github.com/emlinhax.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# js-ac\nFeaturing multiple ways to detect cheating in browser games.\\\nIm fairly new to javascript \"cheating\" but these are some things I found:\n\n\n\u003cbr\u003e\n\n\n# monkey-detect.js\nthis little code-snippet can detect tampermonkey scripts (and even call them out by their name in theory).\\\nit works by hooking a target function and then walking the stacktrace when its called.\\\n(reference: https://github.com/R4YVEN/monkey-detect)\n\n\n# proxy-check.js\nthe easiest trick i could find to checking if a function is being proxied.\\\ndue to their nature you normally cannot detect proxies in javascript.\\\nthis works by checking the stacktrace (again).\n\n\n# reflect-check.js\nthis is just another way of detecting a proxy function.\\\nit works by hooking reflect.apply and either checking where it comes from.\\\nthe fact that the function is being called at all might just be enough for it to be considered a violation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femlinhax%2Fjs-ac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femlinhax%2Fjs-ac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femlinhax%2Fjs-ac/lists"}