自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (14)
  • 收藏
  • 关注

原创 windbg实用命令

1. $t-$t19 伪寄存器 使用 r $t0=123 /r? $t0=123 前者的$t0是默认整形,后者是自动获取类型2. &可以用来取变量地址,例如r? $t1=&@$peb->ldr ,这样$t1就是ldr变量的地址(不是值)3. dt 用来显示一个结构例如dt -r1 nt!_EPROCESS ,其中r是用用显示其下的子结构       dt  nt!_EPROCESS -y ActiveProcess用来显示指定字段     dt l 用来显示链表,复杂,后面补上4. !a

2010-09-12 15:52:00 896

原创 为项目需要,修改的一个内存池,

发现效率不行,close!

2010-06-06 19:52:00 528

原创 没地方放,先放这里,获取08QQ帐号

// testqq.cpp : Defines the entry point for the DLL application.//#include "stdafx.h"#include DWORD WINAPI hookqq(PVOID lp);DWORD dwOldAddr=0x12456;void dd(){}BOOL APIENTRY DllMain(

2010-05-25 17:10:00 756

原创 COM学习笔记

为了搞清楚HOOKING-COM ,学会了COM的几个概念,接口,对象,类厂,代理/存根,套间。 里面东西很有意思。。。。这东西挺考C++类的功夫的,多重继续实现对象的多接口,特别是在queryinterface,强制转换返回接口时,那个this的转换很有意思  只要是看了《COM原理与应用》这本书,和网上的一些资料。可惜《COM原理与应用》是PDF,没法复制一点笔记下来,自己

2010-05-06 16:56:00 509

原创 基于IMD驱动ARP防火墙设计(windows平台)

基于IMD驱动ARP防火墙设计(windows平台)  IMD驱动认识 当IMD注册的时候,会同时注册协议和端口,他们分别代码着protocol_block,miniport_block而protocol_block中的bindinghanle代码着IMD协议

2010-04-26 15:00:00 1629

原创 文件系统之文件系统设备与卷设备关系

参考了山寨ntfs源码和寒江做点笔记 看了ntfs.sys的源码,好像在在次功能号IRP_MN_MOUNT_VOLUME中虽然创建了设备,但是并不是用用attach系列函数挂到卷设备上,而是初始化一个vcb结构。/////////////////////////////////////////////mountvolume()

2010-02-26 15:29:00 1477

原创 dpc学习笔记

