首页
社区
课程
招聘
[分享]如何过TP清0的方法(最新TP有三处清0)
发表于: 2012-2-1 17:58 52268

[分享]如何过TP清0的方法(最新TP有三处清0)

2012-2-1 17:58
52268
收藏
免费 6
支持
分享
最新回复 (46)
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
有必要吗 这东西还当宝一样 只不过有的TP版本没有自效验 坐等TP全加自效验 一修改就写入重启指令
2012-2-10 21:00
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27


jerrynpc 这人你还不清楚?

整天弄得牛B轰轰的 , 没见过他拿出半点东西来

这样就气得你删贴?

年轻人!你太单纯了
2012-2-10 21:55
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
唉...总有**
感觉看雪里面为了破解外挂而来的越来越多了

对不起楼主了,我还是要把快照里的搬过来
毕竟我之前mark了这个贴

这段时间一直在研究tp驱动
我觉得TP清0相对难一点其他都比较间单~~~
在这要感谢这篇文章的兄弟
http://bbs.pediy.com/showthread.php?t=126802&highlight=tp
虽然用他给出的代码没有过掉TP但是用他给出的思路
分析总结了crazyearl一下:
1.定位TP驱动模块的首地址.
2.如何定位特征大家可以参考
http://bbs.pediy.com/showthread.php?t=127246&highlight=DebugPort
这篇文章我通过IDA  XT找到的特征码
3.再找岀一处监控.二处清0代码的首址!!!!!!!!!!!
这重点呢
3.找到这三处的首地址后注意了先要干掉监控在干掉清0

NTSTATUS My_Recovery_Debugport()
{
  NTSTATUS stats;

  
  
   KIRQL  Irql;

  BYTE  C390[2] = {0xc3,0x90};

  
  //首先干掉监视函数
  
      
      WPOFF();  //清除CR0
      //提升IRQL中断级
      Irql=KeRaiseIrqlToDpcLevel();
      //写入
      RtlCopyMemory(ps2,C390,2);
      //恢复Irql
      KeLowerIrql(Irql);
      WPON();    //恢复CR0

  return  STATUS_SUCCESS;
}
  
  //干掉2个SD
NTSTATUS My_Recovery_Debugport1()
{
  NTSTATUS stats;

  
  
   KIRQL  Irql;

  BYTE  C390[2] = {0xc3,0x90};  
      
      WPOFF();  //清除CR0
      //提升IRQL中断级
      Irql=KeRaiseIrqlToDpcLevel();
      //写入
      RtlCopyMemory(ps,C390,2);
      //恢复Irql
      KeLowerIrql(Irql);
      WPON();    //恢复CR0

  return  STATUS_SUCCESS;
}
NTSTATUS My_Recovery_Debugport2()
{
  NTSTATUS stats;

  
  
   KIRQL  Irql;

  BYTE  C390[2] = {0xc3,0x90};     
  
      WPOFF();  //清除CR0
      //提升IRQL中断级
      Irql=KeRaiseIrqlToDpcLevel();
      //写入
      RtlCopyMemory(ps1,C390,2);
      //恢复Irql
      KeLowerIrql(Irql);
      WPON();    //恢复CR0
   

  return  STATUS_SUCCESS;
}

这是修改crazyearl的代码我没有用他找特征码的代码自己写了一段汇编代码找到了首地址
哈如何查找特征码的代码我就不发了
因为现在许多都靠过TP驱动吃饭>>
我想说  crazyearl  的方法是有效地
2012-2-17 05:48
0
雪    币: 421
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
29
为了一个人说话,让大家都没的看。不知道你发帖时为了什么?汗。太冲动了吧。
2012-2-17 15:58
0
雪    币: 421
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
30
标 题: 【分享】如何过TP清0的方法
作 者: wangweilll
时 间: 2012-02-01,17:58:04
链 接: http://bbs.pediy.com/showthread.php?t=145968

这段时间一直在研究tp驱动
我觉得TP清0相对难一点其他都比较间单~~~
在这要感谢这篇文章的兄弟
http://bbs.pediy.com/showthread.php?t=126802&highlight=tp
虽然用他给出的代码没有过掉TP但是用他给出的思路
分析总结了crazyearl一下:
1.定位TP驱动模块的首地址.
2.如何定位特征大家可以参考
http://bbs.pediy.com/showthread.php?t=127246&highlight=DebugPort
这篇文章我通过IDA  XT找到的特征码
3.再找岀一处监控.二处清0代码的首址!!!!!!!!!!!
这重点呢
3.找到这三处的首地址后注意了先要干掉监控在干掉清0
NTSTATUS My_Recovery_Debugport()
{
  NTSTATUS stats;
 
  
  
   KIRQL  Irql;

  BYTE  C390[2] = {0xc3,0x90};
 
  
  //首先干掉监视函数
  
      
      WPOFF();  //清除CR0
      //提升IRQL中断级
      Irql=KeRaiseIrqlToDpcLevel();
      //写入
      RtlCopyMemory(ps2,C390,2);
      //恢复Irql
      KeLowerIrql(Irql);
      WPON();    //恢复CR0
 
  return  STATUS_SUCCESS;
}
  
  //干掉2个SD
