Python3解析dex文件

一、说明 1.1 背景说明 看《加密与解密》的时候反复听说“PE文件格式”,到Android安全兴起就不断听说“dex文件格式”。意思是看得懂的,但自己不能手解析一番总觉得不踏实,所以决定写个程序来解析一番。 本文其实算是姜维的Android逆向之旅---解析编译之后的Dex文件格式的Python实现版。 1.2 dex文件格式说明 类似exe文件是windows上的可执行文件,dex文件就是android中的可执行文件;pe格式是exe文件的格式,dex文件格式就是dex文件的格式。下边直接
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

使用matplotlib.pylab绘制分段函数

  1.安装matplotlib     pip3 install matplotlib     sudo apt install python3-tk   2.分段函数    from pylab import * x = linspace(0,8,200) cond = [True if (i > 2 and i < 5) else False for i in x] y = sin(x)*(x<2)+cos(x)*cond + x*(x>5) plot(x,y),show()   
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

Redis(十五)Redis 的一些常用技术(Spring 环境下)

  一、Redis 事务与锁机制      1.Redis的基础事务   在Redis中开启事务的命令是 multi 命令, 而执行事务的命令是 exec 命令。multi 到 exec 命令之间的 Redis 命令将采取进入队列的形式,直至 exec 命令的出现,才会一次性发送队列里的命令去执行,而在执行这些命令的时候其他客户端就不能再插入任何命令了。 127.0.0.1:6379> multi OK 127.0.0.1:6379> set key1 value1 QUEUED 127.0.
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

Ajax爬取今日头条街拍美图

1.打开今日头条:https://www.toutiao.com 2.搜索街拍 3.检查元素,查看请求发现在URL中每次只有offset发生改变,是一个get请求 1 import requests 2 from urllib.parse import urlencode 3 import os 4 from hashlib import md5 5 from multiprocessing.pool import Pool 6 7 def get_page(offset):
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

冒泡排序+快速排序

一.冒泡排序: 外层循环控制排序躺数:n个数需要跑n-1躺,一个数组的长度为length,那么下标为length-1,那么最大趟数为length-2,即写为<length-1 //因为比较剩下最后一个数时,无需比较。 内层循环控制每一趟的比较次数:每一趟需要比较n-i次 /* * 冒泡排序 */ public class BubbleSort {   public static void main(String[] args) {     int[] arr={6,3,8,2,9,1};
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

wifi Omnipeek抓数设置

作者: RDA FAE邓诚刚 (Chenggang Deng) Email: [email protected] Omnipeek抓数设置: 1, 新建立一个抓数, 2,选择你的抓数的无线卡: 3,选择channel, 请选择b/g模式, 先安装一个wifi分析仪.apk, 看看你所连的路由器在
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

关于python浮点数精度问题计算误差的原因分析

在python中使用浮点数运算可能会出现如下问题 a = 0.1+0.2 print(a) 输出的结果是 0.30000000000000004 原因如下: 出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些数不精确。 比如说: 0.1是十进制,转化为二进制后它是个无限循环的数: 0.00011001100110011001100110011001100110011001100110011001100 而python是以双精度(64)位来保存浮点数,多余的位会被截掉,所以看到
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

java——栈

