【原创】用python把内存数据转为明文

接到一个很有意思的任务,给了我一串内存数据的文档,要把它转为看得懂的明文。

我们可以借助hex工具查看这些字符的16进制。

int在内存里面是占4个字节,图中的0x64代表右边的字符d。

所以我们现在需要四个四个分组处理,总共有len(file)/4组,每一组对应着file里面字符的位置为[4*n:4*(n+1)]。理清楚了这层关系就好做了,我们只需要用ord函数将字符转化为对应的ASCII数值。注意一个字节是8位,所以在高位向地位转化时要乘以256所以代码如下:

dat=[]
myfile=open(‘c:\\test.txt‘,‘rb‘).read()
for n in range((len(myfile)/4)):
    x=myfile[4*n:4*(n+1)]
    xvalue=0
    for m in range(4):
        xvalue += ord(x[m])*(256**m)
    dat.append(xvalue)
for item in dat:
    print item

最后我们可以看到这是一些日期相关的数据

时间: 2024-12-04 15:10:21

【原创】用python把内存数据转为明文的相关文章

【原创】python基于大数据现实双色球预测

前提准备:利用sql筛选出每个球出现概率最高的前5个数 原理:先爬出所有的历史数据,然后模拟摇奖机出球的机制并大量模拟计算,直到出现列表中的某一个数后即停 注意事项:由于计算过程数据量很大,需要加入内存释放的操作 成果:目前博主最好记录是中了3红1蓝,适合学习交流使用,信则有 #coding=utf-8 import random import time import gc import datetime from collections import Counter try: dt = dat

python 中内存对数据的应用

python 对内存的使用 浅拷贝 解释:引用的拷贝(只拷贝父对象): 深拷贝 解释:对对象资源的拷贝: 导入模块: >>> import copy >>> a = [1,2,3,['a','b','d']] >>> b = a >>> a [1, 2, 3, ['a', 'b', 'd']] >>> b [1, 2, 3, ['a', 'b', 'd']] >>> id(a) 1397127050

支持windows linux下将指定内存段转为16进制与ascii码的日志输出类

来源:http://blog.csdn.net/lezhiyong 1. 简介 将指定内存段转为16进制与asci码的输出到日志文件的类. 2. 功能介绍 1) 支持window与linus双系统. 2) 可指定输出目录. 3) 日志能输出的时间精确到毫秒,日志能输出线程号. 4) 提供字符串输出. 5) 提供指定内存转换为16进制输出. 6) 提供指定内存转换为16进制和ascii码同时输出. 7) 可调整16进制输出间距. 3. 原理和算法 1) 模块是基于C++语言编写: 2) 通过条件定

《python解释器源码剖析》第17章--python的内存管理与垃圾回收

17.0 序 内存管理,对于python这样的动态语言是至关重要的一部分,它在很大程度上决定了python的执行效率,因为在python的运行中会创建和销毁大量的对象,这些都设计内存的管理.同理python还提供了了内存的垃圾回收(GC,garbage collection),将开发者从繁琐的手动维护内存的工作中解放出来.这一章我们就来分析python的GC是如何实现的. 17.1 内存管理架构 在python中内存管理机制是分层次的,我们可以看成有四层,0 1 2 3.在最底层,也就是第0层是

Python/Numpy大数据编程经验

Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. 2. 及时用 del 释放大块内存.Python缺省是在变量范围(variablescope)之外才释放一个变量,哪怕这个变量在后面的代码没有再被用到,所以需要手动释放大的array. 注意所有对数组的引用都del之后,数组才会被del.这些引用包括A[2:]这样的view,即使np.split也只是

Python 下载 tushare 数据,然后调用 C++ DLL 计算 wMA 存入本地 csv 文件

CMakeLists.txt project(wMA) add_library(wMA SHARED wMA.cpp) wMA.h #pragma once #ifndef WMA_WMA_H #define WMA_WMA_H #endif #ifdef BUILD_WMA_DLL #define IO_WMA_DLL __declspec(export) #else #define IO_WMA_DLL __declspec(import) #endif extern "C" {

内存数据网格hazelcast的一些机制原理

hazelcast作为一个内存数据网格工具,还算比较优秀,听说有Apache顶级项目使用它,值得研究下,使用文档可以直接看官方文档,但机制原理相关的资料基本没有,本人硬撸源码写的一些东西,跟大家分享一下. 喜欢java的可以交个朋友: 版权声明:本文为博主原创文章,未经博主允许不得转载.

『Numpy』内存分析_numpy.dtype内存数据解析方式指导

numpy.dtype用于自定义数据类型,实际是指导python程序存取内存数据时的解析方式. [注意],更改格式不能使用 array.dtype=int32 这样的硬性更改,会不改变内存直接该边解析过程,导致读取出问题,所以使用 array.astype(int32) ,这样才安全. 一.基本使用示例 // 定义一个数据类型,其中name为16为字符串,grades为2个float64的子数组 >>> dt = np.dtype([('name', np.str_, 16), ('gr

『Python』内存分析_List对象内存占用分析

『Python』内存分析_下_list和array的内存增长模式 list声明后结构大体分为3部分,变量名称--list对象(结构性数据+指针数组)--list内容,其中id表示的是list对象的位置, v引用变量名称,v[:]引用list对象,此规则对python其他序列结构也成立,以下示范可用id佐证, a=b时,a和b指向同一个list对象 a=b[:]时,a的list对象和b的list对象指向同一个list内容 Q1:元素存储地址是否连续 首先见得的测试一下list对象存储的内容(结构3