zhangrong 发表于 2018-3-2 13:09:09

GalaxyAP过游戏反调试框架源码


这个工程我以前用来在XP上跑过DNF,DN,只为好玩目的,还没写过辅助。
声明:用这套代码干了什么坏事与我无关

工程说明:
1.GalaxyAP      应用程序
2。HookPortBypass      重加载内核(包括nt和win32k)
3。TEST_KIDISPAT      自分发异常(朋友帮忙实现了部分,代码主要来源WRK)

这套GalaxyAP工程主要实现了:
1。重加载内核(借助 hookport思路配合peloader)
2.自实现异常分发的几个主要函数
3。自创建debugobject,使用另一个object
3。也使用了另一个fastmute
4。自己发现吧。。。

PS:驱动的加载有时候在游戏前好使有时候在启动游戏后好使
PPS:这货也只能在XP上跑了

实现了HOOK框架,只需要按下面填写即可

//这是为了HOOK原来的ntos,转到新的os中
VOID (WINAPI *DUMMYFUCK )(INPVOID   Object);
// VOID (WINAPI *PspUserThreadStartup )(INPVOID   Object);
// VOID (WINAPI *PspSystemThreadStartup )(INPVOID   Object);

HX_DYNC_FUNCTION dync_Old2New[]={
                        DECL_DYNCFUN_HOOK_Old2New(PspUserThreadStartup),
                              DECL_DYNCFUN_HOOK_Old2New(PspSystemThreadStartup),
                              DECL_DYNCFUN_HOOK_Old2New(ObCloseHandle),
                              DECL_DYNCFUN_HOOK_Old2New(PspProcessDelete),
                              DECL_DYNCFUN_HOOK_Old2New(pIofCallDriver),
                              DECL_DYNCFUN_HOOK_Old2New(KiTrap03),
                              DECL_DYNCFUN_HOOK_Old2New(ObpCreateHandle),      //为了跳过ObCheckObjectAccess
/*
                              kd> dps nt!pIofCallDriver l8
                              8054c400804eedc8 nt!IopfCallDriver                //就搞这个。归类到fengyue驱动去      
                              8054c404804f12c0 nt!IopfCompleteRequest
                              8054c408804f0a00 nt!IopAllocateIrpPrivate
                              8054c40c804ef0e6 nt!IopFreeIrp
                              8054c41000000000
8054c41400000000
*/
      //      DECL_DYNCFUN_HOOK_Old2New(KeStackAttachProcess),
      //      DECL_DYNCFUN_HOOK_Old2New(KeAttachProcess),
};


//这个需要另外HOOK的函数 ,old os 中的,把这些不经过hookport的转到自己的实现中
HX_DYNC_FUNCTION dync_funs_hook[]={
                              DECL_DYNCFUN_HOOK(DbgkCreateThread),
                              DECL_DYNCFUN_HOOK(DbgkExitThread),
                              DECL_DYNCFUN_HOOK(DbgkExitProcess),
                              DECL_DYNCFUN_HOOK(DbgkMapViewOfSection),
                              DECL_DYNCFUN_HOOK(DbgkpMarkProcessPeb),

      //      DECL_DYNCFUN_HOOK(NtCreateDebugObject),
                DECL_DYNCFUN_HOOK(DbgkForwardException),

//            DECL_DYNCFUN_HOOK(KiDispatchException),               
                //使用强大的特征码直接patch KiDispatchException中比较debugport部分
                //s -b 804d8000 806ce100 64 A1 24 01 00 00 8B 4044 39 B8 BC 00 00 00
};

//这是实现自己分发函数需要用到的
HX_DYNC_FUNCTION dync_funs[]={
                DECL_DYNCFUN(KeUserExceptionDispatcher),
                DECL_DYNCFUN(KeI386XMMIPresent),
                DECL_DYNCFUN(PsImageNotifyEnabled),
                DECL_DYNCFUN(PsNtDllPathName),
                DECL_DYNCFUN(KeFeatureBits),
                DECL_DYNCFUN(PsSystemDllBase),
                DECL_DYNCFUN(PsGetNextProcess),
                DECL_DYNCFUN(PsGetNextProcessThread),

**** Hidden Message *****

1069819564 发表于 2018-8-17 13:04:56

支持楼主,支持看流星社区,以后我会经常来!

adebuggO 发表于 2019-6-9 22:42:08

支持楼主,支持看流星社区,以后我会经常来

虾仁12138 发表于 2019-10-28 22:15:33

666666666666666666666666

bigfoot 发表于 2019-11-17 22:26:07

雁过留声,看帖必回;看帖不回,无人道!

virword 发表于 2019-12-8 21:03:00

在驱动里面枚举进程列表 [修改]

qq444255022 发表于 2020-1-10 16:00:24


支持楼主,支持看流星社区,以后我会经常来

是馆长 发表于 2020-2-15 16:33:00

支持楼主,支持看流星社区,以后我会经常来!
页: [1]
查看完整版本: GalaxyAP过游戏反调试框架源码