010editor pyc template
由于ctf最近遇到反编译pyc文件,所以写了个pyc的010editor 模版。暂时先写成这样供大家参考。
//--------------------------------------
//--- 010 Editor v6.0.2 Binary Template
//
// File:
// Author: qian qian pai huai
// Revision: v1.0.0
// Purpose:
//--------------------------------------typedef enum<uchar>{TYPE_NULL ='0',TYPE_NONE ='N',TYPE_FALSE ='F',TYPE_TRUE ='T',TYPE_STOPITER ='S',TYPE_ELLIPSIS ='.',TYPE_INT ='i', TYPE_INT64 ='I', TYPE_FLOAT ='f', TYPE_BINARY_FLOAT ='g', TYPE_COMPLEX ='x', TYPE_BINARY_COMPLEX ='y', TYPE_LONG ='l', TYPE_STRING ='s', TYPE_INTERNED ='t', TYPE_STRINGREF ='R', TYPE_TUPLE ='(', TYPE_LIST ='[', TYPE_DICT ='{', TYPE_CODE ='c', TYPE_UNICODE ='u', TYPE_UNKNOWN ='?', TYPE_SET ='<', TYPE_FROZENSET ='>'
}PY_TYPE;typedef enum<uchar>{STOP_CODE =0,POP_TOP =1,ROT_TWO =2,ROT_THREE =3,DUP_TOP =4,ROT_FOUR =5,NOP =9,UNARY_POSITIVE =10,UNARY_NEGATIVE =11,UNARY_NOT =12,UNARY_CONVERT =13,UNARY_INVERT =15,BINARY_POWER =19,BINARY_MULTIPLY =20,BINARY_DIVIDE =21,BINARY_MODULO =22,BINARY_ADD =23,BINARY_SUBTRACT =24,BINARY_SUBSCR =25,BINARY_FLOOR_DIVIDE =26,BINARY_TRUE_DIVIDE =27,INPLACE_FLOOR_DIVIDE =28,INPLACE_TRUE_DIVIDE =29,SLICE =30,SLICE_1 =31,SLICE_2 =32,SLICE_3 =33,STORE_SLICE =40,STORE_SLICE_1 =41,STORE_SLICE_2 =42,STORE_SLICE_3 =43,DELETE_SLICE =50,DELETE_SLICE_1 =51,DELETE_SLICE_2 =52,DELETE_SLICE_3 =53,STORE_MAP =54,INPLACE_ADD =55,INPLACE_SUBTRACT =56,INPLACE_MULTIPLY =57,INPLACE_DIVIDE =58,INPLACE_MODULO =59,STORE_SUBSCR =60,DELETE_SUBSCR =61,BINARY_LSHIFT =62,BINARY_RSHIFT =63,BINARY_AND =64,BINARY_XOR =65,BINARY_OR =66,INPLACE_POWER =67,GET_ITER =68,PRINT_EXPR =70,PRINT_ITEM =71,PRINT_NEWLINE =72,PRINT_ITEM_TO =73,PRINT_NEWLINE_TO =74,INPLACE_LSHIFT =75,INPLACE_RSHIFT =76,INPLACE_AND =77,INPLACE_XOR =78,INPLACE_OR =79,BREAK_LOOP =80,WITH_CLEANUP =81,LOAD_LOCALS =82,RETURN_VALUE =83,IMPORT_STAR =84,EXEC_STMT =85,YIELD_VALUE =86,POP_BLOCK =87,END_FINALLY =88,BUILD_CLASS =89,HAVE_ARGUMENT =90,STORE_NAME =90,DELETE_NAME =91,UNPACK_SEQUENCE =92,FOR_ITER =93,LIST_APPEND =94,STORE_ATTR =95,DELETE_ATTR =96,STORE_GLOBAL =97,DELETE_GLOBAL =98,DUP_TOPX =99,LOAD_CONST =100,LOAD_NAME =101,BUILD_TUPLE =102,BUILD_LIST =103,BUILD_SET =104,BUILD_MAP =105,LOAD_ATTR =106,COMPARE_OP =107,IMPORT_NAME =108,IMPORT_FROM =109,JUMP_FORWARD =110,JUMP_IF_FALSE_OR_POP =111,JUMP_IF_TRUE_OR_POP =112,JUMP_ABSOLUTE =113,POP_JUMP_IF_FALSE =114,POP_JUMP_IF_TRUE =115,LOAD_GLOBAL =116,CONTINUE_LOOP =119,SETUP_LOOP =120,SETUP_EXCEPT =121,SETUP_FINALLY =122,LOAD_FAST =124,STORE_FAST =125,DELETE_FAST =126,RAISE_VARARGS =130,CALL_FUNCTION =131,MAKE_FUNCTION =132,BUILD_SLICE =133,MAKE_CLOSURE =134,LOAD_CLOSURE =135,LOAD_DEREF =136,STORE_DEREF =137,CALL_FUNCTION_VAR =140,CALL_FUNCTION_KW =141,CALL_FUNCTION_VAR_KW =142,SETUP_WITH =143,EXTENDED_ARG =145,SET_ADD =146,MAP_ADD =147
}OPCODE;struct PyObject;typedef struct{int number;
}IntType;typedef struct{uint size;local int i;for(i=0;i<size;i++){char command;}
}StrType;typedef struct{uint index;
}StrgrefType;typedef struct{
}NoneType;typedef struct{int size;if(size>0){local int i=0;for(i=0;i<size;i++){PyObject object;}}
}TupleType;typedef struct{int co_argcount;int co_nlocals; int co_stacksize;int co_flags;PyObject code;PyObject co_consts;PyObject co_names; PyObject co_varnames;PyObject co_freevars;PyObject co_cellvars;PyObject co_filename;PyObject co_name;int co_firstlineno;PyObject co_lnotab;
}CodeBlock;typedef struct{PY_TYPE type;switch(type){case TYPE_STRING: StrType str; break;case TYPE_STRINGREF: StrgrefType str; break;case TYPE_INT: IntType number; break;case TYPE_NONE: ; break;case TYPE_INTERNED: StrType str; break;case TYPE_CODE: CodeBlock code;break;case TYPE_TUPLE:TupleType code;break;default: Printf("[offset 0x%x] unknown type\n",FTell()); Exit(-1);}
}PyObject;typedef struct {int magic <format=hex>;int mtime <format=hex>;PyObject codeblock;
} PyCodeObject;PyCodeObject object;
010editor pyc template相关推荐
- ctf 文件头crc错误_[CTF隐写]png中CRC检验错误的分析
[CTF隐写]png中CRC检验错误的分析 最近接连碰到了3道关于png中CRC检验错误的隐写题,查阅了相关资料后学到了不少姿势,在这里做一个总结 题目来源: bugku-MISC-隐写2 bugku ...
- 殊途同归的CVE-2012-0774 TrueType字体整数溢出漏洞分析
1. 前言 官方的漏洞通报中,关于这个漏洞的信息其实很少: Integer overflow in Adobe Reader and Acrobat 9.x before 9.5.1 and 10.x ...
- Android高手笔记 - 启动优化
启动, 打开APP的必经之路, 第一体验,关系到用户留存和转化率等核心数据: 启动分析 启动类型 Android Vitals可以对应用冷,热,温启动时间做监控. 通过adb shell am sta ...
- 【Git】从Git远程存储库中删除所有.pyc编译文件;附常用gitignore配置
问题 提交的时候使用git add --all,然后把所有文件都推送到了远程仓库中. 现在我想在远程仓库中删除它们,例如*.pyc文件. 解决方式 git rm *.pyc --cached 删除的时 ...
- 关于010editor
http://book.51cto.com/art/201107/275226.htm 010 Editor是一款非常强大的文本/十六进制编辑器,除了文本/十六进制编辑外,还包括文件解析 ...
- 什么是pyc文件,把python的py文件编译成pyc文件,把pyc文件反编译成py文件。以及python编译的如何设置不生成pyc文件
文章目录 1 什么是pyc文件 1.1 什么是pyc文件 1.2 pyc文件是怎么生成的,有什么好处 2 把python的py文件编译成pyc文件 2.1 使用python内置库py_compile把 ...
- 微信小程序模板template
上面是官方的讲解, 主要是方便在不同的地方调用. 下面自己说下使用, 先创建一个模板名字是自己随便取的, 在template.wxml中填写模板 最外层用template标签 设置一个name属性 & ...
- ⑥python模块初识、pyc和PyCodeObject
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- C++中模板template typename T
template <typename Dtype>. 网上解释的非常多,觉得比较啰嗦,其实就是一个类型模板. 比如我们要计算两个数的加法,针对不同类型可能需要设计不同类型的函数,那么tem ...
最新文章
- PHP APC(可选PHP缓存)
- http error code
- 分布式锁(一) Zookeeper分布式锁
- 错误: libstdc++.so.6: cannot open shared object file: No such file or directory
- DCMTK:将STL文件封装为DICOM文件
- hikaricp 连接池分析_数据库连接池终于搞对了,这次直接从100ms优化到3ms!
- Mike and distribution(思维)
- LVS+piranha(多实例配置) 转载
- libuv 网络库设计概览译
- Java案例:汉诺塔问题
- 数字图像处理(作业四)——边缘表达
- sublime 如何使用less_【图文】5分钟可以学会在vue里使用sass?
- 啦啦外卖小程序公众号定位中的问题解决方法
- 机器学习和深度学习概念入门
- 漫威女性电影背后所体现出来的性别观念转变
- excel单元格下拉选项怎么设置_表格设置下拉多个选项的方法_excel如何设置下拉选项图文步骤...
- 漏洞平台之pikachu详细图文搭建教程
- ubuntu相关命令速记
- android平板ps,移动端和平板上的Photoshop Touch(支持iOS和Android)
- 【保存】新装Win10后Edge、OneDrive无法登录微软账号解决办法
热门文章
- (附源码)springboot物联网智能管理平台 毕业设计 2111120
- oracle 抽样_利用ORACLE实现数据抽样
- 使用Minisforum UM560小主机办公一周体验
- linux卸载phpstudy_centos
- 无需序列号安装Photoshop CS6
- 图书管理系统(简易版)
- 腾讯的wifi硬件“全民wifi”正是亮相,有何值得期待
- 安卓游戏服务器文件是哪个文件夹,安卓手机游戏数据包放在哪个文件夹
- SCI 论文常用词汇 持续更新中。。。
- cython代码编译和setup.py文件编写