学习java网络编程的参考代码
直接贴代码吧, 使用javabean制作的界面, 可以直接 eclpse编译通过
GUI-CHAT.rar 直接点击下载即可
直接贴代码, 可以直接测试
#include <windows.h>
#include <stdio.h>
typedef struct _LSA_UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PVOID Buffer;
} LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
typedef LSA_UNICODE_STRING UNICODE_STRING, *PUNICODE_STRING;
// 申明ntd...
#include <windows.h>
#include <stdio.h>
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
#define SystemLoadAndCallImage 38
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PVOID Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
typedef uns...
开发环境: VC6.0
系统环境: xp3
exe驱动加载InstallSysDemo.rar
附件中有完整的测试代码
注意: 驱动的sys文件 需要和 生成的exe文件放到一个文件夹即可执行
背景:
公司阿里云服务器换成 专有网络VPC后出现了问题, 无法对外访问, 最后想起了是ufw的问题, 阻止了 80端口, 以前也是那样配置的,很奇怪,添加了一条命令
sudo ufw allow 80 允许外部访问80端口
搞定了
安装方法
sudo apt-get install ufw
当然,这是有图形界面的(比较简陋),在新立得里搜索gufw试试……
使用方法
1 启用
sudo ufw enable
sudo ufw default deny
作用:开启了防火墙并随系统启动同...
检测事件是否开启
1
show variables like 'event_scheduler';
开启事件
1
...
[该文章已设置加密,请点击标题输入密码访问]
需要了解 内核对象的结构
32位的代码
#include "ntddk.h"
VOID MyUnload(PDRIVER_OBJECT pDriverObject)
{
KdPrint(("驱动卸载成功\n"));
}
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING Reg_Path)
{
UNICODE_STRING mingzi;
PVOID dizhi1;
ULONG *biao_neihe1;//内核表的地址
int i=2;...
原理:
段基址 + 偏移地址 = 函数地址
让idt不动的话, 就需要更改段基址
实例代码:
#include "ntddk.h"
#include "ntddk.h"
#define WORD USHORT
#define DWORD ULONG
#define MAKELONG(a, b) ((LONG)(((WORD)(((DWORD_PTR)(a)) & 0xffff)) \
| ((DWORD)((WORD)(((DWORD_PT...
主要理解下面的内容:
1:
KiProcessorBlock数组的每一个非0项都是指向一个_kprcb结构,而_kprcb结构正是再_kpcr结构的+0x120处,_kpcr结构的+0x38就是_IDT结构地址。
2:
通过硬编码 使用ida找到 KiProcessorBlock
3:
IDt的表结构的理解, 进行函数过滤
详细使用代码 (xp3)
#include <ntddk.h>
#define WORD USHORT
#define D...
没啥技术含量
主要就是指令 sidt
详细代码
#include <ntddk.h>
#define WORD USHORT
#define DWORD ULONG
#define MAKELONG(a,b) ((DWORD)((USHORT)a))|(((DWORD)b)<<16)
typedef struct _IDTR{
USHORT IDT_limit;
USHORT IDT_LOWbase;
USHORT IDT_HIGbase;
}ID...
1 了解PE结构
2 懂HOOK KiFastCallEntry
3 理解SSDT表 (需要修复SSDT表)
其实操作不算太复杂, 需要有一定的基础
完整测试的实例代码
#include <ntddk.h>
#include "ntimage.h"
#define __Max(a,b) a>b?a:b
#pragma pack(1)
typedef struct ServiceDescriptorEntry {
unsigned int *ServiceTab...
注意事项 : 我用的OD是 自己有保护的,经过内核重载 CE就能打开OD了 没重载之前呢 是看不到OD进程的
不要跟360HOOK了一个点 要不就会蓝屏 , 加载驱动前一定要检查 有没有被HOOK NtCreateFile 函数否则就会加载失败的
重点注意QQ 它的驱动HOOK了不少函数而且是重启不会取消的HOOK 解决办法就是把它的驱动删除了 重启 就OK
比如打开了 CE 一定要先把CE关掉以后 才能卸载重载驱动 要不就会蓝屏
首先呢我们要学的是一个思想,过程代码就放在哪跟着代码一步一步看最后作者的意思是什么就会明白.也能自己调用但是...
文章非原创,转载的
今天和大家分享一个小心得,想必很多高手已经玩腻了~飘过吧!
最近接触了不少游戏保护,它们或多或少的都有一个特制就是在被调试机上运行游戏以后调试机上的WINDBG就接受不到信息了。起初我也困惑的很,而且在驱动当中设置int 3断点会蓝屏。后来在一个应用程序中添加了
__asm int 3这个应用程序就崩溃了。得到结论它们都是用了KdDisableDebugger函数来禁止操作系统调试了。想对应的有一个函数是 KdEnableDebugger 可以允许调试,但是很多游戏仍然很操蛋。及时你使用了KdEnableDebugger 也无法调试,它们都是不...
网上说的比较常见的4种方法:
1、通过DriverEntry传入的DriverObject参数的DriverSection成员指向LDR_DATA_TABLE_ENTRY结构,通过遍历这张表得到ntoskrnl的基址和大小
2、ZwQuerySystemInformation大法
3、搜索内存
4、利用KPCR结构
存在的问题:
1、第1种方法和第4种方法得到的结果比ZwQuerySystemInformation少一个
2、第1种方法如果输出BaseDllName是ntoskrnl.exe,如果输出FullDllName则是:\WINDOWS\s...