{"id":22286931,"url":"https://github.com/koraa/smrtlink_terrible_crypto","last_synced_at":"2025-03-25T20:45:31.225Z","repository":{"id":145352131,"uuid":"43546453","full_name":"koraa/smrtlink_terrible_crypto","owner":"koraa","description":"Analysis of the terrible crypto algorythim TP-Link uses in their Easy Smart Switches","archived":false,"fork":false,"pushed_at":"2015-10-02T12:31:22.000Z","size":97,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-30T18:22:24.784Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/koraa.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}},"created_at":"2015-10-02T10:06:41.000Z","updated_at":"2017-08-16T12:52:49.000Z","dependencies_parsed_at":"2023-04-09T01:34:27.346Z","dependency_job_id":null,"html_url":"https://github.com/koraa/smrtlink_terrible_crypto","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/koraa%2Fsmrtlink_terrible_crypto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koraa%2Fsmrtlink_terrible_crypto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koraa%2Fsmrtlink_terrible_crypto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koraa%2Fsmrtlink_terrible_crypto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koraa","download_url":"https://codeload.github.com/koraa/smrtlink_terrible_crypto/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245542775,"owners_count":20632565,"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-12-03T16:58:39.991Z","updated_at":"2025-03-25T20:45:31.195Z","avatar_url":"https://github.com/koraa.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WTF – Smartlink Terrible Crypto\n\nThis is an implementation of the crypto (RC4) algorithm TP-Link\nEasy Smart Switches use to encrypt their configuration\ntraffic with.\n\nIt also includes the key they use for this because they use\none key globally. Idiots!\n\nThanks to @jdi-li who reverse-engineered the algorithm and\nthey key (by decompiling some badly-obfuscated Java code).\nHe's implementing an open source tool to communicate with\nthe switches: https://github.com/jdi-li/smrtlink\n\n# The Algorithm\n\nTurns out this is actually the [ RC4 ](\nhttps://en.wikipedia.org/wiki/RC4#Pseudo-random_generation_algorithm_.28PRGA.29) (which I didn't recognise).\n\nThanks to @BenBE1987 for pointing this out!\n\n# Building\n\nRun make with a C++14 compiler.\nCompiler will be used as linker driver.\n\n# LICENSE\n\nCopyright © 2015 Karolin Varner\n\nReleased under zlib; buy me a drink if you like it.\n\nBy filing a pull request you agree that your contribution\nwill also be publicised under the same conditions.\n\n## zlib license\n\nThis software is provided 'as-is', without any express or\nimplied warranty. In no event will the authors be held\nliable for any damages arising from the use of this\nsoftware.\n\nPermission is granted to anyone to use this software for any\npurpose, including commercial applications, and to alter it\nand redistribute it freely, subject to the following\nrestrictions:\n\n1. The origin of this software must not be misrepresented;\n   you must not claim that you wrote the original software.\n   If you use this software in a product, an acknowledgement\n   in the product documentation would be appreciated but is\n   not required.\n2. Altered source versions must be plainly marked as such,\n   and must not be misrepresented as being the original\n   software.\n3. This notice may not be removed or altered from any source\n   distribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoraa%2Fsmrtlink_terrible_crypto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoraa%2Fsmrtlink_terrible_crypto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoraa%2Fsmrtlink_terrible_crypto/lists"}