![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机知识
kernweak
日子越来越有判头了
展开
-
TCP/IP总略复习
源端口号随机 1024~5000之间。大于5000的端口号为其他服务器预留的,Internet上并不常用的服务。以太网是一般PC使用的标准,速度10Mb/s,地址是48bit。环回接口:一般是判断是否是127.0.0.1,就给环回驱动程序,回去了。有了mac地址,才会有包。没有物理地址,不会向网络里发包。MTU是出接口上看,以太网是1500,802.3是1492.路径MTU是整...原创 2020-06-28 18:20:35 · 854 阅读 · 0 评论 -
《第一行代码笔记》目录与日志
andorid大致分为:Linux内核层,系统运行库层,应用框架层,应用层。Linux内核层为硬件提供底层驱动系统运行库层为android提供主要特性支持如数据库支持等,这层还有Android运行时库,另外还有虚拟机也在这层。应用框架层提供了构建应用程序用到的各种API。andorid四大组件:Activity,Service,Broadcast Receiver,Content ...原创 2020-01-01 22:25:57 · 190 阅读 · 0 评论 -
IP地址的字符串和16进制整数互相转化
当时没写的很烂,记下来练习加深印象//IPV4to32位整数//255.255.255.255《》0xFFFFFFFFint ipstr2int(const char *ip, unsigned int *ipvalue) { if (ip == NULL || ipvalue == NULL) { return -1; } const char* pEnd = ip; co...原创 2019-05-29 00:05:31 · 1838 阅读 · 0 评论 -
SEH溢出
_try{ strcpy(buf,input); zero=4/zero;}_except(MyExceptionhandler){}SEH结构存放在系统栈中,当线程初始化时,会自动向栈中安装一个SEH,作为线程默认的异常处理。如果程序代码使用了tryexcept,或者assert宏等异常处理机制,编译器将最终通过当前函数栈帧中安装一个seh来实现异常处理,栈中一般有...原创 2019-06-13 03:17:50 · 585 阅读 · 0 评论 -
NT4系统启动流程
windows引导过程Windows 内核中的各个组件和各种机制在起作用以前,必须首先被初始化。此初始化工作是在系统引导时完成的。当用户打开计算机的电源开关时,计算机便开始运行,但操作系统并不立即获得控制权,而是BIOS 代码首先获得控制,它执行必要的硬件检测工作,并允许用户通过一些功能键来配置当前系统中的硬件设置,甚至诊断硬件问题,然后才将控制权交给操作系统。内核加载在Intel x...原创 2019-06-25 16:00:06 · 1058 阅读 · 0 评论 -
dex文件格式笔记
Dex是Dalvik Executable的简称Dex文件包含了编译java生成的.class文件,由dx工具将java字节码转化为smali字节码apk安装后,对于dalvik第一次运行系统完成dex优化,转化为odex文件,存放在/data/dalvik-cache目录下,执行时加载odex文件到内存,art虚拟机是转成oat文件,都是在前后加些odex优化仅在dex文件之上添加头和数据...原创 2019-06-26 17:57:36 · 326 阅读 · 0 评论 -
磁盘系统简介
一. 硬盘结构简介1. 硬盘参数释疑到目前为止, 人们常说的硬盘参数还是古老的 CHS (Cylinder/Head/Sector)参数. 那么为什么要使用这些参数, 它们的意义是什么? 它们的取值范围是什么? 很久以前, 硬盘的容量还非常小的时候, 人们采用与软盘类似的结构生产硬盘. 也就是硬盘盘片的每一条磁道都具有相同的扇区数. 由此产生了所谓的3D参数 (Disk Geometry). ...转载 2019-06-25 03:02:14 · 1948 阅读 · 0 评论 -
网络知识回顾
首先回忆下R3的socket编程。windows防火墙有TDI,NDIS,后来进化成WFP,从难到易。简述什么是防火墙就是通过hook ,过滤,回调监控,对网络数据进行管理比如TDI就是一套hook(ARPhook),一套过滤。NDIS,WFP都通过回调过滤。网络防火墙可以实现传输数据加解密。流量查看。//tcp//服务器端int fd,fd_client;st...原创 2019-07-04 03:04:08 · 294 阅读 · 0 评论 -
知识点复习
Windows系统启动流程1.启动自检2.初始化启动阶段bios将MBR引导代码加载到内存,交给其进行启动过程。MBR遭到活动分区,检测文件系统是否可用,找到ntldr文件,然后启动它,BIOS再讲控制权给ntldr,由其完成启动(win7是Bootmgr)3.boot加载阶段ntldr设置内存模式,启动文件系统,读取boot.ini配置。4.检测硬件配置阶段5.内核加...转载 2019-07-09 19:39:39 · 456 阅读 · 0 评论 -
Source Insight查看项目原码方式
https://jingyan.baidu.com/article/fec4bce29dbb3bf2618d8bbc.html转载 2019-05-31 00:53:52 · 382 阅读 · 0 评论 -
花指令,LLVM简介
花指令就是无用或者垃圾指令,故意干扰反汇编静态分析工具,比如jmp Label1db opcodeLabel1;运行会跳到Label1,但是静态分析工具看到opcode会把后面当作机器码的操作数。或者jz Labeljnz labeldb opcodelabel反汇编引擎不够智能看到jz,jnz往下执行,所以错误。或者可以跳转到寄存器里。OLLV...原创 2019-05-23 18:14:11 · 1099 阅读 · 0 评论 -
编译原理之词法分析
首先说明这是网易云课堂中国科学技术大学华保健老师的课程《编译原理》听课笔记,大部分内容是ppt资料,为了方便记忆,写了如下笔记。词法分析器的任务 首先看编译器结构:前端又可以分为:语义分析器也叫类型检查器。词法分析器结构又为词法分析器将代码切分为单词,下面是例子: x,y这些就是记号,EOF也是记号,记号是个大集合。记号的数据结构定义字符流变...原创 2018-11-28 14:49:06 · 4123 阅读 · 0 评论 -
系统调用笔记(1)
API函数的调用过程(3环部分)Windows APIApplication Programming Interface,简称 API 函数。 Windows有多少个API? 主要是存放在 C:\WINDOWS\system32 下面所有的dll,dll里面函数都是API 几个重要的DLL Kernel32.dll:最核心的功能模块,比如管理内存、进程和线程相关的函数等...原创 2019-04-29 23:55:21 · 1419 阅读 · 0 评论 -
系统调用笔记(2)
API函数的调用过程(SystemServiceTable)在上中,讲到进0环后,3环的各种寄存器都会保留到_Trap_Frame结构体中,这篇我讲解如何根据系统服务号(eax中存储)找到要执行的内核函数?调用时参数是存储到3环的堆栈,如何传递给内核函数?SystemServiceTable 系统服务表系统服务表ServiceTable存了系统服务表里函数地址表(4字...原创 2019-04-29 23:57:37 · 557 阅读 · 0 评论 -
驱动框架笔记
驱动框架R3操作一个文件create->read/write/deviceiocontrol->clean->closeDIspatch分发函数存放在Driverobject的一个数组MajorFunction里。0x1b个,28个。用来接收应用层API请求。就是应用层的请求封装在一个IRP包,请求内核操作。驱动有两个模型,NT模型和WDM模型。NT模型...原创 2019-05-21 23:15:01 · 301 阅读 · 0 评论 -
R0与R3通信方式,ring0与ring3开发区别笔记
R0与R3通信方式ring3与ring0开发区别printf/scanf/fopen/fclose/fwrite/malloc/free不可用sprintf/strlen/strcpy/wcslen.../memcpy/memset可用Ring0成功返回0,失败返回负数,NTSTATUS/NT_SUCCESS()这些状态码都在ntstatus.h里,将其转化为1...原创 2019-05-21 23:12:21 · 2231 阅读 · 0 评论 -
断点分类
int3 软件断点临时在代码插入CC命令引发EXCEPTION_BREAKPOINT 0x80000003异常内存断点将想下断地址所在内存页增加一个名为PAGE_NOACCESS(写入时设为PAGE_EXECUTE_READ)的属性,引发异常再判断地址是否为断点位置,以页为单位,慢但是可以多个。引发STATUS_GUARD_PAGE_VIOLATION(0x80000001)...原创 2019-05-22 20:16:50 · 2735 阅读 · 0 评论 -
进程强杀
应用层杀进程会调用terminateProcess,往下会调用zwterminateProcess,再往下PsTerminateProcess->PspTerminateProcess->PspTerminateThreadByPoint->PspExitThread所以我们想调用PspTerminateProcess(再往下就是线程函数了),但是未导出。所以只能暴力搜索...原创 2019-05-28 00:38:37 · 751 阅读 · 0 评论 -
编译原理学习之简单介绍
首先说明这是网易云课堂中国科学技术大学华保健老师的课程《编译原理》听课笔记,大部分内容是ppt资料,为了方便记忆,写了如下笔记。编译器具有非常模块化的高层结构。一般有输出和输出。输入时某种编程语言,输出是某个机器平台的目标语言。分为前端和后端,前端处理输入语言,后端处理输出相关部分,如要翻译成目标机器指令集,如何将前端翻译成后端。编译器可看成多个阶段构成的“流水 线”结构。 ...原创 2018-11-27 14:07:11 · 373 阅读 · 1 评论