简单分析某游戏debugport清零
简单分析,小弟能力有限如果有什么错误的话,欢迎各位牛牛指正,共同进步嘛第一处清零代码
mov edi, edi
push ebp
mov ebp, esp
push ecx
push esi
mov , 0
call ds:KeGetCurrentIrql
cmp al, 2 //判断中断级
mov esi, offset SpinLock
mov ecx, esi
jb short loc_1002660
call ds:KefAcquireSpinLockAtDpcLevel
mov , 1
jmp short loc_1002669
loc_1002660:
call ds:KfAcquireSpinLock
mov , al
loc_1002669:mov ecx, dword_100D1C0//这里比较关键啦。 dword_100D1C0 这个全局变量很重要
mov edx, offset dword_100D1C0
cmp ecx, edx
jz short loc_10026BA// 这个是个关键比较啦
push ebx
push edi
loc_100267A:
mov edi, dword_100CEDC//这里存放着EPROCESS的下标
mov edi, //CEDC+4的位置正是BC
add edi, //的位置存放着EPROCESS结构的地址
xor eax, eax
xchg eax, //清零
mov eax, dword_100CEDC
mov ebx, //存放着EPROCESS+70位置的内容
mov eax, //CEDC+18位置存放70下标
mov edi, //EPROCESS结构的地址
mov , ebx//写回去防止修改位置
mov ebx, //74的内容
mov , ebx//写回去
mov edi, dword_100CEDC
mov edi, //取78位置
add edi,
xor eax, eax //写回去
stosd
stosd
上面这一段把EPROCESS+70,74,78的位置全部封杀了
防止把BC的位置修改为70,74,78,所以曾经某种方法改位置变得无效了
**** Hidden Message ***** 谢谢分享谢谢分享 来看楼主分享技术了 谢谢分享谢谢分享 学习学习。。。 一段把EPROCESS+70,74,78的位置全部封杀了
防止把BC的位置修改为70,74,78,所以曾经某 回复 1# 香干泥
多谢楼主,学习 清解决零啊 1。本人是文盲,以上内容均看不懂是什么意思;
2。此事与本人一点关系也没有,本人只是来回帖子赚1分苦力的;
3。本人在此留言并不代表本人同意、支持或者反对楼主观点;
4。若本人留言违反国家有关法律、法规,行政命令、条例、文件、规定、协议、管理办法、解释说明等,请管理员及时删除本人跟帖;如未删除,一切责任由管理员承担;
5。因删帖不及时所产生的任何法律(包括宪法、民法、刑法、书法、公检法、基本法、劳动法、婚姻法、输入法、引渡法、担保法、商标法、专利法、广告法、国际法、著作权法、吸星大法、今日说法、与台湾关系法及文中涉及或可能涉及以及未涉及之法,各地社会治安综合管理条例)纠纷或责任本人概不负责;
6。如果需要跨省追捕请联系楼主以及网站管理员或法人代表;
7。此声明最终解释权归本人所有
8。以上的话也是抄下来的。
页:
[1]