- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 python实现一种基于TCP的端口扫描方法
设计思路该程序由python语言编写,其功能为在局域网中对特定的主机进行端口扫描,并得到开放的端口列表。所使用的端口扫描技术为全连接扫描。在编码实现的过程中,通过使用系统提供的connect函数来对目标主机的特定端口进行连接,如果连接成功则可视为该端口处于侦听状态,如果连接失败则说明该端口未提供服务。采用全连接对端口进行扫描的优点在于不需要使用管理员权限以及导入scapy库来发送特定的数据包进行其他类型的端口扫描技术,但是该扫描技术最大的缺点在于耗时较长,而在实现过程中通过多线程调度可以大幅度缩短扫描
2021-05-07 10:12:07
1731
1
原创 Windows核心编程(四)进程-1
如何定义进程进程一般定义为正在运行的程序的一个实例,由以下两部分组成:一个内核对象,用于保存进程统计信息并管理进程一的地址空间,其中包括所有可执行文件或动态链接库(DLL)模板的代码和数据,与此同时,还包含动态内存分配,比如线程堆栈和堆的分配进程是惰性的,进程要做任何事情,都要让一个线程在它的上下文中运行,该线程负责指向进程地址空间包含的代码,当系统创建一个进程的时候,会自动为进程创建一个线程,称为主线程,然后这个主线程再创建更多的线程。对于所有要运行的进程,操作系统会分配CPU时间片来运行这
2021-01-22 23:47:51
272
原创 Windows核心编程(三)内核对象
C运行库中的ANSI函数与UNICODE函数#ifdef _UNICODE //判断项目环境#define _tcslen wcslen#else#define _tcslen strlen#endif在编程中,使用_tcslen 宏就可以让系统自动选择使用的是ASCII还是Unicode版本,其他的字符串处理函数也是类似的C运行库中的安全字符串函数//内存被保护:WCHAR Buffer[3] = L"";wcscpy(Buffer,L"abc");//安全函数,放置内存溢出:
2021-01-20 22:54:51
428
原创 Windows核心编程(二)字符和字符串处理
字符编码ASCII为8位,被称为多字节编码.Unicode被称为宽字节编码//ANSIchar a = 'a';char Bufffer[100] = "A String";//UNICODEwchar_t a = L'a';wchar_t Buffer[100] = L"W String";windows定义的数据类型typedef char CHAR;typedef wchar_t WCHAR;windows API 中的A与Wwindows API函数中,相同作用的函数
2021-01-19 17:24:41
368
1
原创 Windows核心编程(一) 错误处理
错误处理常见的windows函数返回值类型错误代码微软对所有Windows函数能返回的错误使用错误代码进行编号,错误代码一共有32位,并使用WinError.h来存放错误列表.其中每个错误都有三种表示:消息ID:一个可以在源代码中使用的宏消息文本:对错误进行描述的文本编号:32位编号获取错误代码通过 GetLastError()函数来获取上一个函数的错误代码(编号)://Windows函数失败后应该马上调用GetLastErrorDWORD dwErrorCode = GetLa
2021-01-19 16:46:57
229
原创 PE文件结构分析程序(C++)
该程序用与对PE文件的头文件以及数据目录表进行分析,并输出各个数据目录表以及头文件的关键字段运行环境Microsoft Visual Studio Professional 2017 Windows10项目格式头文件 Entry.h#pragma once#include <stdio.h>#include <Windows.h>//计算数据目录表起始位置到文件头的偏移DWORD RvaToOffset(DWORD dwRva, char *buffer);
2021-01-18 22:58:43
885
原创 PE文件结构(五)延迟导入表,资源表以及其他数据表
延迟导入表延迟导入表主要是为了加快进程的运载速度而存在,其具体结构如下:typedef struct _IMAGE_DELAYLOAD_DESCRIPTOR { union { //这个联合体是该表的属性 DWORD AllAttributes; struct { DWORD RvaBased : 1; // Delay load version 2
2021-01-18 22:23:05
400
原创 PE文件结构(四)重定位表,TLS表
重定位表由于Windows系统每次加载动态基址时无法加载到预设的位置,所以需要通过重定位的方式来重新定位地址,重定位表的结构如下:typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress;//指向PE中需要重定位的RVA,字段值一般为0x1000的倍数 DWORD SizeOfBlock;// WORD TypeOffset[1];} IMAGE_BASE_RELOCATION;重定位表的结构很简单,
2021-01-18 21:14:17
569
原创 PE文件结构(三) 导入表,导出表
PE文件结构(二) 导入表,导出表导入表具体参考导入表在PE文件中就类似一个数组,存放的是这个PE文件加载时动态链接库(DLL)和函数的入口地址,具体结构如下:typedef struct _IMAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; // 0 for terminating null import descriptor DWORD OriginalFirstT
2021-01-18 17:18:48
316
原创 PE文件结构(二) 数据目录
PE文件及结构MS-DOS头标准PE头扩展PE头数据目录节表数据目录数据目录表的具体信息实例:数据目录的各种表的信息,所代表的含义,以及部分表的说明数据目录表的具体结构typedef struct _IMAGE_DATA_DIRECTORY { DWORD VirtualAddress; //起始位置 DWORD Size;} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;...
2021-01-18 16:40:09
1397
原创 基于protues的简单的CPU设计
基于protues的简单的CPU设计由于是计算机组成原理的课程设计,以下仅做参考,无法运行调试。1.数据通路图具体结构的框图如下:在Proteus上的图如下:各个部分的元器件分图如下:运算器ALU地址寄存器AR,程序计数器PC,存储器RAM通用寄存器R0~R2输入输出 I/O2.微程序控制器各部分元件如下:在Proteus中的图:各个部分的分图:3.时序系统以及启停控制系统具体的DSN文件的百度云链接如下:https://pan.baidu.com/
2020-09-23 15:07:54
2143
原创 【CTF杂项】常用的一些加密解密工具网站集合(收藏用)
ASCIIASCII 转换常规的密码学加密解密凯撒 栅栏 维吉尼亚 密码摩尔斯电码base编码解码base64编码说明base16base32base36base58base62base64base85base91base92C++实现base64编码解码RSA解题思路大数分解网站python脚本其他的加密解密新 与佛论禅盲文核心价值观猪圈Brainfuck一些整合的网站CTF在线工具(http://ctf.ssleye.com/)BugKu的一些工
2020-09-11 17:03:18
4044
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人