github上混乱的python代码,我怀疑是恶意代码



我对任何编程语言都不太熟悉或没有经验,所以我有点困在这里,不知道是否可以做些什么。基本要点是,我在GitHub上浏览了一个用python为一个名为discord的应用程序编写的self-bot。我想看一些东西,看看我是否能了解发生了什么。我最终犯了一个大错误,在运行脚本之前忘记了检查它。过了一会儿我看了看,发现它被混淆了。几个小时后,我的所有3个discord帐户都通过我的帐户令牌登录,绕过了2fa和位置登录验证,所有3个帐户都立即被discord锁定。我运行的其他python脚本都没有被混淆,所以我认为这是最有可能的情况。我想知道是否有一种简单的方法可以对代码进行解密,以确定这是否是罪魁祸首,并将其从GitHub中删除。

这是它被混淆的网站。

https://development-tools.net/python-obfuscator/

必须在此处发布代码,因为它超过了StackOverflow的字符限制。

https://zerobin.net/?806880066f5b7356#wyixWYKBCtGhAThmhM4XSwGqVkeXqTaG744nENY/LpA=

这是github回购

https://github.com/zVilao/Luxuria-SelfBot-Nuker-Discord

首先,我应该警告您:如果您处理的代码可能是恶意的,请不要信任链中的任何链接-不要信任混淆网站,甚至不要信任我。请自己验证一切。


看起来您可以简单地将最后一行中的eval(compile())替换为print(),以取回去模糊的代码,前一行中存在模糊的eval,这可能是恶意的。


手动执行

我将使用一些真正简单的示例代码:

print('foobar')

正如我们所期望的那样,将其上传到网站会产生8行模糊的Python代码。为了安全起见,我不会把它全部发在这里,一次只发一篇。

首先,有些字符串包含x转义符,而不是字符本身。让我们提取它们,看看它们包含什么:

>>> joy = 'x72x6fx74x31x33'
>>> joy
'rot13'
>>> 
>>> 'x6dx61x67x69x63'
'magic'
>>> 'x63x6fx64x65x63x73x2ex64x65x63x6fx64x65'
... 'x28x6cx6fx76x65x2cx20x6ax6fx79x29'
'codecs.decode(love, joy)'
>>> 'x67x6fx64'
'god'
>>> 'x63x6fx64x65x63x73x2ex64x65x63x6fx64x65'
... 'x28x64x65x73x74x69x6ex79x2cx20x6ax6fx79x29'
'codecs.decode(destiny, joy)'
>>> 
>>> 'x74x72x75x73x74'
'trust'

(为了避免在右边空白处隐藏分号,我打断了两条长行。(

ROT13是一种基本的字母替换密码。让我们继续解读:

>>> love = 'DbW2Mi'
>>> destiny = 'pcPt=='
>>> import codecs
>>> codecs.decode(love, joy)
'QoJ2Zv'
>>> codecs.decode(destiny, joy)
'cpCg=='

现在我们可以把所有这些放在一起并解码:

>>> magic = 'cHJpbn'
>>> god = 'b2Jhci'
>>> trust = magic + 'QoJ2Zv' + god + 'cpCg=='
>>> import base64
>>> base64.b64decode(trust)
b"print('foobar')n"

所以我们的原始代码又回来了,然后在最后一行进行编译和评估。

最新更新