笔记1 笔记2反汇编发现KeSetTargetProcessorDpc把dpc结构中的number字段设置为参数2,同此我推测KeInsertQueueDpc的时候会依据这个number字段值插入到对应的cpu中     for (i = 0; i CpuNumber; i++)    {        KeInitializeDpc(idtDpc, (PKDE

2010-02-17 21:39:00 880

原创 FAT32文件格式解析笔记

读取FAT表和FDT函数部份代码 来源网上的 “Windows系统文件操作”  稍做修改,巩固下对FAT32文件格式的理解。下步就弄NTFS的了 源码代码 http://download.csdn.net/source/1957045

2010-01-03 21:52:00 785

原创 windows对象管理入门理解

先来一张图。下面文字参考《 Undocumented Windows 2000 Secrets》  四1. Dispatcher对象 此类对象位于系统的最底层,在它们的对象体的开始处都有一个共享 的公共数据结构----DISPATCHER_HEADER(参见列表7-1)。在它们的对象头中包含一个对象类型ID和对

2009-12-10 14:28:00 2980

转载 Windows 2000/XP 系统对U盘的处理过程入手,逆向彻底消除U盘使用痕迹

 转载:http://hi.baidu.com/dxng/blog/item/26b7e595ddda104ed0135e47.html  Windows 2000/XP 系统对U盘的处理过程入手,逆向彻底消除U盘使用痕迹2008/06/20 21:55如何彻底消除U盘使用痕迹?网上有许多资料,但是都是难以理解,假设作为操作系统,它不会保存无意义的U盘使用痕迹(如果故

2009-11-28 15:12:00 5799

原创 原来scanf还能这样玩的???

在CSDN上看到一个这样的帖子,http://topic.csdn.net/u/20090915/16/5737c221-e53d-433d-9faa-a89a8f267e57.html?8929 后来上网找资料才多多少少了解了点scanfvoid main(){ int a=123,b=1; char c=t;   scanf("%d%c",&c,&b);

2009-09-17 18:35:00 676

原创 OD给条件断点,字符串形式

 如果ESP的话就这样string [[esp+8]] =="abcd"这样就是当第2个参数是abcd时就断下来 直接寄存器的话就是string [edi] =="ABCD" 要是单个字符就是byte ptr[edi] == g OK,够用了。

2009-09-17 15:19:00 2718

原创 .cpp文件编译驱动的麻烦

把书上的例子NDIS那个协议驱动例子搬到VS2008上, 搞了好几个小时,终于可以睡了 我的向导是用ddkWizar搞的 把项目搞过去之后,预料之中,编译不过。。 ddkWizar默认是生成.c工程的。 大概搞三个地方就能顺利通过 1。source 文件中加上一行TARGETLIBS=$(DDK_LIB_PATH)/ndis.lib,(奇怪我在配置的

2009-09-17 02:30:00 986

原创 安装LSP分层服务的理解

要安装在udp之上.(代码来源网络)1。枚举所有的,找到UDP的入口WSAPROTOCOL_INFOW2。拷备一个WSAPROTOCOL_INFOW到2个变量中,下面安装的的LSP需要分层和协议链WSAPROTOCOL_INFOW inf1,inf23。修改几个必要的字段和标志位4。然后把这个分层服务inf1安装上去5。再一次枚举所有的,找到刚刚安装

2009-09-03 23:33:00 2256

原创 看完了加密解密3的第十六章 外壳编写

总算对每一行都看懂了,工程还挺大的。 回头有毅力,照抄来搞个peloader才行。 1。按内存对齐方式把文件读到一块内存m_pImageBase中2。关于重定位,是exe就清除,是dll就重构结构3。申请一块新的内存m_pImportTable来存放加密后的输入表,清除原来位置的输入表4。申请一块新内存pMapOfPackRes来装处理后的资源5。合

2009-08-28 19:08:00 1187

原创 这里的数组的点混乱

1.一个有10个指针的数组,指针类型为int定义:int *p[10];2.一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数 int test(int x);int (*p[10])(int x); //注意那里要加上括号p[1]=test; 3一个指向数组的指针,这个数组的元素是函数指针,这些

2009-08-25 22:26:00 559

原创 抄写了一次ping程序

// Ping_Project.cpp : Defines the entry point for the console application.//#include #include "stdafx.h"#include #include #pragma comment(lib,"WS2_32.lib")char szDestIP[]="119.147.15.11"

2009-08-24 21:40:00 769

原创 转载学习结构体和union大小的问题

5分钟搞定内存字节对齐转载:http://blog.csdn.net/hairetz/archive/2009/04/16/4084088.aspx请牢记以下3条原则:(在没有#pragma pack宏的情况下)1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍

2009-08-24 19:00:00 2264 3

原创 在看书,争取写个loader出来,然后写个壳,哈

买了《加密解密3》回来,还没看多少,想写个loader,嘿嘿。总喜欢搞底层东东

2009-08-24 16:06:00 512

原创 看了《应用程序捆绑核心编程》觉得这有点问题吧

里面在分割的时候,一次打开的文件句柄竟然给所有的线程共用,我就怀疑这有问题,这样分割的时候,文件指针定位岂不是变傻了啊 thread1还读完的时候,thread2就定位到另一个位置。再到thread1接着读的时候指针已经不同了。顶他的肺。想找他email问下也没有   

2009-08-24 16:03:00 515

原创 初步了解com

基础性了解com. 就是一个在系统中注册了的组件。进程内的调用觉得没什么特别,和动态连接库查不多。 进程外就觉得很特别了。竟然可以直接获取一个指针,然后返回给我,这里面我也了解了为什么要传二级指针的原因,就好像调用函数来申请内存一样,然后我就可以调用, 我觉得应该是这样,远程创建一个对象后,返回一个指针,是通过一些远程通迅手段返回的, 有意思的是调用的时候,例如p-

2009-08-24 15:54:00 440

原创 整个卸载模块的小东东

有时候卸载一些模块的时候,如果这个dll模块有线程在运行的话,会挂掉。 所以写了个先结束掉线程再卸载,这样如果这线程是独立的话,就可以安全卸载掉   

2009-08-17 14:51:00 416

原创 简单学习了下SDK截图显示到DC和存为文件

 http://p.blog.csdn.net/images/p_blog_csdn_net/vincent_1011/EntryImages/20090723/TestBitBlt.jpg下载改为rar格式截图存为文件那个是直接拿别人的代码 /////////////////////////////////////////// 笔记。。。。。。。。。。     H

2009-07-23 15:18:00 1217

原创 暑假-学习第一阶段学习笔记小结

我体会学习的办法:一般只是粗略看过。知道实现什么可以怎么做,然后再粗略的实现一次就行了,不需要具体去弄。不过需要有印象。这样以后开发需要用到的时候不至于完全陌生  这一阶段只要想学习VC++编写软件对数据库的操作。 看了本从图书馆借来的书,然后还有《WINDOWS下汇编XXX》,这时基本全部看过了解下。 反正这鸟东西这么成熟了,网上肯定有不少资料的。google下,不错

2009-07-23 01:12:00 464

原创 (转载)解释预编译头文件(precompiled header)

 转载)http://vcer.net/1047209431368.html 预编译头文件今天在改一个很大的程序,慢慢看,慢慢改。突然发现一个.c文件,里面什么也没有, 就几个头文件,我一看,我靠,这不是把简单的问题搞复杂了吗,随手删掉那个c文件。 结果不能编译了,我靠: fatal error C1083: Cannot open precompiled head

2009-07-07 15:47:00 453

原创 这个是窗口超类化

一点代码,上传的工程换成图片格式上传,可以下载到本地然后改成rar即可解压附件下载  // 超子类化.cpp : Defines the entry point for the application.//#include "stdafx.h"LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//外部变量

2009-07-07 15:23:00 525

原创 SDK学习了下窗口子类化

SDK窗口窗口和EDIT控件,并且过滤了EDIT控件输入1,2,3 下次弄个超子类化看看。。 #include #include LRESULT CALLBACK WinProc(HWND, UINT, WPARAM, LPARAM);//子类化消息处理函数LRESULT CALLBACK subClassWinProc(HWND, UINT, WPARAM, LP

2009-07-07 14:13:00 678

转载 通过GetModuleHandleEx 得到函数调用者所在的DLL/EXE(转)

在有些情况下需要得到函数调用者的模块名字。比如你想限制你的某个函数只能被自己某个特定的DLL调用。 或者比如在异常处理中你想了解是那个DLL/EXE抛出了异常。  API函数_ReturnAddress 和GetModuleHandleEx 函数可以帮助我们达到这个目的。以下代码演示它们的用法:void ShowCallerModuleName()  {  

2009-06-08 18:21:00 3692

原创 1—3章笔记

看了遍教材,发现是SDK编写程序而已,由于之前有基础,所以看得也快,重要的是只要知道原理后,后面的东西大概都只是学新API而已,所以把前四章的笔记放一起。真搞不明白老师慢慢的讲这么慢。不管他! 第一章 GetClientRect();获得客户区矩形大小 BeginPaint();获取设备环境,必须与EndPaint配对使用。 WinMain里面的Showcmd显示样

2009-03-07 00:38:00 516

原创 安装VM遇到imagec~1.cab不能读取问题

 今天安装VM的时候碰到不能读取imagec~1.cab文件,不过我那个目录明明有这个文件 后来用sysinternals的文件监控工具查看了下,发现不能access.并发现里面显示的路径是缩写的,直接复制过去打不开。 奇怪,经过研究,原来因为我用户名中文名的原因。后来建立了个数字帐号就安装上去了。。所以有些软件很奇怪,不能识别中文,什么的,甚至有一次安装SQL,一直安装不成功

2009-03-01 13:45:00 1080

原创 传个关于控制区域联系的图

临时看文章理解,所做一笔记

2009-02-27 21:41:00 482

原创 关于附加调试办法,成功利用取到进程启动参数

在需要调试的进程中把入口改成CC指令,然后就启动,这时候就会出现平时最常见的错误。。  点取消,此时进程就自动附加到我们的即时调试器了,这样就可以跟到GetCommandLine(),取得其返回值 就是启动参数。。

2009-02-18 01:23:00 504

原创 Hook IAT的时候解决缺点办法

笔记下,有空就验证下。 Hook IAT的时候有局限性局限性:1当程序运用一种叫late-demand binding技术,函数被调用时才定位地址,这样以来就不能在IAT中定位目标函数地址了.2当目标程序用动态加载(LoadLibrary)时,这种方法也将失效. 我想我可以一开始就HOOk一个程序一启动就绝对会调用的函数,然后在我的函数中调用我真正要Hook的函数不就可以解决局

2009-02-09 12:40:00 1118

原创 调试了下,挺有意思的2级指针(备忘)

void main(){ int **p; int a=5; *p=&a; printf("%d",**p); } 这是编译不过的,后来用VC调试了下,发现是这样的因为*p其实是p所指向的一个内存单元,而p却未指向任何地方,所以*p=&a这句是通不过的之前没深想,认为 初始好p后,p和*p的指针值一样,其实不然,

2009-02-07 00:22:00 460

原创 容易搞乱的sizeof和strlen

  char str[]="123" char *p=str char *p2="123" sizeof(str)结果是4//算上/0sizeof(p) 结果是4,因为指针都是占4个字节 strlen(str)结果是3strlen(p2)和strlen(str)一样是3, 其实就是strlen算字符数个数,sizeof算字节数+1。另外s

2009-02-03 14:14:00 424

原创 今天运行个多线程测试时候,奇怪现象

以下是CSDN朋友解释=============这应该是标准输出缓存没有正确处理的缘故吧。要知道标准输出是共享资源,你使用他时必须进行并发控制。 假定第一个线程输出1 new thread....后,cout尝试把其缓存清空,但是在清空前的一霎那,如果恰好 线程2获得控制权,你说的现象就必然出现。也就是说,是否出现你说的现象,要看线程上下文何时切换,而这就是为什么你试多次才出现一次的原

2009-02-03 13:48:00 566

转载 学习SSDT笔记

  内核中有两个系统服务描述符表一个是KeServiceDescriptorTable(由ntoskrnl.exe导出),一个是KeServieDescriptorTableShadow(没有导出)。 两者的区别是:KeServiceDescriptorTable仅有ntoskrnel一项,KeServieDescriptorTableShadow包含了ntos

2009-02-03 00:59:00 1014

原创 获取指定进程模块handle 然后FreeLibrary掉

转网上李马大哥的,GetExitCodeThread原来可以这么用,哈  1. // 使目标进程调用GetModuleHandle,获得DLL在目标进程中的句柄 2. DWORD dwHandle, dwID; 3. LPVOID pFunc = GetModuleHandleA; 4. HANDLE hThread = CreateRemo

2009-02-02 22:39:00 3081

转载 页目录和页表重合与分页地址转换

写得不错,转下,来自JIURL大牛的   页目录的地址为什么是C0300000,1个页目录加上1024个页表为什么只使用了1024*4K的地址空间    对于要映射整个4G地址空间,是需要1024个页表和1个页目录的,每个都是4KB大小,也就是1024*4KB+1*4KB=4MB+4KB。而实际中Win2k把每个进程的页目录和页表映射到了从 0xC0000000到0xC03

2009-02-01 01:29:00 2922 1

转载 对进程操作的3个基本函数详解(转)

转于:http://hi.baidu.com/combojiang/blog/item/7c32ff2dc1ce7932359bf732.html  1)首先要获得进程访问令牌的句柄,这可以通过OpenProcessToken得到,函数的原型如下:BOOL    OpenProcessToken(          HANDLE   

2009-01-27 19:42:00 948

区分网卡 有线网卡,无线网卡,虚拟网卡

区分网卡 有线网卡,无线网卡,虚拟网卡,带源码和bin

2011-07-04

隐藏IP和端口,可以隐藏指定的IP和端口

IP,端口隐藏工具IP

2010-11-10

baiduuploader

利用百度的图片上传功能上传文件

2010-10-04

VC 多线程下载,真的挺快的,比wget快多

这是网上下载的,觉得挺不错就收藏在这里了 里面代码可能debug下载某些文件出错,发现是在一个什么trace里面

2010-06-28

手工解析NTFS文件.rar

手工解析NTFS文件.rar手工解析NTFS文件.rar

2010-02-06

NTFS文件格式解析

只要是用来理解下NTFS文件格式。资源是一张图。里面描述得很清楚 关于删除和新建等有用的时候再找资料了,现在对遍历已经有所了解了。大家看完如果有错,记得留言指正啊。谢谢

2010-01-20

手工解析FAT32文件格式

手工解析FAT32文件格式浏览文件 后面再学习解析NTFS

2010-01-02

串口过滤监控 只支持写

提供DLL接口,只支持写监控,由于有人要买源码,所以源码提供不了。测试系统xp

2009-12-06

(含源码) 注入dll 卸载进程模块 UM

(含源码) 注入dll 卸载进程模块 UM

2009-11-21

(含源码) 注入dll 卸载进程模块 UM

(含源码) 注入dll 卸载进程模块 UM(含源码) 注入dll 卸载进程模块 UM

2009-11-21

注入钩子 安全卸载进程模块 UM(含源码)

可遍历进程和模块,注入,尽可能安全卸载模块保证进程不会崩溃

2009-11-21

注入钩子 安全卸载进程模块 UM

可遍历进程和模块,注入,尽可能安全卸载模块保证进程不会崩溃

2009-08-17

钩子测试钩子测试钩子测试

钩子测试钩子测试钩子测试钩子测试钩子测试钩子测试

2008-12-08

urldownloadtofile函数下载文件,显示进度

C/C++ 使用urldownloadtofile函数下载文件 显示进度

2008-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除