首页 > 其他分享 >Ez_pycode_dis qsnctfwp

Ez_pycode_dis qsnctfwp

时间:2023-06-24 14:57:25浏览次数:48  
标签:keys1 翻译成 pycode flag keys2 qsnctfwp 源码 84 dis

Python字节码基础

  1. 下载相关文件并打开,其中为 Python 字节码。
  2. 字节码格式为
    源码行号 | 指令在函数中的偏移 | 指令符号 | 指令参数 | 实际参数值
  3. 根据上述字节码格式以及文件内容开始手搓源码
    1.
    image
    LOAD_CONST:载入常量
    STORE_NAME:根据名称存入指定变量
    翻译成源码为keys1 = "welcome_to_qsnctf_u_will_have_a_good_time!"
    2.
    image
    BUILD_LIST:创建列表
    翻译成源码为keys2 = [6, 22, 2, 0, 27, 11, 30, 109, 76, 86, 106, 92, 17, 15, 6, 76, 94, 102, 23, 105, 70, 68, 84, 85, 104, 12, 89, 79, 82, 62, 4, 108, 3, 66, 91, 84, 59, 18, 93, 9, 3, 92]
    3.
    image
    翻译成源码为flag=""
    4.
    image
    SETUP_LOOP:开启循环
    CALL_FUNCTION:启用函数
    GET_ITER:获取参数
    FOR_ITER:迭代参数
    翻译成源码为for i in range(0, len(keys1)):
    5.
    image
    BINARY_SUBSCR:设置下标
    BINARY_XOR:异或运算
    INPLACE_ADD:加法赋值,+=运算
    JUMP_ABSOLUTE:回到循环起点
    POP_BLOCK:弹出循环块
    翻译成源码为flag += chr(ord(keys1[i]) ^ keys2[i] ^ keys2[i] ^ keys2[i] ^ keys2[i] ^ keys2[i])
    6.
    image
    LOAD_NAME:根据名称载入指定变量
    PRINT_ITEM:输出参数
    PRINT_NEWLINE:输出换行
    RETURN_VALUE:返回指定值
    翻译成源码为print(flag)
  4. 根据上述过程总结源码如下:
keys1 = "welcome_to_qsnctf_u_will_have_a_good_time!"
keys2 = [6, 22, 2, 0, 27, 11, 30, 109, 76, 86, 106, 92, 17, 15, 6, 76, 94, 102, 23, 105, 70, 68, 84, 85, 104, 12, 89, 79, 82, 62, 4, 108, 3, 66, 91, 84, 59, 18, 93, 9, 3, 92]
flag = ""
for i in range(0, len(keys1)):
    flag += chr(ord(keys1[i]) ^ keys2[i] ^ keys2[i] ^ keys2[i] ^ keys2[i] ^ keys2[i])
print(flag)
  1. 执行该程序,输出结果即是 flag

-End-

标签:keys1,翻译成,pycode,flag,keys2,qsnctfwp,源码,84,dis
From: https://www.cnblogs.com/SRIGT/p/17501106.html

相关文章

  • 2023-06-23:redis中什么是缓存击穿?该如何解决?
    2023-06-23:redis中什么是缓存击穿?该如何解决?答案2023-06-23:缓存击穿是指一个缓存中的热点数据非常频繁地被大量并发请求访问,当该热点数据失效的瞬间,持续的大并发请求无法通过缓存获取到数据,而直接访问数据库,这就好像在一个稳固完好的容器上打开了一个洞。解决缓存击穿问题的方......
  • WordPress开启Nginx Redis Cache缓存 解决FastCGI Cache内网穿透兼容问题
    本文转载自:WordPress开启NginxRedisCache缓存解决FastCGICache内网穿透兼容问题更多内容请访问钻芒博客:https://www.zuanmang.net上回说到,Wordpress配合NginxFastCGICache缓存可以极大提升速度体验,但钻芒博客由于是通过Nginx反向代理所以使用起来纯在一定兼容问题,比如缓......
  • redis基础
    1. 什么时redis  1Redis是一个基于内存的key-value结构数据库。●基于内存存储, 读写性能高●适合存储热点数据( 热点商品、资讯、新闻)●企业应用广泛2. redis入门   22.1 redis简介  2Redis is an open source (BSD licensed), in-memory data structure st......
  • DSM-5 偏执型人格障碍(paranoid personality disorder PPD)
    偏执型人格障碍(paranoidpersonalitydisorder),又称妄想型人格障碍,其症状常表现为:对别人的回绝、不信任、厌恶过度敏感,而且很容易怀疑别人对自己有这些反面情绪。别人无意中的一举一动也可能被患者视为对其的敌意或阴谋。无理由的怀疑其伴侣在性关系或其他各方面有过不忠行为;顽固地......
  • DSM-5 自恋型人格障碍(Narcissistic personality disorder, NPD)
    自恋型人格疾患(英语:Narcissisticpersonalitydisorder,简称为 NPD),是一种长久性的人格疾患。患者往往会过度夸大强化自我的重要性,过度渴求别人的赞赏,缺乏同理他人行为的能力[2][3]。患者会花很多时间,思考如何获得权力、成功或提升外在形象 。最大的特征之一,就是患者经常无意识地......
  • DSM-5 表演型人格障碍(histrionic personality disorder,HPD)
    戏剧化人格障碍是人格障碍的一种,又称表演型人格障碍。患者常显得不成熟、情绪不稳,具有强烈的自我意识和个人表现欲。他们富含敏感而夸张的情感,追求感官刺激,喜欢成为被关注的中心。由于过于重视他人表面的赞同和认可,因此他们的人际关系会很肤浅。他们善于博取同情,用夸张的情感控制......
  • 【redis已解决】Warning: no config file specified, using the default config. In o
    1.启动redis:双击redis-server.exe。报错:Warning:noconfigfilespecified,usingthedefaultconfig.InordertospecifyaconfigfileuseF:\liuf\Redis3\redis-server.exe/path/to/redis.conf 2.解决方法一:点击这个报错表示没有指定配置文件,使用默认配置。要指......
  • Redis学习经验
    Redis各位读者朋友你们好,我是你们的好朋友IT黑铁,最近巩固加深Redis中将经验记录了下来,其中若有错误请多指教!学习途径:  B站黑马程序员的Redis视频   注:由于部分ppt图片过于的好和部分知识基本不需要扩展,我就直接截取了黑马程序员的ppt图片,万分感谢!概述Redis是一款键值......
  • 跟我一起学Redis之五种基本类型及其应用场景举例
    前言来啦,老弟?来啦,上一篇就当唠唠嗑,接下来就开始进行实操撸命令,计划是先整体单纯说说Redis的各种用法和应用,最后再结合代码归纳总结。Redis默认有16个数据库(编号为0~15),默认使用第0个,通过命令select任意切换数据库,和MySql切换数据库一个道理;各数据库之间的数据是隔离的,先启动服......
  • Redis–内存淘汰机制(涉及到过期策略)
    这个博客的内容包括以下几个点:1.redis内存淘汰机制2.若有大量的key需要设置同一时间过期,一般需要注意什么?3.过期键删除策略4.redis如何保证数据都是热点数据一、redis内存淘汰机制1,概念:内存淘汰机制:redis配置文件可以设置maxmemory,内存的最大使用量,达到限度会执行内存淘汰......