- 博客(23)
- 收藏
- 关注
原创 几种跳转指令和对应的机器码
0xE8 CALL 后面的四个字节是地址0xE9 JMP 后面的四个字节是偏移0xEB JMP 后面的二个字节是偏移0xFF15 CALL 后面的四个字节是存放地址的地址0xFF25 JMP 后面的四个字节是存放地址的地址0x68 PUSH 后面的四个字节入栈0x69 PUSH 后面的1个字节入栈...
2020-12-28 20:21:39
927
原创 xlrd、xlwt和openpyxl模块的比较和使用
xlrd、xlwt和openpyxl模块的比较和使用:https://blog.youkuaiyun.com/y2Candice/article/details/100581454
2020-07-31 14:39:24
816
原创 Windbg || 如何dump文件
.writemem d:\cute\virus.vir 0x960000000 L0x520(.writemem dump文件的保存路径 dump的起始地址 要dump的大小)
2020-07-23 16:34:24
164
原创 Linux学习路线及网络编程经典书籍
Linux学习路线及网络编程经典书籍:linux学习资源整理:https://zhuanlan.zhihu.com/p/22654634Linux初学者(学习资料):https://zhuanlan.zhihu.com/p/21723250知乎 - 你是如何学习 Linux 编程的?:https://www.zhihu.com/question/20730157如果让你推荐一本 Linux 书籍,你会推荐什么?:https://www.zhihu.com/question/2034160.
2020-07-08 16:18:25
190
原创 驱动 || IO_STACK_LOCATION总结
IO_STACK_LOCATION结构:I/O堆栈 任何内核模式程序在创建一个IRP时,同时还创建了与之关联的IO_STACK_LOCATION结构数组:数组中的每个堆栈单元都对应一个将处理该IRP的驱动程序,另外还有一个堆栈单元供IRP的创建者使用。堆栈单元中包含该IRP的类型代码和参数信息以及完成函数地址。下图显示了堆栈单元的结构。 I/O堆栈单元数据结构: MajorFunction(UCHAR)是该IRP的主要功能码。这个代码应该为类...
2020-06-04 19:52:40
360
原创 WinDBG调试驱动时中断DriverEntry的方法
WinDBG调试驱动时中断DriverEntry的方法: https://blog.youkuaiyun.com/hacklaolang/article/details/11182905
2020-06-04 11:33:43
255
原创 pip || 解决ReadTimeoutError:HTTPSConnectionPool(host = 'files.pythonhosted.org',port = 443):read
python使用pip安装包一直错误: https://www.cnblogs.com/longchang/p/11274461.html
2020-03-29 23:10:42
211
1
原创 Windows驱动程序插件
一个IDA Pro插件,可在使用IOCTL代码或反转windows驱动程序时提供帮助。 https://github.com/FSecureLABS/win_driver_plugin
2020-03-27 14:58:14
353
原创 堆简介
一、堆工作的原理 Windows的堆时内存中一块神秘的地方、一个耐人寻味的地方,也是一个“乱糟糟”的地方。 栈和堆的区别:经过对栈溢出利用的学习,我们应该明白栈空间是在程序设计时已经规定好怎么使用,使用多少内存空间的。典型的栈变量包括函数内部的普通变量、数组等。栈变量在使用时不需要额外申请空间,系统栈会根据函数中的变量声明自动在函数栈帧中给其预留空间。栈空间由系统...
2020-03-24 11:59:59
821
原创 VMware虚拟机使用代理下载windbg调试符号
VMware虚拟机使用代理下载windbg调试符号https://blog.youkuaiyun.com/cssxn/article/details/104190869
2020-03-20 17:44:43
452
原创 windbg双机调试环境搭建
windbg双机调试环境搭建https://rootkits.xyz/blog/2017/06/kernel-setting-up/https://bbs.pediy.com/thread-230083.htm
2020-03-19 16:50:31
465
原创 COM技术内幕 || 这样理解COM组件
本文目的:弄清楚何为COM组件。倘若COM组件于你也是朦胧无定义的,请仔细阅读,你能懂!简述 一个应用程序通常是由单个的二进制文件组成的。当编译器生成此应用程序之后,在对下一版本重新编译并发行新生成的版本之前,应用程序一般不会发生任何变化。操作系统、硬件及客户需求的改变都必须等到整个应用程序被重新编译之后才能够得以认可。整个软件工业就这样随着已发行软件的日益“老化”而奔向未...
2020-03-17 16:06:57
1864
原创 内核理论基础 || 内核重要数据结构
一、内核对象 在Windows内核中有一种很重要的数据结构管理机制,那就是内核对象。应用层的进程、线程、文件、驱动模块、事件、信号量等对象或者打开的句柄在内核中都有与之对应的内核对象。 如图7.10所示,一个Windows内核对象可以分为对象头和对象体两部分。在对象头中至少由1个OBJECT_HEADER和对象额外信息。对象体紧接着对象头中的OBJECT_HEADER...
2020-03-13 16:30:18
531
原创 内核理论基础 || 内核驱动模块
Windows内核驱动模块是内核的重要组成部分,既有微软自己开发的内核驱动,也有第三方开发的内核驱动;既有硬件的驱动,也有软件的驱动。内核驱动在磁盘上是一个扩展名为.sys的文件,遵守PE格式规范,能被系统加载运行。 一个简单的驱动模块 “Hello world” 的代码如下。 #include<ntddk.h>/*驱动卸载函数,在驱动卸...
2020-03-12 17:01:47
445
原创 内核理论基础 || 内存空间布局
先来了解一下系统的内存内核层与应用层的布局。以x86为例,它支持32位寻址,因此支持最大GB的虚拟内存空间(也可以通过PAE技术增加到36位寻址,将寻址空间扩大到64GB)。如图7.3所示,在4GB的虚拟地址空间中,Windows系统的内存空间及非法区域。Windows内存的逻辑地址分为两部分,即段选择符和偏移地址。CPU在进行地址翻译的时候,先通过分段基质计算出一个线性地址,再通过...
2020-03-11 14:20:02
369
原创 内核理论基础 || Windows R3与R0通信
Windows 分为应用层与内核层。它们之间是如何进行通信的呢? 内核主要由各种驱动(在磁盘上是.sys文件)组成,这些驱动有的是windows系统自带的(例如ntfs.sys、tcpip.sys、win32k.sys),有的是由第三方软件厂商提供的。驱动加载之后,会生成对应的设备对象,并可以选择向R3提供一个可供访问和打开的符号链接。常见的盘符C、D、E等其实都是文件系统驱动创建的...
2020-03-10 17:49:16
2436
原创 数据结构||线性表算法
1.线性表:线性表是n个具有相同特性的数据元素的有限序列。线性表的主要存储结构:顺序存储结构——顺序表链式存储结构——链表2.顺序存储:存储空间连续,用一组连续的存储单元依次存放数据元素;即逻辑上相邻的元素,其物理位置也相邻。优点:随机存取缺点:插入删除结点困难;扩展不灵活3.链式存储:存储空间不必连续;即逻辑上相邻的元素,其物理位置可以任意,数据元素之间的逻辑关系借助...
2019-11-13 20:47:11
528
转载 傀儡进程技术分析
前言:傀儡进程是将目标进程的映射文件替换为指定的映射文件,替换后的进程称之为傀儡进程;常常有恶意程序将隐藏在自己文件内的恶意代码加载进目标进程,而在加载进目标进程之前,会利用ZwUnmpViewOfSection或者NtUnmapViewOfSection进行相关设置相关技术要点1.创建挂起进程系统函数CreateProcessW中参数dwCreation传递CREATE_SUSP...
2019-10-13 14:49:19
1101
1
原创 第一个DLL程序
一、DLL的简单介绍1.DLL定义 DLL(Dynamitic Link Library)文件为动态链接库文件,又称“应用程序扩展”,是软文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同...
2019-10-03 10:44:28
548
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人