CTF CRYPTO 密码学-3

这篇具有很好参考价值的文章主要介绍了CTF CRYPTO 密码学-3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目名称:反编译

题目描述:

CTF CRYPTO 密码学-3,密码学,密码学,python

分析

题目给出一个pyc后缀的文件,需要使用uncompyle6模块去还原成py文件

uncompyle6简介

uncompyle6 是一个 Python 反编译器,它能够将 Python 字节码(.pyc 文件)转换回源代码(.py 文件)。

解题过程:

Step1:下载uncompyle6包

pip install uncompyle6

注意 版本问题

uncompyle6默认只支持3.8及以下版本
如何修改?(我这里是python3.11.3)
CTF CRYPTO 密码学-3,密码学,密码学,python

Python311\Lib\site-packages\uncompyle6\bin\uncompile.py

CTF CRYPTO 密码学-3,密码学,密码学,python

修改位置:Python311\Lib\site-packages\xdis\magics.py

CTF CRYPTO 密码学-3,密码学,密码学,python

Step2:在uncompyle6.exe目录下运行反编译命令

CTF CRYPTO 密码学-3,密码学,密码学,python

Step3:编写逆算法

生成的py文件内容如下:

# uncompyle6 version 3.7.4
# Python bytecode 2.7 (62211)
# Decompiled from: Python 3.11.3 (tags/v3.11.3:f3909b8, Apr  4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)]
# Embedded file name: b'C:\\Users\\CD\\Desktop\\\xb7\xb4\xb1\xe0\xd2\xeb\\crypto11.py'
# Compiled at: 2019-11-24 10:36:35
import base64

def encode1(ans):
    s = ''
    for i in ans:
        x = ord(i) ^ 18
        x = x + 19
        s += chr(x)

    return s


def encode2(ans):
    s = ''
    for i in ans:
        x = ord(i) + 66
        x = x ^ 32
        s += chr(x)

    return s


def encode3(ans):
    return base64.b16encode(ans)


flag = ' '
print 'Please Input your flag:'
flag = raw_input()
final = 'E9F3E8EA9EECE859E5555BA0A05F555A555CEBE955EC59E5EC5AECE858E9ECE555EB5FE6E8E4'
if encode3(encode2(encode1(flag))) == final:
    print 'correct'
else:
    print 'wrong'

逆运算脚本如下:

import base64
def decode2(ans):
    s = ''
    for i in ans:
        j=ord(i)
        x=j ^ 32
        x-=66
        s += chr(x)

    return s


def decode1(ans):
    s = ''
    for i in ans:
        j=ord(i)
        x=j-19
        x=x^18
        s += chr(x)

    return s

final = 'E9F3E8EA9EECE859E5555BA0A05F555A555CEBE955EC59E5EC5AECE858E9ECE555EB5FE6E8E4'
s = base64.b16decode(final)

s = decode1(decode2(s))

print s

相关资源:

链接:https://pan.baidu.com/s/13S5xdwEvsb1H0nLTlyzMAA
提取码:25fq文章来源地址https://www.toymoban.com/news/detail-798059.html

