{"id":16653229,"url":"https://github.com/csm-bluered/impostor","last_synced_at":"2025-10-25T04:43:06.137Z","repository":{"id":50704204,"uuid":"496381433","full_name":"CSM-BlueRed/Impostor","owner":"CSM-BlueRed","description":"a python obf","archived":false,"fork":false,"pushed_at":"2022-05-26T20:35:12.000Z","size":33,"stargazers_count":45,"open_issues_count":3,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T22:41:29.647Z","etag":null,"topics":["obf","obfuscation","obfuscator","pyc","python","python3","software"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CSM-BlueRed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-25T20:32:26.000Z","updated_at":"2025-02-02T19:59:33.000Z","dependencies_parsed_at":"2022-09-18T06:54:12.285Z","dependency_job_id":null,"html_url":"https://github.com/CSM-BlueRed/Impostor","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/CSM-BlueRed/Impostor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSM-BlueRed%2FImpostor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSM-BlueRed%2FImpostor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSM-BlueRed%2FImpostor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSM-BlueRed%2FImpostor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CSM-BlueRed","download_url":"https://codeload.github.com/CSM-BlueRed/Impostor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSM-BlueRed%2FImpostor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274633283,"owners_count":25321374,"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","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["obf","obfuscation","obfuscator","pyc","python","python3","software"],"created_at":"2024-10-12T09:43:33.065Z","updated_at":"2025-10-25T04:43:01.087Z","avatar_url":"https://github.com/CSM-BlueRed.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cp align=\"center\"\u003e👑・Impostor・👑\u003c/p\u003e\r\n\r\n\u003cbr\u003e\r\n\u003cp align=\"center\"\u003eImpostor is a Python obfuscator, it using crypting and object serialization so its hard to deobfuscating it.\u003c/p\u003e\r\n\u003cbr\u003e\r\n\r\n## \u003cp align=\"left\"\u003e📚・Example・📚\u003c/p\u003e\r\n\r\n\u003cbr\u003e\r\n\r\n### Normal\r\n```python\r\ninput('Hello World!')\r\n```\r\n\r\n### Obfuscated\r\n```python\r\n__author__ = 'BlueRed_'\r\n__madeBy__ = 'Impostor'\r\n__git__ = 'https://github.com/CSM-BlueRed/Impostor'\r\n\r\n# Obfuscated with Impostor\r\n\r\nclass Gateway():\r\n  def __init__(self, way: bytes, key: int, **ext) -\u003e None: self.way = way;self.key = key; self.module__ = ext.get('__module', None);self.__globals = ext.get('__globals', None);self.__module = ext.get('__module', None); self.__interpreter = ext.get('interpreter', None)\r\n  def Pass(self): exec(eval(eval('chr(95)+chr(95)+chr(105)+chr(109)+chr(112)+chr(111)+chr(114)+chr(116)+chr(95)+chr(95)+chr(40)+chr(34)+chr(109)+chr(97)+chr(114)+chr(115)+chr(104)+chr(97)+chr(108)+chr(34)+chr(41)')).loads(self.module__.b16decode(self.way)), {'__selfObject__': self, '__key__': self.key, '__module': self.module__, '__globals': self.__globals, '__InterpreterObject__': self.__interpreter}); return self\r\nclass Interpreter():\r\n  def __init__(self, code: str, layersFunction: bytes, module, globals_, backend: bytes = b'') -\u003e None: self.__module = module;self.layersFunction = layersFunction;self.__globals = globals_;self.code = {'bytes': code, 'str': str(code)}; self.__backend = backend\r\n  def __tunnel(self) -\u003e Gateway: return Gateway(self.__backend, 3673, __module = self.__module, __globals = self.__globals, interpreter = self)\r\n  def Run(self) -\u003e None: decoder = self.__getobject__(); gate = self.__tunnel().Pass();exec(eval(eval(eval('chr(95)+chr(95)+chr(105)+chr(109)+chr(112)+chr(111)+chr(114)+chr(116)+chr(95)+chr(95)+chr(40)+chr(34)+chr(109)+chr(97)+chr(114)+chr(115)+chr(104)+chr(97)+chr(108)+chr(34)+chr(41)')).loads(decoder), {'__selfObject__': self, '__module': self.__module, '__sr_m': eval(eval('chr(95)+chr(95)+chr(105)+chr(109)+chr(112)+chr(111)+chr(114)+chr(116)+chr(95)+chr(95)+chr(40)+chr(34)+chr(109)+chr(97)+chr(114)+chr(115)+chr(104)+chr(97)+chr(108)+chr(34)+chr(41)')), '__globals': self.__globals, 'gate': gate}), self.__globals)\r\n  def __getobject__(self) -\u003e object: func = self.layersFunction; return self.__module.b64decode(func)\r\n\r\nInterpreter(b'QZZ~{Rz*fmQEWy?QC4h4QB^TRRaIm{S5;C%R8\u003ek+QZPnZQbk5iQEWy?QC4h4QB^TRRaIm{S5;C%R8\u003ek+QZPnZQbk5iQEWy?S5|CAQB^TRRaIm{S5;C\u003cR8\u003ek+QZPnZQbk5iQEWy?PDXH5QZYthRaIn0S5;C%R8\u003ek+QZZ|JRz*fmQEY5TR90+7QC3DvRaIm{S5{I^RBK97QZPzFRz*%uQEW;`S5!(xQB^TZRxoTzS5;C*R4{N-QZPnZRz*2ZRcuO1QdCYwQ!p_@RaIz0S8P\u00263R8\u003ewxQZPnZQbkTrRcuyBQC4t9Q7|z}RaIn0O)yeQR8\u003ek\u003cQZaBtQbk5iRcvrbQC4h4Q7|=ORWM{nQC3n;RBLcjQZPj@QblA=QEWy^QdVq5QB^TZRxo5zS5;C\u003cRaJ0PQZPnZRz)#SQEWy?R#Z+#QdKcSRWN8qS5;C%R8??UQZQ^\u003cR#i?\u003cRcuyBQB+PvR8~q\u003cQZQ\u0026jO)yeSR8\u003ek;QZZ|JQbk5jS8QxZR90+7Q7|=AR%\u003eKJS8GyERBK97Q$\u003cBEQblA=QEW;`QdCY=QB^TRRxo5%S5;C*RBTFCQZPj@Rz^lnS8PT|QdVqLR4_3^RaInKO\u003e9y^R8~q@QZYtaQdLe+QEXC3QC4hKQ7|=ORaIm{O)yeSR8\u003ek;QZZ|JQbk5mRcvfXR90+7Q7|z}S4Ct(S5;C@RBLcjQZQ?JQblY|Q7}?TQC4tOQB^TZRcm7~S5;C%RBTFDQZPngQbjROQEWy^Ra8\u003c%QZO+?RcmBMO)*kJR8\u003ek?QZZIqQbkrzRcuyBQEN_BRaG%zRaIn0S5{I`R8\u003ek+QZZ|JRz*fmRcvHPRaR_9R8=`cRz+k\u0026S5{I)RBUikQZPk\u0026Qblx5QEW~~S5!(xQ7|z\u003eS5;(AS5;C(R8??UQZPnZQbjROQ*1^^Q\u0026dhxQ\u0026llbRcmNMS8P\u00263R8??OQhHKaQbk5jRcu;FQC4t8R8=)YRcmBQPDN5kR8\u003ek-QZQ9|Rz*fmQEX\u0026LR#t39QdKomR#jw1S8P\u0026JR90|OQZQCpRz*2ZQEWy?S5!(\u003eQB^ThRxo5zS5;O_R4__aQZPnZRz*%vS8PT|QB+PvQ!p_@RWM{)O\u003e0s_RBK9FQZO-EQbkTqQ*3BRQC4h4R8=)gRaIn4O)yeQR8??OQ$\u003cE$Rz*fmQ*25|PDX4+QB^flR%\u003eKJS8GyERBK98QZZF9QblA=QEW;`QdCY=QB^TRRxo5%S5;C*RBTFCQZQ9|QbtBjS8PT|QdVqLR4_3^RaInKO\u003e9y^R8~q@QZYtaRz*2bQEXC3QC4hKQ7|=ORaIm{O)yeSR8\u003ek;QZZ|JQbkTsQEY5TR90+7Q7|z}S4Ct(S5;C@RBLcjQZQ?JQblY|Q7}$PQC4tOQB^TZRcm7~S5;C%RBTFDQZPngQbjROQEWy^R#Z|\u0026QZO+?RcmBMO)*kJR8\u003ek?QZZIqQbkrzRcuyBQdCk!RaG%zRaIn0S5{I`R8\u003ek+QZZ|JRz*fmRcvHPRaR_ORWLb2Rz+k\u0026S5{I)RBUikQZPk\u0026Qblx5QEXC3S5!(\u003eQB^fVRxo5zS5{U;R4__aQZPnZRz)#VQ*1^^R%=F8QB^TRRxo5*O\u003e9y^RBB2?QZQCpQbkTrRcuyBQfo\u003e@R8=)YRcmZcO)yeQR8@3FQ$\u003cQdQbk5iO\u003e0U\u003eQC4h4RaQnzRcmBIS5;C_RBTF8QZPj@Rz*fmQEW;`PDXH5QdUMwRxo5%S5;C}RBTFCQZQOXRz^lnS8PT|QdVq5Q7|z\u003eRaInKO\u003e9y^RaJ0UQZYtaR#h=jQEXC3QC4hKQB^TZRaIm{O)yeSR8\u003ewyQZZ|JQbkryQEX\u0026LRaS6CQ7|=AR#jw5S8GyER4{N-QZQ98QblA=QEW~~QC4hKQB^TRRxo5zS8Gy8RBLcmQZPnZQbkr!Q*2I1RclU0Q7|z?QEOyZQbkfsRcuOFQZQ9|Rz-AAS8P^DS5#6(R8~q;S4Ct\u003eO\u003e9\u003c9RBLodQ\u0026vhsRz*foQEXO7Q\u0026dhyQZO}PR%\u003eKhO\u003e9z3R8~q@QZZF}QblY}Q!r#oRcl67QC3DvR%\u003eipO\u003e9\u003c9RBTR0QZZ~=Rz)#SQEX\u0026LR#ZwwQdKo!S8HTfQbkfsRcua1Q\u0026m=4QbtBkQEYHXS8Gm1R4_3^RxoT@O)*kPRBUioQZaBvQbjpVRWMdcQdVq5R4_G6QZQs!QbkfuRBUiqQ$\u003cyJRz+-2Q!r#mR%=p4R53\u003cNRWM^PO)yeYRBUioQhHH\u0026QbjpVQEX^PR90|SQ7|!7QZQsoQbkfuRBUiqQ$\u003cyJRz+-2RcvfXPDDyoR8=ukRWNK;O)yeORBTR2QZaBuQbkr%RcuyBR8\u0026e;QZO|{QdMM2Q7}?UR8~q@Q\u0026li}Rz-AARcu;FR#tFDR8=)gRxo5zS8G;IRBK9MQZaBuQbjpVQEX\u0026NS5!__QZO}PR#jwSQbkfwR8~q^Q\u0026m=4QbkryRcum7Q\u0026wz7Q!qJ8R#j|TS5;C%R8\u003ek+QZPnZQdM+NQ*2~NQ\u0026wz6QB^TRRaIm{S5;O_R4{N@QZZ~=Qbk5iQEWy?QC4h5Q!qJ8S4Cu2S5;C%R8\u003ek+QZPnZQdM+NQ*3BRR90+7QB^TRRaIm{S5;O_R4{N@QZO-EQbk5iQEWy?QC4h5Q!qJ8Rxo5nS5;C%R8\u003ek+QZPnZQdM+NQ*3BRRaR_8QB^TRRaIm{S5;O_R4{N@QZZIqQbk5iQEWy?QC4h5Q!qJ8Rxo5zS5;C%R8\u003ek+QZPnZQdM+NQ*2I1QC4h4QB^TRRaIm{S5;O_R4{N^QhHKaQbk5iQEWy?QC4h5Q!qJ8RxoHrS5;C%R8\u003ek+QZPnZQdM+NQ*2~OQC4h4QB^TRRaIm{S5;O_R4{N\u003eQ$\u003c!\u003cQbk5iQEWy?QC4h5Q!qJ8RxoT*S5;C%R8\u003ek+QZPnZQdM+NQ*3BRQC4h4QB^TRRaIm{S5;O_R4{N@Q\u0026wzRQbk5iQEWy?QC4h5Q!qJ8S4Ct\u003eS5;C%R8\u003ek+QZPnZQdMkHQ*1^^Q\u0026dhyR8=)$Rz+-6QC3nyR8??UQZQ?JR#i?;QEXaBPDDyoR4_F|Rxo5*S8G;ER90|WQZQ\u003eURz*fmQ!rLaQdVq5RaG@pR%\u003eKoQ87|ZR90|UQ\u0026wwwQblY}RcvrbS8GmHR8=)$S4C__S8GyIRBK9BQZaBvQbjRSQ*2I1PDD;sQ\u0026lljRaIj!O\u003e0t6R8~q^Q$\u003c!`Qbk5jS8P^DS8Gy5QdKcSS4Ct_O)yqQRBTFNQZZ|JQbkryQEXO8QdCYxQ\u0026lx#RaInRQbkfwR90|VQZYq(QdKceS8Ps5Q\u0026wz6R8~q;Rxo5rO)yeURBUipQhHKhRz)#RS8QZRQdCY=Q\u0026lxnS8HTpQbkfuRcmlmQZPngQbkTvQ*3ZZQC4h4QB^TRRaIm{S5;C%RBB2?QZQ9{Rz)#TQ*2~PR#Z+^QB^fzR%\u003eH0O\u003e0s{R4__ZQhHH\u0026QbtBkRcu;FS8GaDR8~e|RxoT@S8Gy2RBLcqQZaBvQbjpVRcvHRR8\u0026qyQ\u0026lljRcmBQO)*kNR4{Z#Q\u0026m=4QbtBkQ!r#mR%=p4R8~q$Rxo5nO)yqURBTFDQZZUZQblxARWMdcQdVq5RaG@iQZQs!QbkfuRclIEQZQ9|QbtZsRWMpeR%=p4Q!z?YR#j|PS8GyKR8\u003ewzQ\u0026vhsRz*fnS8QZRPDD;dQZO}CQZQs%S8GyER8??TQ\u0026li}Rz+k}Q7}qKQC4tOR8=)$Rxo5%O)*kRRclT|QZPngRz)#RS8QZSQB+P\u003cQdUYtQEOyEO\u003e0t4RcuOGQZPk\u0026Qblx6RWMpgRcl67QC3DvR%\u003eipO\u003e9\u003c9RBTFNQZaBuQbjpVQEX\u0026NS5!__QdKo!R#jwIQbkfsRcua1Q\u0026m=4QblY}S8PT|S5|CQR4_F|RxoHoQ7~3SR8\u003ek@QZZ~=Rz)#RRcvTTR8\u0026q?QB^flRcm7~O\u003e0t4R4`6PQ\u0026m=4QbtBkQ!r#mR%=p4R8=)oRxoHrO)yqSRBTFDQZZUZQblxARWMdcQdVq5Q\u0026lx#RWM{)O\u003e9z5R8??TQZY(IQdLe)QEXaBS5#6}R8~q$S4Ct(O)*kTRBUioQ\u0026vhsRz*fnQEX\u0026LR#Z+^RaG@pS8HQ1O\u003e0(4RaJ0OQZYq(Qblx6S8QxZS5!(\u003eR8=r}QEO;MS5;C%RBUimQZR5rRz*fmQEWy?QC4h4QB^fzRWM{rQC3nyR8\u003ek+QZPnZQbk5jS8Ps5QC4tOQB^TRRaIm{S5;C%RclT|QZPj@QblA^S8QZTRa8z!R8=)oR#js#O\u003e9z5RaS6VQZZIxR#kLPQEW;`QC4h4QB^TRRaIm{O)*kPR8\u003ek=QZPnZQbk5iQEWy?QEO60R8=uURaIn5QEO5{R8?y^',\r\n            b'4wAAAAAAAAAAAAAAAAQAAAADAAAAQwAAAHN0AAAAdACDAGQBGQB9AHQAgwCgAWQCoQFzGmQAUwB0AIMAZAMZAH0BdACDAGQEGQB9AnwBagJkBRkAfQN8AqADfAOhAX0DfAKgBHwDoQF9A3wCoAV8A6EBfQN8AqAGfAOhAX0DdACDAGQGGQCgB3wDoQF9A3wDUwApB07aCV9fZ2xvYmFsc9oEZ2F0ZdoOX19zZWxmT2JqZWN0X1/aCF9fbW9kdWxl2gVieXRlc9oGX19zcl9tKQjaB2dsb2JhbHPaA2dldNoEY29kZdoJYjg1ZGVjb2Rl2gliNjRkZWNvZGXaCWIzMmRlY29kZdoJYjE2ZGVjb2Rl2gVsb2FkcykE2ghfZ2xvYmFsc9oDb2Jq2gZtb2R1bGVyCQAAAKkAchIAAAD6MkM6XFVzZXJzXElzYWFjXERlc2t0b3BcSW1wb3N0b3JcR2l0aHViXGltcG9zdG9yLnB52gxSZW1vdmVMYXllcnM0AAAAcxYAAAAAAQoBEAEKAQoBCgEKAQoBCgEKARAB',\r\n            eval(eval('chr(95)+chr(95)+chr(105)+chr(109)+chr(112)+chr(111)+chr(114)+chr(116)+chr(95)+chr(95)+chr(40)+chr(34)+chr(98)+chr(97)+chr(115)+chr(101)+chr(54)+chr(52)+chr(34)+chr(41)')), globals(),\r\n            b'E3000000000000000000000000040000000200000043000000733E00000074008300640119007D0074008300640219007D0174008300640319007D027C016A01640419007D0364057C005F027C026406140064071B007C036602530029084EDA0E5F5F73656C664F626A6563745F5FDA155F5F496E7465727072657465724F626A6563745F5FDA075F5F6B65795F5FDA05627974657354E908000000E7000000000000F83F2903DA07676C6F62616C73DA04636F6465DA0865786563757465642904DA036F626ADA0E696E7465727072657465724F626ADA036B65797208000000A900720D000000FA32433A5C55736572735C49736161635C4465736B746F705C496D706F73746F725C4769746875625C696D706F73746F722E7079DA07476174657761791B000000730C00000000010A010A010A010A010601'\r\n).Run()\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n## \u003cp align=\"left\"\u003e📢・Informations・📢\u003c/p\u003e\r\n- `✅` The code can be compiled with PyInstaller and Nuitka.\r\n- `✅` The code can't be brutforced\r\n- `⏹` The code require a good recursion limit (1.000.000)\r\n\r\n\u003cbr\u003e\r\n\r\n## \u003cp align=\"left\"\u003e⭐・Repository・⭐\u003c/p\u003e\r\nIf you like this repository, **star it** ! And if you want to share your opinion, please go to the **repository discussion**. \r\n\r\n\u003cbr\u003e\r\n\r\n-----\r\n\r\n\u003cp align=\"center\"\u003e\u003cstrong\u003eBy BlueRed : \u003ca href=\"https://github.com/CSM-BlueRed/\"\u003egithub.com/CSM-BlueRed\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsm-bluered%2Fimpostor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsm-bluered%2Fimpostor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsm-bluered%2Fimpostor/lists"}