山东001在线
标题:
解析某南极动物厂新版XX分析——系统线程部分(新瓶旧2023/3/30 16:04:20
[打印本页]
作者:
刘冠华
时间:
2023-3-30 16:04
标题:
解析某南极动物厂新版XX分析——系统线程部分(新瓶旧2023/3/30 16:04:20
这里分析的是6月号的版本,由于某些原因这里隐去敏感内容
调试驱动
的相关知识也可以到网站具体了解一下,有专业的客服人员为您全面解读,相信会有一个好的合作!
目前静态分析跟踪到7个系统线程创建,线程创建过程如下:
先判断是否存在
如果不存在则搜索SSAP中的FFE1特征码
根据如果成功搜索到上述则把线程入口指向上述,线程参数指向原真线程入口(也就是=真线程入口,并且)
然后调用创建系统线程
目前分析到的7个线程分别是:
CKSUDKDET
AKDT
CGPDT
CKTAT
GCCT
_(作用不明,可能代码被注释或功能暂未装)
CKSUDKDET:
判断KSHARED_USER_DATA-KDE1或2?
每5秒检测一次,如果判断为则蓝屏
AKDT:
如果系统版本大于等于7则执行2D指令触发SEH(由于静态分析法分析SEH所以之后不知道发生了什么)
否则调用KDD
每5秒执行一次上述功能
CGPDT:
EFGP(APD);对所有受XX保护的GP执行APD回调
如果EPROCESSDP!=0则触发蓝屏
上述检测每秒执行一次
CKTAT:
检测系统时间是否被加速,导致KDET的等待时间结果跟HQRTC时间差不一致
如果时间不一致:
如果某开关开启,则上报服务器,否则蓝屏
上述检测每1秒执行一次
GCCT:
检测4是否为1
如果为1:
如果某开关开启,则上报服务器,否则强制结束游戏(对__数组里的所有进程ZTP)
除此之外还对所有游戏进程检测SHARED_USER_DATA
EFGP(CSUD);
检测如下:
判断R3和R0的KSHARED_USER_DATA的物理地址是否一致
如果物理地址不一致:
如果某开关开启,则上报服务器,否则强制结束游戏
上述检测每秒执行一次
APCCT:
对PID为~0000的所有进程枚举句柄表
如果句柄OT==*PPT且拥有该句柄的进程不是受保护的游戏进程且进程句柄指向的进程是受保护的游戏进程
则进行句柄降权
遍历PID为~0000的所有进程,遍历其内部的从8~000的所有句柄,如果是SECTION类型且称包含
L"\\TX_SSO_SHARE_INFO_SIZE"
L"\\TENPROTECT3_SHARE_DATA_"
L"\\TENPROTECT6_SHARE_DATA_"
则
如果该进程是受保护的游戏进程,则什么都不做
如果该进程不是受保护的游戏进程,且该进程仍然存活(未退出),则上报服务器
(猜测:此举可能是为了防止有人强制清空受保护的游戏数组__)
上述检测每秒执行一次
欢迎光临 山东001在线 (http://u.sd001.com/)
Powered by Discuz! X3.4