到了这里,关于CTF CRYPTO 密码学-3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • CRYPTO 密码学-笔记

    CRYPTO 密码学-笔记

            替换法的加密方式:一种是单表替换,另一种是多表替换         单表替换:原文和密文使用同一张表         abcde---》sfdgh         多表替换:有多涨表,原文和密文进行对比         表单1:abcde---》sfdgh  表单2:abcde---》chfhk   表单3:abcde---》jftou        原文

    2024年02月12日
    浏览(7)
  • ctf密码学之四方密码解密

    ctf密码学之四方密码解密

    前几日刷题遇到一道密码学的四方解密题: 题目如下:四方门主东方青木看着四面八方涌过来的极客,非常震惊,转头便进入了祖祠中的地下室,发现这丫传自唐朝的密室还设计了英文密码。旁边的石头上(附件中有拓本)刻着密码和密文,大家快帮助门主解出密码(答案为

    2024年02月14日
    浏览(27)
  • CTF中常见密码学(一)

    CTF中常见密码学(一)

    参考,我们任课老师的WORD和PPT,结合自己的理解,在结合网上文章的理解。 BASE64编码中,特征和所拥有的字符 字母:A-Z a-z;数字:0-9;符号:+ / ,然后末尾经常有一个“=”或者两个“==”。 原理,先把需要加密的字符串每个字符转换成ASCII码,然后ASCII码转换成二进制为8位二进制

    2023年04月11日
    浏览(7)
  • CTF-Show密码学【摩斯码、培根密码】

    CTF-Show密码学【摩斯码、培根密码】

    萌新 密码33 题目名称 :我想吃培根 题目描述 :-- — .-. … . …–.- … … …–.- -.-. — — .-… …–.- -… …- - …–.- -… .- -.-. — -. …–.- … … …–.- -.-. — — .-… . .-. …–.- – – -… -… – -… – -… – – – -… -… -… /-- -… – -… -… --/ – – – – – /-- -… -… –

    2024年02月11日
    浏览(9)
  • 青少年CTF平台练习密码学

    青少年CTF平台练习密码学

    题目 凯撒大帝在出征之路上留下了这样一串字符,你能通过这串字符得到FLAG并提交吗? 我的解答: 凯撒密码 qsnctf{1c2fee7b8fcdaf7d1e2320acd6a97a9f} 题目 这是什么密码呢?得到的结果请加上qsnctf{}后提交。 我的解答: 猪圈密码:http://moersima.00cha.net/zhuquan.asp 在线解码即可。 题目

    2024年03月09日
    浏览(15)
  • CTF-Show密码学【Base64、栅栏密码、16进制】

    CTF-Show密码学【Base64、栅栏密码、16进制】

    萌新_密码13 初步分析 我们首先面对一串看起来符合16进制特征的密文,附带了一个工具下载链接。根据描述,我们下载并打开工具,发现其中包含了一个 16进制编辑器 和一个栅 栏密码加解密 工具。 根据这些线索,我们可以确定这是一串 16进制密文 。为了进行解密,我们需

    2024年02月10日
    浏览(5)
  • CTF-Show密码学:ZIP文件密码破解【暴力破解】

    CTF-Show密码学:ZIP文件密码破解【暴力破解】

    萌新 隐写23 题目内容: 文件的主人喜欢用生日做密码,而且还是个90后。 在这个题目中,我们有以下已知条件: 文件的主人喜欢用生日做密码 - 这个条件告诉我们,密码可能是一个八位的纯数字密码,因为大多数人的生日在公历中都可以用八位数字表示(例如,19901231表示

    2024年02月10日
    浏览(11)
  • 【密码学】python密码学库pycryptodome

    【密码学】python密码学库pycryptodome

    记录了一本几乎是10年前的书(python绝技–用python成为顶级黑客)中过时的内容 里面提到了python标准库中自带的crypt库,经验证Python 3.12.1中并没有这个自带的库,密码学相关的库目前(2024.1.12)是一个自包含库pycryptodome,导入的是 import Crypto pypi库的页面 可以在文档中查看详

    2024年01月17日
    浏览(32)
  • python进件 — 密码学

    1、密码学介绍 密码学是研究和应用如何保护信息的一门学科。它涉及使用加密技术来确保数据的保密性、完整性和可用性。密码学的目标是设计和分析安全的算法和协议,以保护通信、存储和计算过程中的敏感数据。 密码学可以分为两个主要领域:对称密码和非对称密码。

    2024年02月11日
    浏览(9)
  • python库-密码学库pynacl

    官方: https://pynacl.readthedocs.io/en/latest/ PyNaCl is a Python binding to libsodium, which is a fork of the Networking and Cryptography library. These libraries have a stated goal of improving usability, security and speed. It supports Python 3.6+ as well as PyPy 3. PyNaCl 是 libsodium C库绑定封装。PyNaCl是libsodium库的Python实现。libsodi

    2023年04月09日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包