摘要: 字符串方法 length 属性返回字符串的长度 var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length; indexOf() 方法返回字符串中指定文本首次出现的索引(位置): lastIndexOf() 方法返回指定文本在字符串中最后 阅读全文
posted @ 2020-02-16 00:41 10nnn4R 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 段选择器FS与TEB WinNT内核下内存采用保护模式,段寄存器的意义与实模式汇编下的意义不同.另外,FS存的是段选择子,而不是实模式下的高16位基地址。 FS寄存器指向当前活动线程的TEB结构(线程结构) 下面为FS寄存器下偏移的相关信息: 偏移 说明 000h 指向SEH链指针 004h 线程堆 阅读全文
posted @ 2020-02-11 18:19 10nnn4R 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 原文地址:https://www.jianshu.com/p/f9e362e64ef9 先看图表示虚拟地址到物理地址的映射,把两段与程序运行所需要的同等大小的虚拟空间映射到某段物理空间。 例如程序A需要 10MB 内存,虚拟地址的范围是从 0X00000000 到 0X00A00000,假设它被映射 阅读全文
posted @ 2020-02-11 17:22 10nnn4R 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 原文链接:https://www.jianshu.com/p/be89357ab475 计算机内存是以字节(Byte)为单位划分的,理论上CPU可以访问任意编号的字节,但实际情况并非如此。 CPU 通过地址总线来访问内存,一次能处理几个字节的数据,就命令地址总线读取几个字节的数据。32 位的 CPU 阅读全文
posted @ 2020-02-11 17:19 10nnn4R 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 对于CPU来说,内存是一个存放指令和数据的地方,并不能在内存中完成计算功能,例如要计算 a = b + c,必须将 a、b、c 都读取到CPU内部才能进行加法运算。为了解具体的过程,我们不妨先来看一下程序从硬盘到CPU的过程示意图。 运算单元:是CPU的大脑,负责加减乘除、比较、位移等运算工作,每种 阅读全文
posted @ 2020-02-11 17:15 10nnn4R 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 转自:evil.eagle https://blog.csdn.net/evileagle/article/details/12176797 导出表是用来描述模块中的导出函数的结构,如果一个模块导出了函数,那么这个函数会被记录在导出表中,这样通过GetProcAddress函数就能动态获取到函数的地 阅读全文
posted @ 2020-02-11 16:08 10nnn4R 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 大致结构 DOS头和NT头之间通常还有个DOS Stub DOS头 DOS头的作用是兼容MS-DOS操作系统中的可执行文件 一般没啥用 记录着PE头的位置 DOS头定义部分 typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_ma 阅读全文
posted @ 2020-02-11 13:02 10nnn4R 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 环境: devc++(编译改为32位),windows10 源码(来自书中) #include <stdio.h> #define PASSWORD "1234567" int verify_password (char *password) { int authenticated; char bu 阅读全文
posted @ 2020-02-09 14:22 10nnn4R 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 函数调用过程 调用函数操作 函数参数入栈(在当前函数栈帧),从左至右或从右至左视情况而定 一般为从右至左 mov 地址,参数 的一个操作并不直接pop而是定位到地址将参数传递进去 call offset: 调用函数,call标识符或地址.同时为要调用的函数开辟新的栈帧 向栈中压入当前指令的地址,即返 阅读全文
posted @ 2020-02-08 17:55 10nnn4R 阅读(121) 评论(0) 推荐(0) 编辑
摘要: PE文件格式 PE 文件格式把可执行文件分成若干个数据节(section),不同的资源被存放在不同的节中。 一个典型的 PE 文件中包含的节如下: .text 存放着二进制的机器代码 .data 初始化的数据块,如宏定义、全局变量、静态变量等。 .idata 可执行文件所使用的动态链接库等外来函数与 阅读全文
posted @ 2020-02-07 16:31 10nnn4R 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 携带cookie模拟登录 需要在爬虫里面自定义一个start_requests()的函数 里面的内容: def start_requests(self): cookies = '真实有效的cookie' yield scrapy.Request( self.start_urls[0], callba 阅读全文
posted @ 2020-02-06 16:43 10nnn4R 阅读(137) 评论(0) 推荐(0) 编辑
摘要: crawlspider 能自动的获取url并提交请求 命令:scrapy genspider -t crawl spidername 'example.cn' 所导入的模块 # -*- coding: utf-8 -*- import scrapy from scrapy.linkextractor 阅读全文
posted @ 2020-02-05 16:22 10nnn4R 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 爬虫实例 对象 阳光问政平台 目标 : 主题,时间,内容 爬取思路 预先设置好items import scrapy class SuperspiderItem(scrapy.Item): title = scrapy.Field() date = scrapy.Field() content = 阅读全文
posted @ 2020-02-04 21:57 10nnn4R 阅读(169) 评论(0) 推荐(0) 编辑
摘要: Scrapy概念图 这里有很多py文件,分别与Scrapy的各个模块对应 superspider是一个爬虫项目 spider1.py则是一个创建好的爬虫文件,爬取资源返回url和数据 items.py可以在里面预先定义要爬取的字段,并导入到其他模块,在爬虫解析页面时仅能使用已定义的这些字段 midd 阅读全文
posted @ 2020-02-04 15:28 10nnn4R 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 安装与配置 Scrapy有几个安装依赖,一般来说可以直接pip install scrapy,这个过程会自动下载安装其他几个依赖. 上述安装方法不成功,则需要手动安装依赖包 步骤 安装 lxmlpip install lxml 安装 cryptography pip install cryptogr 阅读全文
posted @ 2020-02-04 14:29 10nnn4R 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 爬取思路 用到的第三方库文件 lxml,requests,fake_agent 用fake_agent里的UserAgent修饰爬虫 用requests进行基本的请求 用lxml进行html的分析 用xpath进行网页元素的选择 爬取的一些问题 1.编码问题这两个编码无法转换成utf-8 Unico 阅读全文
posted @ 2020-02-02 17:53 10nnn4R 阅读(668) 评论(0) 推荐(0) 编辑
摘要: XPath 是一门在 XML 文档中查找信息的语言。 相关概念在菜鸟教程 节点选取 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式: 表达式 描述 nodename 选取此节点的所有子节点 / 从根节点选取 // 从匹 阅读全文
posted @ 2020-02-02 17:38 10nnn4R 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 有关HTTP协议:https://www.cnblogs.com/an-wen/p/11180076.html 阅读全文
posted @ 2020-01-31 13:51 10nnn4R 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 直接上全部代码 新手上路代码风格可能不太好 import requests import re from fake_useragent import UserAgent #### 用来伪造爬头部信息 ua = UserAgent() kv = {'user-agent': ua.random} ur 阅读全文
posted @ 2020-01-31 13:30 10nnn4R 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 爬取学校网站的链接 import requests import re url = 'http://www.whut.edu.cn/' r = requests.get(url) r.encoding = 'utf-8' text = r.text links = re.findall('(http 阅读全文
posted @ 2020-01-30 21:29 10nnn4R 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 正则表达式符号与方法一常用符号 字符 含义 . 匹配任意字符 * 匹配一个字符无限次或零次 ? 匹配一个字符0次或一次 .* 贪心算法 .*? 非贪心算法 () 括号内的结果作为反回值 常用方法 几种符号的demo demo1: code = 'huasdakxxIxxbcjkxxlovexxsbs 阅读全文
posted @ 2020-01-30 17:41 10nnn4R 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 某些网站会识别python爬虫程序并阻断,通过构造User_Agent可以抵抗某些反爬虫机制 用fake-useragent这个库就能很好的实现 pycharm中安装步骤 产生随机的User-Agent 只需一行代码 from fake_useragent import UserAgent ua = 阅读全文
posted @ 2020-01-30 15:56 10nnn4R 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 在pycharm中安装requests库的一种方法 首先找到设置 搜索然后安装,蓝色代表已经安装 requests库中的get请求 与HTTP协议相对应,requests库也有七种请求方式. 获取url requests.get(url.params,kwargs) r = requests.get 阅读全文
posted @ 2020-01-30 15:25 10nnn4R 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件。下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.1415926535 8979323846 2643383279 下面的程序打开并读取这个文件,再将其内容显示 阅读全文
posted @ 2020-01-28 20:28 10nnn4R 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 函数 def为定义函数的一个标志 demo1: def greet_user(username): print("Hello, " + username.title() + "!") greet_user('jesse') > Hello Jesse! 形参与实参 形参即定义函数时函数括号里面的参数 阅读全文
posted @ 2020-01-28 15:21 10nnn4R 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 用户输入 函数input demo1: message = input("all you input is chars:") print(message) demo2: 由input接受的所有内容都将被以字符串数字储存,需要用int()强制转换 number = input("please inpu 阅读全文
posted @ 2020-01-26 16:10 10nnn4R 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 字典 在Python中,字典 字典 是一系列键 键—值对 值对 。每个键 键 都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将 任何Python对象用作字典中的值。 单纯的字典 在Python中,字典用放在花括号{} 中的一系列键—值对 阅读全文
posted @ 2020-01-26 15:22 10nnn4R 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 内容概要 for循环 range(start,end,step)函数 生成随机数列表 list()函数 将range()的结果整合到某个列表 列表的操作 切片(start: end :step) 元组 for循环 用for循环可以遍历列表中的每一个元素 demo1: people = ['alice 阅读全文
posted @ 2020-01-23 18:24 10nnn4R 阅读(1205) 评论(0) 推荐(0) 编辑
摘要: 字符串的一些处理 字符串的大小写 name="lonmar hb" print(name.upper())#全大写 print(name.lower())#全小写 print(name.title())#每个单词首字母大写 输出结果将是 合并字符串 first_name="qwq" last_nam 阅读全文
posted @ 2020-01-23 15:52 10nnn4R 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 博主从W3school学习时的记录 标签 标题标签 <html> <body> <h1>This is heading 1</h1> <h2>This is heading 2</h2> <h3>This is heading 3</h3> <h4>This is heading 4</h4> <h 阅读全文
posted @ 2020-01-18 22:00 10nnn4R 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 80386汇编知识 本文主要是博主学习漏洞银行(BugBank)k1ght主讲的暴力流学汇编的内容 与汇编语言略有不同,是一门全新的编程语言,尽管继承了汇编语言的语法. 处理器的工作模式: 80386以后的处理器均有三种工作模式:实模式,保护模式和虚拟8086模式,我们一般所用的是保护模式.实模式和 阅读全文
posted @ 2020-01-15 21:43 10nnn4R 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 8086汇编 储存器: 位于CPU中 ,读写速度最快 寄存器: 区别硬盘 U盘等外部储存器 地址总线 决定CPU的寻址能力,如8386CPU中有20根地址总线,则cpu能访问的储存单元为2的20次方 数据总线 决定cpu一次能够传输数据的位数 8086cpu有16根数据总线 控制总线 决定了cpu对 阅读全文
posted @ 2020-01-13 14:27 10nnn4R 阅读(646) 评论(0) 推荐(0) 编辑