一切从C开始
百度空间 | 百度首页 
 
文章列表
 
2009-08-04 16:06
ring0不调api徒手设置硬件断点
by flyingkisser
09.2.12
时间比较有限,捡关键的说说

1.如何写dr0,dr7,一般用NtSetContextThread,
为了不调API,这个问题就成了如何定位到指定线程的context,办法是:
先由tid拿到ethread
kthread.InitialStack-29ch就是,如果这个地址无效,就使用ethread->TrapFrame
这时拿到的地址指向结构KTRAP_FRAME,修改它对应的drx就行了。
为什么是_KTHREAD.InitialStack-29ch,自己逆向一下PspGetSetContextSpecialApc就知道了。
xp下是29ch,其
 
2009-07-19 16:48

从硬盘中找出来的一段代码。已不知道原始出处了。贴出来。

#define   WIN32_LEAN_AND_MEAN  
#define   _WIN32_WINNT   0x400  
#include   <stdio.h>  
#include   <tchar.h>  
#include   <locale.h>  
#include   <windows.h>  
#include   <psapi.h>  
#include 

 
2009-07-06 11:31
好久没顾得上写blog了,感谢一直关注本blog的朋友。获取线程当前状态,是挂起还是终止,没有直接的API.这里把自己经常用的这段代码贴出来,与大家分享吧。

#include <stdio.h>
#include <windows.h>
#include <winbase.h>
#include <ntsecapi.h>


#define UNICODE
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
#define STATUS_SUCCESS              ((NTSTATUS) 0x00000000)
#
 
2009-03-04 02:18
网上有一篇关于这个问题的文章,题目叫《防止全局钩子的侵入》,作者不祥。文中简单分析了一下钩子的原理,然后使用了微软的Detours库进行 API拦截。如果只是为了拦截一个函数,使用Detours好像有点儿浪费。本文不使用Detours库,直接对LoadLibraryExW函数进行拦 截。
先说一下全局钩子是怎么进入到我们的程序里来的。假如有个程序A安装了WH_GETMESSAGE的全局钩子,钩子函数在B.dll中,那么当其它程 序在调用GetMessage函数从自己的消息队列中取消息的时候,系统发现程序A安装了WH_GETMESSAGE的全局钩子,就会检查调用 GetMessage的
 
2009-03-04 01:51
DWORD GetFunctionAddress( HMODULE phModule,char* pProcName )
 
2009-03-03 17:29
.text:0040A4CB MyMessageBox    proc near             
.text:0040A4CB
.text:0040A4CB var_24          = dword ptr -24h
.text:0040A4CB var_14          = byte ptr -14h
.text:0040A4CB var_C           = byte ptr -0Ch
.t
 
2009-03-02 23:34
typedef struct _SYSTEM_SERVICE_TABLE
{
    PNTPROC    ServiceTable ;    // array of entry points
    PULONG    CounterTable ;    // array of usage counters . be NULL
    ULONG    ServiceLimit ;    // number of table entries
    UCHAR*  
 
2009-02-26 12:45
 
2009-02-25 13:23
// MainProcessDll.cpp : Defines the entry point for the DLL application.
//
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>

char g_waiguaFullPath[0x100] = {0};
DWORD g_FunAddr = 0;
DWORD g_PatchFunc = 0;
DWORD g_PatchAllHookFun = 0;
DWORD g_CmdLen = 5;
BYTE g_Cmd[0x14] = {0};
LPVOID g_mem = NULL;
DWORD g_hookflag = 0;

WCHAR tt[] = L"tt";

typedef HANDLE (CA
 
2009-02-24 09:44
【文章标题】: 必杀技公布——用特征码定位关键代码,秒杀MFC程序
【文章作者】: 书呆彭
【下载地址】: 自己搜索下载
【使用工具】: VC与OllyICE
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
   本文所讲的方法,其实是一个很古老的方法了。以前,考虑到此法的杀伤力巨大,不便于公布。
 
 
     
 
 
个人档案
 
combojiang
男, 36岁
上次登录:
9月23日
加为好友
 
   
 
文章分类
 
 
 
 
 
 
 
     
 
好友最新文章
 
     
 
最近访客
 
 

jdcbbk

牛琪锴

xinswdong

6121017

sungj55

milertom

whlzyl337

舍瓦归来
     
 
最新评论
 
     
 
背景音乐
 
 
订阅我的空间
 
已有人次访问本空间
 
订阅RSS  什么是RSS?

您也想拥有这样的空间?请点此申请。
     


©2009 Baidu