{"id":13755475,"url":"https://github.com/jonathansalwan/x-tunnel-opaque-predicates","last_synced_at":"2025-03-25T05:32:20.644Z","repository":{"id":145740502,"uuid":"202363580","full_name":"JonathanSalwan/X-Tunnel-Opaque-Predicates","owner":"JonathanSalwan","description":"IDA+Triton plugin in order to extract opaque predicates using a Forward-Bounded DSE. Example with X-Tunnel.","archived":false,"fork":false,"pushed_at":"2019-08-17T08:19:01.000Z","size":85,"stargazers_count":52,"open_issues_count":0,"forks_count":16,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-19T09:14:25.219Z","etag":null,"topics":["binary-analysis","reverse-engineering","symbolic-execution"],"latest_commit_sha":null,"homepage":"","language":"Python","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/JonathanSalwan.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,"roadmap":null,"authors":null}},"created_at":"2019-08-14T14:09:14.000Z","updated_at":"2025-01-20T03:21:46.000Z","dependencies_parsed_at":"2023-04-19T11:50:26.886Z","dependency_job_id":null,"html_url":"https://github.com/JonathanSalwan/X-Tunnel-Opaque-Predicates","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanSalwan%2FX-Tunnel-Opaque-Predicates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanSalwan%2FX-Tunnel-Opaque-Predicates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanSalwan%2FX-Tunnel-Opaque-Predicates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanSalwan%2FX-Tunnel-Opaque-Predicates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonathanSalwan","download_url":"https://codeload.github.com/JonathanSalwan/X-Tunnel-Opaque-Predicates/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245407667,"owners_count":20610231,"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":["binary-analysis","reverse-engineering","symbolic-execution"],"created_at":"2024-08-03T10:00:54.849Z","updated_at":"2025-03-25T05:32:20.261Z","avatar_url":"https://github.com/JonathanSalwan.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"01e6651181d405ecdcd92a452989e7e0\"\u003e\u003c/a\u003e工具","\u003ca id=\"34ac84853604a7741c61670f2a075d20\"\u003e\u003c/a\u003e污点分析\u0026\u0026符号执行"],"sub_categories":["\u003ca id=\"9d6789f22a280f5bb6491d1353b02384\"\u003e\u003c/a\u003e隧道\u0026\u0026穿透","\u003ca id=\"cadae88b91a57345d266c68383eb05c5\"\u003e\u003c/a\u003edemangle"],"readme":"IDA+Triton plugin in order to extract opaque predicates where their computation is local to a single basic\nblock using a Forward-Bounded DSE.\n\nWe tested the plugin on the X-Tunnel (99B454262DC26B081600E844371982A49D334E5E) malware in order to extract\nall its opaque predicates (some stats: 50,302 conditions analyzed in 23 minutes and 7209 opaque predicates\nfound). We can see that most of OP are mainly constructed in three forms but we also found 31 others ones\nwithout any particular form. Repartition of opaque predicates by form is detailed below:\n\n```\nGroup 1: (x * x * 7) - 1 != y * y          (3197, 44.35%)\nGroup 2: 2 / ((x * x) + 1) != (y * y) + 3  (3873, 53.72%)\nGroup 3: x - x = 0                         (108,  01.05%)\nUnclassified                               (31,   00.43%)\n```\n\nFiles `.po` contain all OP found and extracted (one OP per line and each SymVar is a 8 bits symbolic variable).\n\nRelated work: [Backward-Bounded DSE: Targeting Infeasibility Questions on Obfuscated Codes](http://sebastien.bardin.free.fr/2017-sp.pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathansalwan%2Fx-tunnel-opaque-predicates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathansalwan%2Fx-tunnel-opaque-predicates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathansalwan%2Fx-tunnel-opaque-predicates/lists"}