NTSTATUS My_Recovery_Debugport1()
{
  NTSTATUS stats;
 
  
  
   KIRQL  Irql;

  BYTE  C390[2] = {0xc3,0x90};  
      
      WPOFF();  //清除CR0
      //提升IRQL中断级
      Irql=KeRaiseIrqlToDpcLevel();
      //写入
      RtlCopyMemory(ps,C390,2);
      //恢复Irql
      KeLowerIrql(Irql);
      WPON();    //恢复CR0
 
  return  STATUS_SUCCESS;
}
NTSTATUS My_Recovery_Debugport2()
{
  NTSTATUS stats;
 
  
  
   KIRQL  Irql;

  BYTE  C390[2] = {0xc3,0x90};     
  
      WPOFF();  //清除CR0
      //提升IRQL中断级
      Irql=KeRaiseIrqlToDpcLevel();
      //写入
      RtlCopyMemory(ps1,C390,2);
      //恢复Irql
      KeLowerIrql(Irql);
      WPON();    //恢复CR0
    
 
  return  STATUS_SUCCESS;
}

这是修改crazyearl的代码我没有用他找特征码的代码自己写了一段汇编代码找到了首地址
哈如何查找特征码的代码我就不发了
因为现在许多都靠过TP驱动吃饭>>
我想说  crazyearl  的方法是有效地  

Mark下。度娘也算是给力。不然没的看了。
2012-2-17 16:02
0
雪    币: 7
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
DXF内存数据特点:
1、加密保存
2、存在内存里的数据会根据存储位置不同而不同
3、内存加密数据保存双份,更改其中一份会引起3525:0内存校验错误
DXF内存数据加密算法为:
1、使用一个基址保存一个密钥,一般密钥的32位十六进制表示为0x9CDEEF02
2、使用一个动态索引来控制实际存储数据的位置
3、使用一个32位整数来保证索引的正确性
4、随着索引的变换,保存数据的位置会定时变换,保存的内容也会随着地址的变换而变换。

索引校验算法:(记不太清楚这个了,因为这个不太重要)
校验值的地址 - (密钥(另一个密钥,不是0x9CDEEF02) xor 校验值) = 索引

然后根据索引得到加密数据的算法为:

([[一个基址] + 0x44] + (索引 * 4)) xor (这个地址存储的值) xor 0x9cdeef02 = 真实值

说的不太清楚,呵呵,有想知道具体的加Q共同探讨,另外有关TP,HS,HP保护的也可以共同研究哈
QQ(主账号是邮箱):heyoup@yeah.net
2012-2-18 23:03
0
雪    币: 454
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
能写这样的心得都不简单了,干嘛因个别人的闲话删帖去呢?
2012-2-18 23:21
0
雪    币: 1905
活跃值: (1542)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
33
顶楼主。对于旁人。你管他说什么。妒忌的人会说妒忌的话。淡定淡定。
2012-2-18 23:22
0
雪    币: 508
活跃值: (202)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
34
由于某人说的兄弟一气之下删除了贴子

现在想来也是像其网友说可能触犯某些的饭碗~~~~~~~~~~~~~~
现在恢复也增加了一些东西
希望朋友多给些意见
2012-2-27 14:10
0
雪    币: 85
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
谢谢楼主虽然暂时对我没用
2012-2-27 17:10
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
文章不错

31q
2012-2-27 17:24
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
第三处清零是vm的
怎么过能给点提示吗
2012-2-27 23:38
0
雪    币: 508
活跃值: (202)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
38
到断在第三地方~~~~~~~~~~~~~~
在命令行写 p   ret
好像6次就可以到调用第三清0的CALL了
具体多少次我也不记得了~~~~~~~~
在用IDA 找到相应的CALL 的首地址 就OK了
2012-2-28 10:22
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
楼主写的好 还带图的 ~
2012-2-28 11:12
0
雪    币: 1736
活跃值: (847)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
学习了~~这里经常硝烟弥漫的,蛋定~
2012-3-25 22:11
0
雪    币: 167
活跃值: (120)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
41
膜拜膜拜,mark一下
2012-3-25 22:39
0
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
收下
2012-3-26 00:09
0
雪    币: 506
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
楼主是性情中人呵呵。
2012-3-26 07:42
0
雪    币: 506
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
红脸汉子。。。
2012-3-26 07:43
0
雪    币: 376
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
在syser里用bpm    EPROCESS+BC  w下断提示Invalid Address,鼠标还经常不能用。。。
2012-4-2 11:39
0
雪    币: 198
活跃值: (103)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
mark一下 以后用到
2012-4-3 00:22
0
雪    币: 255
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
我也mark一下,要学的东西太多了
2012-4-27 09:35
0
游客
登录 | 注册 方可回帖
返回
//