03 2019 档案

binary hacks读数笔记(ld 链接讲解 二)
摘要:这块将介绍一下ld链接命令的具体使用。ld的作用:ld是GNU binutils工具集中的一个,是众多Linkers(链接器)的一种。完成的功能自然也就是链接器的基本功能:把各种目标文件和库文件链接起来,并重定向它们的数据,完成符号解析。链接其实主要就是完成四个方面的工作:storage alloc 阅读全文

posted @ 2019-03-30 16:14 wsw_seu 阅读(694) 评论(0) 推荐(0) 编辑

binary hacks读数笔记(ld 链接讲解 一)
摘要:首先我们先看两段代码: a.c b.c gcc -c a.c b.c 得到a.o 与b.o 1、查看a.o: 2、查看b.o: 3、链接之前,VMA与LMA都是0,即目标文件的虚拟空间地址与装载地址都无效。经过链接ld过程,才会给链接文件分配虚拟地址空间。 ld a.o b.o -e main -o 阅读全文

posted @ 2019-03-29 17:30 wsw_seu 阅读(263) 评论(0) 推荐(0) 编辑

binary hacks读数笔记(nm命令)
摘要:nm命令(names):输出包含三个部分:1 符号值。默认显示十六进制,也可以指定; 2 符号类型。小写表示是本地符号,大写表示全局符号(external); 3 符号名称。 例如:nm SimpleSection.o 阅读全文

posted @ 2019-03-29 10:44 wsw_seu 阅读(174) 评论(0) 推荐(0) 编辑

binary hacks读数笔记(readelf命令)
摘要:可以用readelf命令来查看elf文件内容,跟objdump相比,这个命令更详细。 1、 readelf -h SimpleSection.o 2、readelf -S 查看段表结构 4、查看段表字符串表内容 od --skip-bytes 0x000003b8 --read-bytes 0x61 阅读全文

posted @ 2019-03-29 10:39 wsw_seu 阅读(429) 评论(0) 推荐(0) 编辑

binary hacks读数笔记(objdump命令)
摘要:一、首先看一下几个常用参数的基本含义: objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它还有其他作用,下面以ELF格式可执行文件test为例详细介绍: 1、objdump -f test 显示test的文件头信息 2、objdump -d test 反汇编test中的需要执行 阅读全文

posted @ 2019-03-26 15:37 wsw_seu 阅读(405) 评论(0) 推荐(0) 编辑

binary hacks读数笔记(od命令)
摘要:Linux od命令用于输出文件内容。 od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来 -t<输出格式>或--format=<输出格式> 设置输出格式。 实例 创建 tmp 文件: 使用 od 命令: 使用单字节八进制解释进行输出,注意最左侧一列表示距离最开始的偏移量 使用ASCI 阅读全文

posted @ 2019-03-24 22:49 wsw_seu 阅读(252) 评论(0) 推荐(0) 编辑

