首页
社区
课程
招聘
[求助]新手真心求助过tp 清零
发表于: 2013-4-8 12:22 11303

[求助]新手真心求助过tp 清零

2013-4-8 12:22
11303
使用ba w4找到了3处清零地方,下面该怎么做呢? 前两个试过会重启,最后一个未试

kd> g
Breakpoint 0 hit
TesSafe+0x6ef1:
b1f82ef1 8b4624          mov     eax,dword ptr [esi+24h]            修改重启

kd> g
Breakpoint 0 hit
TesSafe+0x22a2:
b1f7e2a2 8b09            mov     ecx,dword ptr [ecx]               修改重启

kd> g
Breakpoint 0 hit
TesSafe+0xbb0f2:
b20370f2 e9c5f1ffff      jmp     TesSafe+0xba2bc (b20362bc)

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
顶上去顶上去
2013-4-8 22:59
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我也是新手,帮你顶一下。
2013-4-10 22:21
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
4
百度搜索 “反游戏保护”  第一页点进去,就有了。
2013-4-10 22:23
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
游戏保护间的斗争这么激烈!!!
2013-4-12 01:51
0
雪    币: 64
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我的方法比较简单,在修改重启的地方下读写断点
然后就会断下来检测地址,有一个可以直接跳到尾部,另外一个VM代码用HOOK来,好像还有一处不过忘了,论坛有一些关于清零的教程你可以查查
看雪搜索 debugport 清零就有很多了,蛮详细的
2013-4-12 20:48
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我刚学,有些比较隐晦,看不太懂,有些就是针对2012年的,TP已经做了更改
2013-4-13 02:28
0
雪    币: 70
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
把校验函数干掉不就行了
2013-5-13 17:30
0
雪    币: 46
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这种技术具体怎么实现
2013-5-13 18:01
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
找到了两个清零的,一个监控的。第三个是VM内部的,同时肩负了清零和监控的重任。但是不知道怎么绕过去,请指点。
2013-5-14 17:45
0
雪    币: 2520
活跃值: (2495)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
11
A兄又来做广告了,哈哈。
2013-5-14 17:46
0
雪    币: 64
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
清零推荐是向上回溯找清零call,就是call xxxxxxxx,我记得是3个call挤在一起,你回溯时向上找的第一个就是了,直接把那1个call nop掉,好处:不会检测到,我记得有两处可以这样处理好像,不过应该是至少有3处的,还有一处是pop清零,pop完之后是一个jmp(pop [edx]还是pop [ebx]的你自己视情况而定,)方法是HOOK它,直接破坏掉整个pop jmp,改写成jmp 自己的函数(记得先保存它原始jmp地址),函数内容就是检测ebx的值是否为debugport地址,是的话,就add esp,4,然后跳去你保存的那个原始jmp地址吧,如果判断不是debugport地址,就直接pop[edx] jmp(不一定是edx哈)     还有监控就是push [EDX] jmp这样的吧,同样和上面的清零一样,不过这次如果判断是目标地址就不是add esp了,而是push 0(为什么要push 0?因为如果debugport正常的时候就是0,所以我们push 0等于在欺骗它,说debugport很正常,其实一点都不正常=¥=,监控就是这样啦
2013-5-20 12:50
0
雪    币: 346
活跃值: (129)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
13
有些地方有校验的 把校验的地方PASS了
或让port 移位
2013-5-21 18:21
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
为什么都看不了啊 我也注册了还提示我不能看~
2013-5-22 09:13
0
雪    币: 691
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
a总,求教。我提取了a盾的重载内核代码,如果我在ring0是里调用ntOpenProcess,ntReadVirtaulMemory和ntWirteMemory这些函数,在里面调到什么方法又跑到旧内核去,比如像memcpy这种函数。

我感觉有小心都会跑到旧内核去,比如:
a()
{
b()
}

b会调到c,有可能会跑到旧内核吗
2013-5-23 16:23
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
16
自己WINDBG u一下重载后的A函数和原始内核的A函数对比就知道了。
2013-5-24 13:49
0
游客
登录 | 注册 方可回帖
返回