摘要: 转自看雪:http://bbs.pediy.com/showthread.php?t=126802声明:本文只为研究技术,请所有童鞋切勿使用本文之方法做下那天理难容罪恶不舍之坏事。既是研究游戏保护,那么总要有一个研究对象。本文就以TMD_TP这款游戏保护为例进行分析讲解。请勿对号入座,如有雷同之处。纯属反汇编引擎之错误,不关我的事!转载请注明出处关键字:DNF驱动保护鉴于最近很多同学找上门来求解这那问题,反正这东西又不是绝密档案,放在我手里大半个月了,还不如放出来让大家一起进步算了。另外都是取之看雪还之看雪罢了。索性我也就公布一个全套的方案。绝无其他意思,所以还请同道中人嘴下留情。切勿背地使坏 阅读全文
posted @ 2012-11-29 22:58 瓜蛋 阅读(889) 评论(1) 推荐(0) 编辑
摘要: 前言:最近在学外挂编程,基本都是利用CE,OD调试分析游戏数据,但现在游戏公司用各种保护手段防止我们调试游戏,虽然我们有CE,OD这样的利器但是仍然被游戏驱动保护挡在门外i,真可谓巧妇也难为无米之炊啊。不得已只好暂停学习各种找CALL技术,先了解下游戏驱动保护的门门道道。经过几天的学习,有所收获,特记录下来,以备日后查询。本贴为纯工具过掉保护,下面将用工具+自写驱动过掉它,算是最近学习驱动编程的一次实践吧,希望本文对跟同我一样刚入门的菜鸟有所帮助,欢迎菜鸟一起交流,与君共勉!这次用的游戏是日服目前仍然比较火爆的《巫术online》记得没学驱动保护之前也分析过这个游戏,但被这个游戏保护搞的蓝屏N 阅读全文
posted @ 2012-11-29 22:53 瓜蛋 阅读(3905) 评论(0) 推荐(0) 编辑
摘要: 原文连接:http://bbs.pediy.com/showthread.php?t=138747&highlight=inline+hook转自看雪,写复制到自己博客上慢慢啃,呵呵#include <ntddk.h>//辛苦了几周的成果typedef struct ServiceDescriptorEntry { PVOID *ServiceTableBase; ULONG *ServiceCounterTableBase; //Used only in checked build ULONG NumberOfService; //Null PVOID *ParamTab 阅读全文
posted @ 2012-11-29 22:43 瓜蛋 阅读(2954) 评论(0) 推荐(1) 编辑
摘要: // 将本文完整拷贝, 然后在VC6 下建立控制台程序, 可直接运行~ 看到结果后再来阅读此文// 文章出处甚多, 已不能列出所有连接#include "stdafx.h"#include <stdio.h>/* >>>>>> _declspec(naked) 使用 <<<<<<<<最近学习驱动开发,在写绕过inline hook的代码时,有个问题困扰了我一天,最后发现原来是在内嵌汇编时,没有使用_declspec(naked)导致的,看来是偶的基础知识掌握的不牢固啊(得补一下了 阅读全文
posted @ 2012-11-29 20:06 瓜蛋 阅读(1854) 评论(0) 推荐(0) 编辑
摘要: 来自网上。typedef struct _SERVICE_DESCRIPTOR_TABLE{ PVOID ServiceTableBase; PULONG ServiceCounterTableBase; ULONG NumberOfService; ULONG ParamTableBase;}SERVICE_DESCRIPTOR_TABLE,*PSERVICE_DESCRIPTOR_TABLE; // As KeServiceDescriptorTable only one here on the simple pointextern PSERVICE_DESCRIPT... 阅读全文
posted @ 2012-11-29 16:59 瓜蛋 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 读取当前地址代码(NtOpenProcess):LONG *SSDT_Adr,t_addr,adr;t_addr=(LONG)KeServiceDescriptorTable->ServiceTableBase;SSDT_Adr=(PLONG)(t_addr+0x7a*4);adr=*SSDT_Adr;读取起源地址(NtOpenProcess):UNICODE_STRING SysRoutineName;LONG orgadr;‍RtlInitUnicodeString(&SysRoutineName,L"NtOpenProcess");‍orgadr=(LO 阅读全文
posted @ 2012-11-29 16:53 瓜蛋 阅读(568) 评论(0) 推荐(0) 编辑
摘要: /*--------- 1.c -----------*/#include "1.h"//---------列举进程---------NTSTATUS EnumProcess(){int iCount = 1; //进程计数NTSTATUS status; //返回值PVOID pSi = NULL; /*指向SystemInformationClass的指针,此处为SystemProcessesAndThreadsInformation,即我们所要获取的信息*/PSYSTEM_PROCESS_INFORMATION pSpiNext = NULL; //同上ULONG u 阅读全文
posted @ 2012-11-29 00:32 瓜蛋 阅读(1132) 评论(0) 推荐(0) 编辑