binary hacks读数笔记(file命令与magic file)
摘要:file命令的作用是用于检验文件的类型,并打印至终端。file命令检验文件类型按以下顺序来完成: 检验文件系统(Filesystem)中支持的文件类型文件系统支持的文件类型指的是通过ls -l中第一个字符表示的文件类型:-(regular):正规文件(包括文本文件(ASCII)(会打印text),可 阅读全文

posted @ 2019-03-24 22:13 wsw_seu 阅读(251) 评论(0) 推荐(0) 编辑

gdb调试core dump使用
摘要:什么是coredump? Coredump叫做核心转储,它是进程运行时在突然崩溃的那一刻的一个内存快照。操作系统在程序发生异常而异常在进程内部又没有被捕获的情况下,会把进程此刻内存、寄存器状态、运行堆栈等信息转储保存在一个文件里。 该文件也是二进制文件,可以使用gdb、elfdump、objdump 阅读全文

posted @ 2019-03-24 17:42 wsw_seu 阅读(8766) 评论(0) 推荐(0) 编辑

665. Non-decreasing Array
摘要:Given an array with n integers, your task is to check if it could become non-decreasing by modifying at most 1element. We define an array is non-decre 阅读全文

posted @ 2019-03-24 10:51 wsw_seu 阅读(124) 评论(0) 推荐(0) 编辑

netstat命令详解
摘要:netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。 netstat [选项] 1、-a或--all:显示所有连线中的Socket; 2、-l或--listening:显示监控中的服务器的Socket; 2、-n或--num 阅读全文

posted @ 2019-03-23 22:10 wsw_seu 阅读(1082) 评论(0) 推荐(1) 编辑

ifconfig命令
摘要:许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconf 阅读全文

posted @ 2019-03-23 15:23 wsw_seu 阅读(171) 评论(0) 推荐(0) 编辑

#paragma详解
摘要:#Pragma是预处理指令,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#Pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pr 阅读全文

posted @ 2019-03-22 20:06 wsw_seu 阅读(519) 评论(0) 推荐(0) 编辑

linux命令查看日志
摘要:首先介绍几个日志查看种常用的简单命令: 1、tail tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。 tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件 阅读全文

posted @ 2019-03-22 16:20 wsw_seu 阅读(2372) 评论(0) 推荐(0) 编辑

python实现二叉树递归遍历与非递归遍历
摘要:一、中序遍历 前中后序三种遍历方法对于左右结点的遍历顺序都是一样的(先左后右),唯一不同的就是根节点的出现位置。对于中序遍历来说,根结点的遍历位置在中间。 所以中序遍历的顺序:左中右 1.1 递归实现 每次递归,只需要判断结点是不是None,否则按照左中右的顺序打印出结点value值。 1.2 循环 阅读全文

posted @ 2019-03-21 21:37 wsw_seu 阅读(980) 评论(0) 推荐(0) 编辑

硬盘LBA 和CHS的关系(转)
摘要:磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数 l 磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头;l 磁道(track)数:磁道是从盘片外圈往内圈编号0磁道,1磁道...,靠近主轴的同心圆用于停靠磁头,不存储数据;l 柱面(cylinder)数:同磁道数量; 阅读全文

posted @ 2019-03-20 16:14 wsw_seu 阅读(1682) 评论(0) 推荐(0) 编辑

深入 理解char * ,char ** ,char a[ ] ,char *a[] 的区别(转)
摘要:C语言中由于指针的灵活性,导致指针能代替数组使用,或者混合使用,这些导致了许多指针和数组的迷惑,因此,刻意再次深入探究了指针和数组这玩意儿,其他类型的数组比较简单,容易混淆的是字符数组和字符指针这两个。。。下面就开始剖析一下这两位的恩怨情仇。。。 1 数组的本质 数组是多个元素的集合,在内存中分布在 阅读全文

posted @ 2019-03-19 10:17 wsw_seu 阅读(480) 评论(0) 推荐(0) 编辑

c++中的几种函数调用约定(转)
摘要:C++中的函数调用约定(调用惯例)主要针对三个问题: 1、参数传递的方式(是否采用寄存器传递参数、采用哪个寄存器传递参数、参数压桟的顺序等); 参数的传递方式,最常见的是通过栈传递。函数的调用方将参数压入栈中,函数自己再从栈中将参数取出。 对于有多个参数的函数,调用惯例要规定函数调用方将参数压栈的顺 阅读全文

posted @ 2019-03-16 19:54 wsw_seu 阅读(1585) 评论(0) 推荐(0) 编辑

银行家算法
摘要:死锁避免——银行家算法的应用背景 要想说银行家,首先得说死锁问题,因为银行家算法就是为了死锁避免提出的。那么,什么是死锁?简单的举个例子:俩人吃饺子,一个人手里拿着酱油,一个人手里拿着醋,拿酱油的对拿着醋的人说:“你把醋给我,我就把酱油给你”;拿醋的对拿着酱油的人说:“不,你把酱油给我,我把醋给你。 阅读全文

posted @ 2019-03-16 10:08 wsw_seu 阅读(378) 评论(0) 推荐(0) 编辑

模拟鼠标操作(ActionChains)(转 侵删)
摘要:在日常的测试中,经常会遇到需要鼠标去操作的一些事情,比如说悬浮菜单、拖动验证码等,这一节我们来学习如何使用webdriver模拟鼠标的操作 首页模拟鼠标的操作要首先引入ActionChains的包 from selenium.webdriver.common.action_chains import 阅读全文

posted @ 2019-03-15 21:45 wsw_seu 阅读(690) 评论(0) 推荐(0) 编辑

selenium之 定位以及切换frame(iframe)(转)
摘要:frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe对selenium定位而言是一样的,selenium有一组方法对frame进行操作。 1.怎么切到frame中(switch_to.frame()) 阅读全文

posted @ 2019-03-15 20:43 wsw_seu 阅读(209) 评论(0) 推荐(0) 编辑

python中 try、except、finally 的执行顺序(转)
摘要:输出: to do stuffprocess exceptto return in exceptto return in finallytest1Return : finally to do stuffprocess exceptto return in exceptto return in fin 阅读全文

posted @ 2019-03-14 19:43 wsw_seu 阅读(215) 评论(0) 推荐(0) 编辑

GDT,LDT,GDTR,LDTR (转 侵删)
摘要:一、引入 保护模式下的段寄存器 由 16位的选择器 与 64位的段描述符寄存器 构成 段描述符寄存器: 存储段描述符 选择器:存储段描述符的索引 段寄存器(16位选择子,64为隐藏信息) 段寄存器(16位选择子,64为隐藏信息) 原先实模式下的各个段寄存器作为保护模式下的段选择器,80486中有6个 阅读全文

posted @ 2019-03-14 14:37 wsw_seu 阅读(882) 评论(0) 推荐(0) 编辑

Lamport面包店算法详解(转 侵删)
摘要:范例1: boolean choosing[n];表示进程是否在取号 int number[n];记录每个进程取到的号码 这些数据结构分别初始化为false和0,为了方便,定义如下符号: 若a<c或a==c和b<d同时成立,(a,b)<(c,d) do{ choosing[i] = true; nu 阅读全文

posted @ 2019-03-14 14:24 wsw_seu 阅读(3142) 评论(0) 推荐(0) 编辑

peterson算法(软件互斥 转)
摘要:1. 背景 首先,看个例子,进程P1,P2共用一个变量COUNT,初始值为0 1. 背景 首先,看个例子,进程P1,P2共用一个变量COUNT,初始值为0 因为P1,P2两个进程的执行顺序是随机的,可能顺序执行也可能是并发的,由图可见,不同的执行顺序,COUNT的值会不同,这是不允许的。 像这种情况 阅读全文

posted @ 2019-03-14 14:05 wsw_seu 阅读(2067) 评论(0) 推荐(0) 编辑

段选择子与段描述符结构(转)
摘要:段描述符和段选择子我想 C 语言你应该是学了很久了,那么我来定义一个数组。 // 一个 QWORD 是一个 8 字节的整数QWORD gdt[1024];很明显,这是一个能容纳 1024 个元素的数组。现在我来定义: gdt 数组中的每个元素都是一个段描述符数组的索引号是段选择子这个 gdt 数组被 阅读全文

posted @ 2019-03-13 10:15 wsw_seu 阅读(697) 评论(0) 推荐(0) 编辑

寄存器
摘要:ebp和esp是32位的SP,BPesp是堆栈指针ebp是基址指针ESP与SP的关系就象AX与AL,AH的关系.32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、 阅读全文

posted @ 2019-03-12 16:50 wsw_seu 阅读(265) 评论(0) 推荐(0) 编辑

爬虫练习之正则表达式爬取猫眼电影Top100
摘要:#猫眼电影Top100import requests,re,timedef get_one_page(url): headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, 阅读全文

posted @ 2019-03-12 15:18 wsw_seu 阅读(155) 评论(0) 推荐(0) 编辑

JSON数据格式
摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯 阅读全文

posted @ 2019-03-09 21:25 wsw_seu 阅读(147) 评论(0) 推荐(0) 编辑

段寄存器
摘要:段寄存器是因为对内存的分段管理而设置的。 计算机需要对内存分段,以分配给不同的程序使用(类似于硬盘分页)。在描述内存分段时,需要有如下段的信息: 1.段的大小; 2.段的起始地址; 3.段的管理属性(禁止写入/禁止执行/系统专用等)。 需要用8个字节(64位)存储这些信息,但段寄存器只有16位,因此 阅读全文

posted @ 2019-03-08 21:01 wsw_seu 阅读(465) 评论(0) 推荐(0) 编辑

进程 PCB 进程挂起
摘要:7-1 进程定义 OS系统从只能跑一个程序到能跑多个。进程可以描述程序的执行过程。 进程:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。 只有当一个程序被OS加载到内存中,cpu对其执行时,这个过程是动态的,称为进程。 7-2 进程的组成 包含了正在运行的一个程序的所有状态信息  阅读全文

posted @ 2019-03-08 13:59 wsw_seu 阅读(1943) 评论(0) 推荐(0) 编辑

python3:文件读写+with open as语句(转)
摘要:读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从 阅读全文

posted @ 2019-03-07 19:56 wsw_seu 阅读(3959) 评论(0) 推荐(0) 编辑

Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun错误解决方案
摘要:window 读取文件可以用\,但是在字符串中\是被当作转义字符来使用,‘C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg ’中经过转义之后可能就找不到路径的资源了,例如\t可能就转义成tab键了。 解决办法 阅读全文

posted @ 2019-03-07 19:45 wsw_seu 阅读(249) 评论(0) 推荐(0) 编辑

操作系统笔记
摘要: 阅读全文

posted @ 2019-03-05 16:38 wsw_seu 阅读(89) 评论(0) 推荐(0) 编辑

intelx86为何从0xFFFF0处执行
摘要:第一条指令的地址 在用户按下计算机电源开关之后,CPU会自动的将其CS寄存器设定为0xFFFF,将其IP寄存器设定为0x0000。由于CS:IP指出了下一条指令的地址[1],因此CPU会跳到0xFFFF:0x0000处进行执行。为什么是这个地址而不是其它地址呢?这其实是一个很巧妙的设计。 我们知道, 阅读全文

posted @ 2019-03-05 12:25 wsw_seu 阅读(1210) 评论(1) 推荐(1) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示