栈的应用:   undo操作-编辑器   系统调用栈-操作系统   括号匹配-编译器 定义动态数组: package Date_pacage; public class Array<E> { //叫它静态数组 //private int[] data; private E[] data; private int size; //构造函数 public Array(int capacity) { data = (E[])new O
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

Js原生封装选项卡组件

class MyTab extends HTMLElement{ //创建一个类名MyTab constructor(){ //构造函数 super(); //指向父类构造函数,必须要有的 const shadow = this.attachShadow({ //影子dom mode : 'open' //开放的封装模式 }) let n = 0; let titles =
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

电商网站项目

安装环境和创建项目就略过了! 新建的app路径配置 import os import sys # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0,BASE_DIR) sys.path.insert(0,os.path.join(
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

公司网络PC共享给手机进行上网,

由于我们公司的网络是企业用户,手机没法上网, 在此可以通过公司网络PC共享给手机进行上网, 所需设备一台路由器, 我的电脑是thinkpad t440p, win7系统 上网路径: 公司internet-&amp;gt;PC wifi -&amp;gt; PC有线网口-&amp;gt; 路由器 WAN口有线网口-&amp;gt; 路由器 wifi-&amp;gt;手机上网 1,用PC的wifi连接到公司可以上网的网络, 2,打开网络...
分类: 其他 发布时间: 10-15 18:07 阅读次数: 0

JAVA集合的理解

什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。 集合的出现就是为了持有对象。集合中可以存储任意类型的对象, 而且长度可变。在程序中有可能无法预先知道需要多少个对象, 那么用数组来装对象的话, 长度不好定义, 而集合解决了这样的问题。 ​​​​​​​集合和数组的区别 数组和集合类都是容器 数组长...
分类: 其他 发布时间: 10-15 18:05 阅读次数: 0

Struts 2 文件上传与下载

单个文件上传 表单设置enctype=&quot;multipart/form-data“ 表单设置method=&quot;POST“ &amp;lt;s:file name=&quot;f1&quot; label=&quot;logo&quot;/&amp;gt; 多文件上传: 把所有的属性改为数组即可。 private File []f1; private String [] contentType; private String [] fileNa...
分类: 其他 发布时间: 10-15 18:05 阅读次数: 0

编程算法题:101个数字,[1,100]中有一个是重复的,找出这个重复的数字。

编程算法题:101个数字,[0,100]中有一个是重复的,找出这个重复的数字。 思路1:0~100肯定都存在,可以给数组求和然后减去0~100的和,剩下的就是重复的数字;代码如下:     思路2:依次取数循环遍历相减,差为0的就是重复的数字; 代码如下:...
分类: 其他 发布时间: 10-15 18:04 阅读次数: 0

JAVA笔试题:代码的输出结果顺序

class HelloA{ public HelloA()     {         System.out.println(&quot;I’m A class &quot;);     }     static     {     System.out.println(&quot;static A&quot;);     } } public class HelloB extends HelloA{     pu...
分类: 其他 发布时间: 10-15 18:03 阅读次数: 0

多线程的五个状态分别是什么?

new对象时,线程创建 . start()线程进入就绪状态 当获得cpu执行权时,开始执行run方法时为运行状态 遇到 wait,sleep时,进入阻塞状态 run方法执行完毕,线程进入死亡状态   创建,就绪,运行,阻塞,消亡...
分类: 其他 发布时间: 10-15 18:03 阅读次数: 0

Usaco Training Section 3.1 Humble Numbers

给你一个素数集合S。若一个数的素因子均属于S,则该数为丑数。求第n个丑数。 这题出得很妙,正解不好想。 法一:set 先把S中每个数放入set。每次取出set中的最小数,即为第i个丑数,并从s中删除。再将它乘S中的所有数,放入set。 这个复杂度还行,O(nklog(n)),会t一个点。 #include&amp;lt;bits/stdc++.h&amp;gt; #define ll long lon...
分类: 其他 发布时间: 10-15 18:03 阅读次数: 0

Usaco Training Section 3.2 Feed Ratios

有4组比例a:b:c,a1:b1:c1,a2:b2:c2,a3:b3:c3,求x,y,z使(a1*x+b1*y+c1*z):(a2*x+b2*y+c2*z):(a3*x+b3*y+c3*z)=a:b:c(0&amp;lt;=x,y,z&amp;lt;100) 其实也不是什么难题,直接100^3暴力就行。 不过细节还挺多的。 注意0的情况。 注意是大写的&quot;NONE&quot; 注意a:b:c(99:99:99!=1...
分类: 其他 发布时间: 10-15 18:03 阅读次数: 0

Usaco Training Section 3.3 Camelot

唉,我还是太菜了,一道最短路/搜索题搞了这么久,9次才过。 骑士能像马一样跳,国王能上下左右对角线走,还可以选一个骑士绑架国王(拖着国王走),问多少步所有人才能聚在一起。 一开始想到了(n*m)^4的做法,就是先从每个点跑个dij,再枚举绑架位置、绑架者、聚集地点、每个骑士。肯定超时。后来发现可以优化。我们在国王只能在一个很小的范围(+-2)活动,否则答案不是最优的。 贴上有点繁的代码(...
分类: 其他 发布时间: 10-15 18:03 阅读次数: 0

Usaco Training Section 4.3 Buy Low, Buy Lower

又遇到了多年不见的高精度!!! 题目很好懂,求最长下降子序列的长度及个数(相同的算一个) 一开始很激动,样例都没看,以为只求最长下降子序列的长度。直接把序列倒过来,跑一个lis,O(nlogn)。后来发现还要求个数,崩溃*1。很快发现其实还好,只不过好像个数只能O(n^2)来求。还有个头疼的问题,相同的只能算一个,于是我开始乱搞,用map+set,写了好长,崩溃*2,一交,NO!!!还要高精度...
分类: 其他 发布时间: 10-15 18:03 阅读次数: 0