c语言保护字,关于腾讯的游戏保护

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

.text:01001100                 push    4

.text:01001102                 pop     ecx

.text:01001103                 mov     edi, eax

.text:01001105                 mov     esi, ebx

.text:01001107                 xor     edx, edx

.text:01001109                 repe cmpsd

.text:0100110B                 jnz     short loc_1001111

.text:0100110D                 cmp     ebx, eax

.text:0100110F                 jnz     short loc_1001124

.text:01001111

.text:01001111 loc_1001111:                            ; CODE XREF: sub_10010D8+21j

.text:01001111                                         ; sub_10010D8+33j

.text:01001111                 inc     [ebp+var_4]

.text:01001114                 cmp     [ebp+var_4], 100h

.text:0100111B                 jl      short loc_10010E5

.text:0100111D                 xor     eax, eax

.text:0100111F

.text:0100111F loc_100111F:                            ; CODE XREF: sub_10010D8+4Ej

.text:0100111F                 pop     edi

.text:01001120                 pop     esi

.text:01001121                 pop     ebx

.text:01001122                 leave

.text:01001123                 retn

.text:01001124 ; ---------------------------------------------------------------------------

.text:01001124

.text:01001124 loc_1001124:                            ; CODE XREF: sub_10010D8+37j

.text:01001124                 mov     eax, ebx

.text:01001126                 jmp     short loc_100111F

.text:01001126 sub_10010D8     endp

这个函数是用来找shadow ssdt的。因为shadow ssdt 是未导出的结构,所以比ssdt麻烦些。可以通过一个导出函数KeAddSystemServiceTable找到,因为里面包含了此结构。该结构第一个table 是ssdt, 第二个才是shadow ssdt。而且函数中也有ssdt地址。所以搜索内存时,碰到内存是valid,且前16个字节与ssdt相同,且地址与ssdt不同,我们就找到了shadow ssdt。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值