#python
#python
Вопрос:
я декодировал / деэншифровал этот код, и python стал выглядеть так
200d\U0001f466)))|(?:(?:(?:\U0001f468\u200d\U0001f468)|(?:\U0001f469\u200d\U0001f469))\u200d\U0001f466)|[\u2194-\u2199]|[\u23e9-\u23f3]|[\u23f8-\u23fa]|[\u25fb-\u25fe]|[\u2600-\u2604]|[\u2638-\u263a]|[\u2648-\u2653]|[\u2692-\u2694]|[\u26f0-\u26f5]|[\u26f7-\u26fa]|[\u2708-\u270d]|[\u2753-\u2755]|[\u2795-\u2797]|[\u2b05-\u2b07]|[\U0001f191-\U0001f19a]|[\U0001f1e6-\U0001f1ff]|[\U0001f232-\U0001f23a]|[\U0001f300-\U0001f321]|[\U0001f324-\U0001f393]|[\U0001f399-\U0001f39b]|[\U0001f39e-\U0001f3f0]|[\U0001f3f3-\U0001f3f5]|[\U0001f3f7-\U0001f3fa]|[\U0001f400-\U0001f4fd]|[\U0001f4ff-\U0001f53d]|[\U0001f549-\U0001f54e]|[\U0001f550-\U0001f567]|[\U0001f573-\U0001f57a]|[\U0001f58a-\U0001f58d]|[\U0001f5c2-\U0001f5c4]|[\U0001f5d1-\U0001f5d3]|[\U0001f5dc-\U0001f5de]|[\U0001f5fa-\U0001f64f]|[\U0001f680-\U0001f6c5]|[\U0001f6cb-\U0001f6d2]|[\U0001f6e0-\U0001f6e5]|[\U0001f6f3-\U0001f6f6]|[\U0001f910-\U0001f91e]|[\U0001f920-\U0001f927]|[\U0001f933-\U0001f93a]|[\U0001f93c-\U0001f93e]|[\U0001f940-\U0001f945]|[\U0001f947-\U0001f94b]|[\U0001f950-\U0001f95e]|[\U0001f980-\U0001f991]|\u00a9|\u00ae|\u203c|\u2049|\u2122|\u2139|\u21a9|\u21aa|\u231a|\u231b|\u2328|\u23cf|\u24c2|\u25aa|\u25ab|\u25b6|\u25c0|\u260e|\u2611|\u2614|\u2615|\u2618|\u261d|\u2620|\u2622|\u2623|\u2626|\u262a|\u262e|\u262f|\u2660|\u2663|\u2665|\u2666|\u2668|\u267b|\u267f|\u2696|\u2697|\u2699|\u269b|\u269c|\u26a0|\u26a1|\u26aa|\u26ab|\u26b0|\u26b1|\u26bd|\u26be|\u26c4|\u26c5|\u26c8|\u26ce|\u26cf|\u26d1|\u26d3|\u26d4|\u26e9|\u26ea|\u26fd|\u2702|\u2705|\u270f|\u2712|\u2714|\u2716|\u271d|\u2721|\u2728|\u2733|\u2734|\u2744|\u2747|\u274c|\u274e|\u2757|\u2763|\u2764|\u27a1|\u27b0|\u27bf|\u2934|\u2935|\u2b1b|\u2b1c|\u2b50|\u2b55|\u3030|\u303d|\u3297|\u3299|\U0001f004|\U0001f0cf|\U0001f170|\U0001f171|\U0001f17e|\U0001f17f|\U0001f18e|\U0001f201|\U0001f202|\U0001f21a|\U0001f22f|\U0001f250|\U0001f251|\U0001f396|\U0001f397|\U0001f56f|\U0001f570|\U0001f587|\U0001f590|\U0001f595|\U0001f596|\U0001f5a4|\U0001f5a5|\U0001f5a8|\U0001f5b1|\U0001f5b2|\U0001f5bc|\U0001f5e1|\U0001f5e3|\U0001f5e8|\U0001f5ef|\U0001f5f3|\U0001f6e9|\U0001f6eb|\U0001f6ec|\U0001f6f0|\U0001f930|\U0001f9c0|[#|0-9]\u20e3"rnrnrn@Exeter.command(aliases=["stopcopycatuser", "stopcopyuser", "stopcopy"])rnasync def stopcopycat(ctx):rn await ctx.message.delete()rn if Exeter.user is None:rn await ctx.send("You weren't copying anyone to begin with")rn returnrn await ctx.send("Stopped copying " str(Exeter.copycat))rn Exeter.copycat = Nonernrnrn@Exeter.command(aliases=["copycatuser", "copyuser"])rnasync def copycat(ctx, user: discord.User):rn await ctx.message.delete()rn Exeter.copycat = userrn await ctx.send("Now copying " str(Exet
Есть ли способ превратить это в обычный код python? Ниже приведены зашифрованный / экодированный файл и расшифрованный / декодированный файл.
Комментарии:
1. предполагается ли запустить закодированный файл? Я не вижу там никакого exec
2. я думаю, что я загрузил неправильный файл, но да. позвольте мне повторно загрузить файл.
3. @painor спасибо, что указали на это. я загрузил правильный файл.
4. Можете ли вы опубликовать меньший образец в своем вопросе, который не в формате изображения?
5. конечно, @MateenUlhaq
Ответ №1:
Код просто использует кодировку b64. для его декодирования вы можете просто распечатать результат, который передается в eval
data = ((base64.b64decode(eval('x74x72x75x73x74')),'<string>','exec'))
print(data[0].decode("utf-8"))
если вы хотите избежать оценок, вы можете использовать
joy = 'rot13'
trust = magic codecs.decode(love, joy) god codecs.decode(destiny, joy)
code = (base64.b64decode(trust),'<string>','exec')
print(code[0].decode("utf-8"))
Комментарии:
1.
eval('x74x72x75x73x74')
эквивалентно имени переменнойtrust
, поэтому OP также может заменить это, чтобы избежатьeval
.
Ответ №2:
Это не полный ответ, но большая часть вашего файла, похоже, выглядит правильно, когда он не экранирован и распечатан. Например, просто скопируйте-вставьте из вашего decoded.txt
файла в python REPL и распечатайте его, чтобы получить:
>>> print(
... """rn@Exeter.command(aliases=["stopcopycatuser", "stopcopyuser", "stopc
... opy"])rnasync def stopcopycat(ctx):rn await ctx.message.delete()r
... n if Exeter.user is None:rn await ctx.send("You weren't cop
... ying anyone to begin with")rn returnrn await ctx.send("Stop
... ped copying " str(Exeter.copycat))rn Exeter.copycat = Nonern"""
... )
@Exeter.command(aliases=["stopcopycatuser", "stopcopyuser", "stopcopy"])
async def stopcopycat(ctx):
await ctx.message.delete()
if Exeter.user is None:
await ctx.send("You weren't copying anyone to begin with")
return
await ctx.send("Stopped copying " str(Exeter.copycat))
Exeter.copycat = None
Один из способов выполнить это программно с помощью вашего decoded.txt
является:
with read("decoded.txt") as f:
data = f.read()
unescaped = data.encode("utf8").decode("unicode_escape")
print(unescaped)