avatar
文章
331
标签
30
分类
0

Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About
The Blog of Monoceros406
搜索
Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About

The Blog of Monoceros406

Windows驱动开发入门-安全进阶
发表于2024-11-30|Win驱动开发
Windows驱动开发入门-安全进阶任意进程读写CR3法CR3寄存器保存页目录表PDBR地址,用CR3可对任意进程特定地址进行强制读写。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#include <ntifs.h>#include <windef.h>#include <intrin.h>#define DIRECTORY_TABLE_BASE 0x028#pragma intrinsic(_disable)#pragma intrinsic(_enable)NTKERNELAPI NTSTATUS PsLookupProcessByProcessId(HANDLE ProcessId, PEPROCESS *Process);NTKERNELAPI CHAR* PsGetProcessImageFileName(PEPROCESS Process ...
UEFI编程入门-图形与文字显示
发表于2024-11-29|UEFI
UEFI编程入门-图形与文字显示显示基础UEFI进行图形开发步骤为: 获取EFI_GRAPHICS_OUTPUT_PROTOCOL实例,存在多个显示设备则可获得多个实例。 查询系统支持的显示模式,特别是模式的分辨率,确定可操作的画布大小。 设置需要的显示模式。 用图形显示接口函数Blt在屏幕上绘制。 EFI_GRAPHICS_OUTPUT_PROTOCOL结构为: 1234567891011121314struct _EFI_GRAPHICS_OUTPUT_PROTOCOL { EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode; //查询系统显示模式 EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode; //设置显示模式 EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt; //图形显示接口函数 EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode; //当前 ...
机器学习入门
发表于2024-11-28|Python
机器学习入门垃圾邮件过滤感知机法线性分类器如下,$w_i$为权重,$x_i$为索引:$$y=\sum_{i=1}^nw_ix_i$$然后有阈值$\theta$:$$f(y)=\begin{cases} +1&wx\geqslant\theta\\ -1&wx<\theta\end{cases}$$引入第0项$w_0=-\theta,x_0=1$,于是得到:$$y=\sum_{i=0}^nw_ix_i$$每轮学习时,更新各个权重$w_i=w_i+\Delta w_i$,其中$\Delta w_i=\lambda(y-y_i)x_i,\lambda\in[0.0,1.0]$。 123456789101112131415161718192021222324252627import warningsimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.model_s ...
OpenSSL入门-对称密码
发表于2024-11-24|OpenSSL
OpenSSL入门-对称密码安装来这里下载二进制https://wiki.openssl.org/index.php/Binaries 并进行安装,不要选择Lite版,且注意将动态链接库放在安装目录下。 新建一个Visual Studio项目,项目属性中的VC++目录下有个包含目录,添加OpenSSL的include目录,库目录添加lib目录对应模式的子目录。链接器设置中输入的附加依赖项添加: 123libssl.liblibcrypto.libws2_32.lib 最后将bin目录下的libcrypto-3-x64.dll和libssl-3-x64.dll拷贝到工程目录和生成的可执行文件目录下。 能运行以下代码就算成功: 1234567#include <iostream>#include "openssl/evp.h"int main(void) { OpenSSL_add_all_algorithms(); std::cout << "Hello World!\n"; return 0; ...
Windows驱动开发入门-对象与注册表监控
发表于2024-11-23|Win驱动开发
Windows驱动开发入门-对象与注册表监控对象通知能够再试图打开或复制特定对象类型句柄时通知感兴趣的驱动,支持进程、线程和桌面对象。桌面是个内核对象,包含在Window Station内核对象中,后者是会话的一部分。桌面包含窗口、菜单和用户模式挂钩,用户模式挂钩通过SetWindowsHookEx使用。 当用户登录系统时,会创建两个桌面。Winlogon桌面由Winlogon.exe创建,这是在按下安全注意序列SAS组合键时看到的。默认桌面是正常桌面,可以看到正常窗口。用SwitchDesktop切换到另一个桌面。 注册API是ObRegisterCallbacks: 1234NTSTATUS ObRegisterCallbacks( _In_ POB_CALLBACK_REGISTRATION CallbackRegistration, _Outptr_ PVOID* RegistrationHandle //成功注册后返回值); 注册前先初始化一个OB_CALLBACK_REGISTRATION结构,提供驱动要针对什么进行注册。注销用ObUnRegisterCall ...
PyQPanda入门-量子计算入门
发表于2024-11-22|Python
PyQPanda入门-量子计算入门入门数学基础设$|0\rangle=[1,0]^T,|1\rangle=[0,1]^T$为$\mathbb C^2$的一组基,则一个量子比特可表示为$|\psi\rangle=\alpha|0\rangle+\beta|1\rangle$。其中$\alpha,\beta\in\mathbb C$,称为振幅,满足归一化条件$|\alpha|^2+|\beta|^2=1$。将任意单量子比特量子态写作$\displaystyle|\psi\rangle=\cos\left(\dfrac{\theta}{2}\right)|0\rangle+e^{i\varphi}\sin\left(\dfrac{\theta}{2}\right)|1\rangle$,对应布洛赫球上一点$\psi(\cos\varphi\sin\theta,\sin\varphi\sin\theta,\cos\theta)$。布洛赫球的北极为$|0\rangle$,南极为$|1\rangle$。 对于多量子比特,例如两个量子比特可能有4个状态 ...
UEFI编程入门-环境准备
发表于2024-11-22|UEFI
UEFI编程入门-环境准备环境准备准备需要安装Visual Studio 2019(新版支持2022?)、Python 2.7+、IASL编译器、NASM编译器,并将后两者加入PATH。 其中IASL编译器下载地址https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/download.html 。NASM编译器下载地址https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/win64/ 。 下载EDK2开发包: 12git clone https://github.com/tianocore/edk2.gitgit clone https://github.com/tianocore/edk2-libc.git EDK2中通过Submodule方式提供了些必要的库文件和编译所需源文件,这里对他们进行初始化和更新,在edk2目录下: 1git submodule update --init #以后再更新就不用加--init了 再在edk ...
Windows驱动开发入门-进程和线程通知
发表于2024-11-21|Win驱动开发
Windows驱动开发入门-进程和线程通知进程通知实战数据结构某个进程无论何时被创建或销毁时,感兴趣的驱动都能从内核得到通知。用PsGetCreateProcessNotifyRoutineEx注册进程通知,最多注册64个通知。 123456789NTSTATUS PsSetCreateProcessNotifyRoutineEx( _In_ PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine, _In_ BOOLEAN Remove //FALSE注册 TRUE取消);typedef void (*PCREATE_PROCESS_NOTIFY_ROUTINE_EX)( //回调原型 _Inout_ PEPROCESS Process, //新创建或即将销毁的进程对象 _In_ HANDLE ProcessId, //进程唯一标识 实际不是HANDLE是ID _Inout_opt_ PPS_CREATE_NOTIFY_INFO CreateInfo //被创建进程详细信息 被销毁进程为NULL); 还有PsSe ...
安卓逆向入门-安全合规
发表于2024-11-11|移动安全
安卓逆向入门-安全合规Android基础Android要求所有APK使用证书进行数字签名,否则无法安装或更新。签名利用摘要和非对称加密技术确保APK 由开发者发布且未被修改,摘要是用哈希算法计算出来的APK内部文件唯一映射值,相当于APK指纹。签名用开发者私钥进行加密。用户端安装APK时系统重新计算APK文件摘要,用开发者公钥解密签名中摘要,两者对比一致则说明APK来源可信且未被修改。 Android 11及之前支持4中应用签名方案。v1签名是最基本的基于JAR的签名方案。v2签名在Android 7引入,提高验证速度并增强完整性保证。v3签名在Android 9引入,支持密钥轮替。v4签名在Android 11引入,根据APK所有字节计算得出Merkle哈希树,需要通过v2或v3签名进行补充,签名信息单独存储在.apk.idsig文件中。应用验证时,系统优先寻找并校验最高版本的签名,无法找到则逐级向下寻找,直到找到兼容的签名方案。 签名后应用中新增META-INF文件夹,文件夹中包含3个文件。MANIFEST.MF记录应用中每个文件的Hash摘要,除了META-INF文件夹。*.SF ...
安卓逆向入门-Native层入门
发表于2024-11-10|移动安全
安卓逆向入门-Native层入门入门动态注册方法: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455#include <jni.h>#include <string>#include "aes_utils.h"#include "tools.h"#include "junk.h"#define NELEM(x) ((int) (sizeof(x) / sizeof((x)[0])))JNIEXPORT jstring JNICALL method02(JNIEnv *env, jclass jcls, jstring str_) { if (str_ == nullptr) return nullptr; const char *str = env->GetStringUTFChars(str_, JNI_F ...
1…345…34
avatar
Monoceros406
Windows系统安全爱好者
文章
331
标签
30
分类
0
Follow Me
公告
哪里排版出锅了请告诉我QwQ QQ:1295625063
最新文章
Linux编程入门-系统选项2025-06-21
Linux编程入门-时间2025-06-15
Linux编程入门-用户管理与安全2025-06-15
Linux编程入门-内存管理2025-06-15
Linux编程入门-进程2025-06-14
标签
漏洞复现 恶意代码 密码学 Python 渗透测试 取证 编程语言 逆向工程 AWD Win系统调试 其他 GUI开发 解题报告 沙盒逃逸 算法 Win内核安全 OpenSSL 移动安全 UEFI 数学建模 Win驱动开发 WinAPI IoT PWN 前端开发 Web Linux Web3 后端开发 Misc
归档
  • 六月 20258
  • 五月 20259
  • 十二月 202413
  • 十一月 202412
  • 十月 202420
  • 九月 20243
  • 八月 20248
  • 七月 202413
网站资讯
文章数目 :
331
已运行时间 :
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By Monoceros406
框架 Hexo|主题 Butterfly