ICode9

精准搜索请尝试: 精确搜索
  • CVE-2020-0887漏洞分析2022-07-07 20:03:44

    0x00漏洞信息 漏洞影响:本地提权 漏洞文件:win32kfull.sys 漏洞函数:GreDoBanding/GreExtTextOutWLocked 漏洞原因:UAF 漏洞日期:2020 年 3 月 10 日 0x01漏洞分析 打印机设备上下文 Use-After-Free 权限提升漏洞 1.具体的缺陷存在于win32kfull!GreExtTextOutWLocked函数。这个问题是由

  • detect sandboxie2022-05-24 13:35:26

    出于对sandboxie的兴趣,研究了一下sandboxie实现机制,再回到sandboxie detect这个大众话题,想了几个新的猥琐方式来检测sandboxie。 1) check_1 利用sandboxie创建的WindowStation 2) check_2 sandboxie对窗口的重命名 (实际上不仅仅是窗口,api前后设置/获取不一致都可以) 3) check_3 sandb

  • APC注入2022-04-05 22:00:47

    APC注入的原理: 利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的,其具体流程如下: 1)当EXE里某个线程执行到SleepEx()或者WaitForSingleObjectEx()时,系统就会产生一个软中断(或者是Messagebox弹窗的时候不点OK的时候也能注入)。

  • kernel32!OpenFile与ntdll!NtOpenFile2022-02-03 19:35:11

    kernel32!OpenFile与ntdll!NtOpenFile kernel32!OpenFile并不是直接调用的ntdll!NtOpenFile,其调用的是ntdll!NtCreateFile。 ntdll!NtOpenFile ntdll!NtOpenFile函数并没有导出,如果要调用的话需要GetProcAddress动态获取。 typedef struct _IO_STATUS_BLOCK { union { NTSTATUS Sta

  • 64内核开发第十五讲 IRP 派遣函数 与 通信。 驱动框架补充2022-01-24 12:01:42

    目录IRP 派遣函数 与通信方式一丶IRP1.1 IRP介绍 理论知识1.2 IRP的类型1.3 派遣函数1.4 设备对象 与符号链接1.5 IRP堆栈介绍二丶内核与应用层的通信方式 缓存方式(缓冲区方式)2.1 缓存方式2.2 读取 写入 控制等IRP的大小获取2.3 缓存方式派遣函数中的使用例子三丶MDL方式(直接IO方

  • 模块隐藏2022-01-11 14:31:31

    一、TEB结构体 TEB,它记录的相关线程的信息,每一个线程都有自己的TEB,FS:[0]即是当前线程的TEB。 +0x000 NtTib : _NT_TIB //TIB结构.存储栈信息 +0x01c EnvironmentPointer : Ptr32 Void +0x020 ClientId : _CLIE

  • Windows内核中的CPU架构-8-任务段TSS(task state segment)2021-11-13 01:02:02

    Windows内核中的CPU架构-8-任务段TSS(task state segment) 任务段tss(task state segment)是针对于CPU的一个概念。 举一个简单的例子,你一个电脑,肯定是同时会运行多个程序把,比如说QQ,微信,LOL。哪我们知道每个进程的内容是不一样的,那么,这个时候如果说只有一块CPU,这个CPU肯定不能只执

  • 17.系统调用(SSDT_HOOK)2021-10-10 20:02:20

    测试环境Win7 x86 实现原理系统调用分析 1.重新加载一份按照PE格式拉伸后的内核文件到内存(避免当前内核已经被挂钩). 2.通过导出表获取HOOK函数系统服务号. 3.利用导出KeServiceDescriptorTable结构定位系统服务表实现替换函数(类似IAT_HOOK). 代码如下: #include <ntifs.h> #i

  • 反调试——5——检测调试对象2021-10-09 04:31:07

    反调试——5——检测调试对象 有一些内容采用的是WRK里面的定义。因为这个算是没有公开的文档,公开的不能这样使用。 查询父进程实现反调试 正常打开(双击运行)的程序的父进程是explorer.exe(资源管理器)(Windows的内置机制),通过查询父进程的ID是否是explorer.exe来判断程序是否被调试

  • PB调用JAVA2021-09-04 19:33:31

    为什么需要PB调用JAVA java使用人员众多,有丰富的生态,有各种功能的库。pb通过调用java可以极大地丰富pb的能力。比如对接国家医保时,只提供了JAVA的示例,我们通过PB调用JAVA可以极大地减少对接的工作量,快速实现对接。 通过SatJNI我们可以很容易地实现PB调用JAVA类。 PB调用JAVA的方

  • Windows 驱动开发2 链表的数据结构2021-09-04 14:31:47

    目录Windows 驱动开发2 链表的数据结构一丶链表1.1 简介1.2 WDK中的链表结构1.2.1 链表的使用1.3 链表API 之初始化节点 Windows 驱动开发2 链表的数据结构 一丶链表 1.1 简介 ​ 链表在windows内核开发中是最最最常见的数据结构了。 主要分为单向链表和双向链表。 单向链表的链表

  • C#获取时间戳2021-09-03 15:02:25

    static readonly DateTime utcStart = new DateTime(1970, 1, 1); public static ulong GetUTCStartMilliseconds() { TimeSpan ts = DateTime.UtcNow - utcStart; return (ulong)ts.TotalMilliseconds; }

  • C#几行代码让windows蓝屏2021-08-28 18:33:02

    话不多说,上代码: [DllImport("ntdll.dll", SetLastError = true)] private static extern int NtSetInformationProcess(IntPtr hProcess, int processInformationClass, ref int processInformation, int processInformationLength); static void Main(string[] args) {

  • Windows内核--使用内核链表.demo2021-08-15 14:31:24

    typedef struct _MYDATA { LIST_ENTRY ListEntry; ULONG X; ULONG Y; }MYDATA, * PMYDATA; void LinkListTest() { LIST_ENTRY linkListHead;//链表头 InitializeListHead(&linkListHead);//初始化链表 PMYDATA pData; ULONG i = 0; KdPrint

  • C# 数值类型后缀2021-06-14 23:04:08

    有重载的情况下,传参有时需要显式类型: float float f = 1.0F double double d = 1D; decimal decimal d = 1,0M uint unit i = 1U; long long i = 1L; ulong ulong i = 1UL; 参考:https://www.jianshu.com/p/eb45efd9d3ce

  • vc++实现Inline hook KeyboardClassServiceCallback实现键盘记录2021-04-25 17:53:12

       vc++实现Inline hook KeyboardClassServiceCallback实现键盘记录     /* */#ifndef _DBGHELP_H#define _DBGHELP_H 1#include#define dprintf if (DBG) DbgPrint#define nprintf DbgPrint#define kmalloc(_s) ExAllocatePoolWithTag(NonPagedPool, _s, 'SYSQ')//#def

  • WinAPI ZwQuerySystemInformation的简要分析2021-04-12 12:05:55

    NTSTATUS WINAPI ZwQuerySystemInformation(                        _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,  //枚举类型,用户输入值选择要查询的信息 _Inout_ PVOID SystemInformation,  //缓冲区,用来接

  • 驱动-内核重载2021-03-13 21:05:45

    内核重载 读取ntkrnlpa.exe的PE文件,并展开加载到内存获取模块基址修复重定位修复新的SSDT表HOOK KiFastCallEntry函数 代码 KiFastCallEntry过程请看文章 驱动-系统调用 驱动-系统调用 // 准备工作 // KeServiceDescriptorTable变量,声明就可以直接使用 // 函数原型 typedef

  • IE浏览器下实现低延迟播放RTSP或RTMP流2021-02-22 13:59:29

    首先,虽然本文是介绍IE浏览器下OCX控件播放RTSP或RTMP,但这种方式并不推荐,毕竟它只能用于IE浏览器环境下,局限太大,而且随着微软IE浏览器的更新,不确定后续支持情况。当然,话说回来,如果是在特定的使用场景下,只需要某些版本IE浏览器支持,但对延迟和稳定性要求非常高,OCX控件方式也不失为

  • ZwQuerySystemInfoMation函数使用2021-02-03 13:36:16

    ZwQueryInfoMation函数很简单.就是4个参数. NTSTATUS WINAPI ZwQuerySystemInformation( _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass, _Inout_ PVOID SystemInformation, _In_ ULONG SystemInformationLen

  • SylixOS里的时间【10】--- 软件定时器接口及用法2020-12-24 14:01:07

    概念 很多系统都提供软件定时器,通过软件定时器可以异步的延时或周期性执行某一函数,使用延时函数也实现同样的功能,但延时函数是同步方式,等待时需要阻塞当前线程,如果要实现多个周期性动作需要创建多个线程。 无论是驱动还是应用程序,经常会用到周期查询任务,最简单高效的的实现方

  • 基于图像处理和tensorflow实现GTA5的车辆自动驾驶——第四节通过Python控制人物前进后退2020-12-16 12:35:50

    一开始想采用PyAutoGUI,然后GTA并不支持,遂采用DirectX的输入模式 这部分的代码看不太懂了,我就Github上搜了一下代码,然后调整了一下。 Kyes.py文件 键盘映射,主要是把键位映射为DirectX能读的形式(16进制的一串字符),定义如下 class Key_Mapping: num1 = 0x02 num2 = 0x03

  • (3)Windows系统总述2020-12-03 17:00:47

    一、说明 这是《Windows内核原理与实现》的第二章,主要是对一些概念进行科普,其中关于注册表和系统引导部分,我看着像在看天书,也没有写什么笔记。 这篇博客主要是记录一些我大概能看懂的,以便日后参考。其实也只是把书上的话自己总结了一下,实在没什么特别的,写博客已经是一种习惯

  • hook笔记①2020-04-20 22:57:21

    汇编中push 0x*** retn表示跳转到某个地址继续执行 #pragma comment(linker,"/SECTION:.text,ERW") //编译器允许代码可写 #include <iostream> #include <Windows.h> //游戏功能函数 void func1() { MessageBoxA(0, "正常消息", "提示", MB_OK); } void hooked

  • 再学斐波那契数列2020-03-21 19:03:20

            递归算法在实际应用中司空见惯,斐波那契数列是具体体现之一,递归算法是基本技能,今天是周六,再动一下大脑~      F1:迭代法,F2:直接法,F3矩阵法,F4:通项公式   using System; using System.Diagnostics; namespace Fibonacci { class Program { static v

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有