问一个简单问题,各位大虾请进,分不够就说啊,上次送出去1K分,现在没分了

LLnju 2002-01-01 10:29:43
请问各位大虾,应该怎么样判断自己被跟踪,像被softice什么的跟踪。我要写个验证注册码的东东,需要这个,因为功力不够,只好不让人看到里面比较丢人的东西了,请各位提提好的建议,一旦采纳将有重奖。大家看到了,10G素数求解时,我对好的算法,好的思路一贯是采取高分奖赏的办法的。现在我没分了,但是我会不断加的。thx
...全文
286 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
LLnju 2002-01-07
  • 打赏
  • 举报
回复
虽然没搞定,还是先把分给了
stl_liu 2002-01-04
  • 打赏
  • 举报
回复
应该会增加一些复杂性,这方面我也没什么经验。
LLnju 2002-01-04
  • 打赏
  • 举报
回复
to stl_liu:
非常感谢你的解答,让我试试,顺便问问,如果我把组件写成一个 服务 对安全性有无帮助呢,像 softice 调试服务应该会麻烦一点吧,其实我可以控制的东西是很多的,并且我可以假定这台机子基本上不会运行别的程序,所以呢我可以用些比较简单的办法。
stl_liu 2002-01-04
  • 打赏
  • 举报
回复
如果是在Win2K下,方法就少多了,再给出一个简单方法:

利用SoftICE留给BoundsChecker的后门,判断SoftICE是否留住内存

MOV EBP,04243484Bh
MOV AX, 4h
INT 3
CMP AL, 4
JNZ SoftICE_is_running

如果SOFTICE在内存中,AL=0。注意:这段代码要用结构异常处理,否则,当SOFTICE不存在时会引起非法操作。这个方法在win9X和win2K下都有效。

我的第一种方法(C的代码)对WIN2K也有效。

再次强调,反跟踪方法只能给解密者增加麻烦,不会根本解决问题。
LLnju 2002-01-03
  • 打赏
  • 举报
回复
5~5~~5~~~5~~~~
LLnju 2002-01-03
  • 打赏
  • 举报
回复
不会吧,这的没人里我啊
stl_liu 2002-01-03
  • 打赏
  • 举报
回复
下面方法可以检测SoftICE、TRW2000、FILEMON、REGMON等跟踪或者检测程序是否驻留内存:(当然要替换其中的字符串部分)

if (_lopen("\\\\.\\NTICE", OF_READWRITE) != HFILE_ERROR)
{
printf("SoftICE detected!");
}

但是这个方法,对于跟踪高手也有对策,这里就不说了。
shipatrioc 2002-01-03
  • 打赏
  • 举报
回复
g z g z
liubingqian 2002-01-03
  • 打赏
  • 举报
回复
怎么样判断自己的程序被跟踪,在1998年(好像是1998年的,要不就是1997年的)的《电脑爱好者》上有一篇文章讲的很好,你可以找找以前的合定本看看。但那是用QuickBASIC语言举例的,但应该很容易改成C/C++程序。
LLnju 2002-01-03
  • 打赏
  • 举报
回复
分数不是问题,大家就帮帮忙呢!!!!
LLnju 2002-01-03
  • 打赏
  • 举报
回复
to stl_liu: 如果在Win2K下怎么做呢,我的程序肯定是在Win2K下使用,所以不能用VxD.
stl_liu 2002-01-03
  • 打赏
  • 举报
回复
To LLnju:
你给出的捕获异常的方法不一定行。
stl_liu 2002-01-03
  • 打赏
  • 举报
回复
我说的只是一种最简单的方法,如果别人知道你的检测方法,任何手段都有漏洞,就像你说的那样。所知的反跟踪方法不下10种。

下面举个例子:
PUSH EDI
PUSH 4F
PUSH 2A002A
CALL kernel32_1 //ORD_1 or VxdCall
SUB AX,F386
POP EDI
JZ SoftICE_is_running

其中,4F号子功能用来查询调试器是否已经驻留内存,并且能否处理保护模式,如果是,返回0XF386。这段代码要用到VWIN32.VxD。
LLnju 2002-01-03
  • 打赏
  • 举报
回复
有这样的一个办法,大家给我看看行不行:
在 Debug 运行模式下 , int 3 指令将被调试器捕获,而在 普通运行模式下, int 3 指令将产生 0X80000003 异常,可以这样:

try {
__asm int 3
}
catch(...)
{
//Normal ....
}
//DEBUG ......

当然这段代码我可以让他动态的生成,并经过几个随机的跳转后运行到此,大家帮我看看有什么问题。
LLnju 2002-01-03
  • 打赏
  • 举报
回复
to stl_liu:能简单介绍一下你的原理吗?
还有,我本来想检测一下系统里有没有 SoftIce 等等的进程,但是这好像不是个办法,别人可以改个名字,应该有有效的方法吧。
LLnju 2002-01-02
  • 打赏
  • 举报
回复
upgz
LLnju 2002-01-02
  • 打赏
  • 举报
回复
gzup
LLnju 2002-01-02
  • 打赏
  • 举报
回复
老大,我是要自己写个注册码验证的东东,不是要用别人的加密产品,有谁知道他的加密强度到底有多强呢?中国别的行业不行,解密绝对一流。并且我们的东东不能用这种家伙的,这个受条件制约。
还有,加密算法我这要什么有什么,RSA,DSA,DES,IDEA,GOST,3Way,MD2,MD4,MD5,SHA,SHA256,这都不成问题,我只是希望自己的程序在被跟踪的时候能够异常结束,大家看看有没有什么方案。
办法也大概有了,只是我们的东东大部分都是 VB 的,大家知道VB要实现上面的东东确实不容易,至少我不会,因此要在 VB 中调用外部的组件,如果都是 VC 的,我就不会麻烦大家了。所以我必须保证我写的加密组件不被人替换,主要的方法当然是签名并在VB中验证,但是我觉得我的设计里可能存在很多的问题,所以不想让人看到我的具体方案。
加密的主体部分我会让他根据一定的条件动态生成的,也就是不会被人静态的反编译,但问题是别人可以在我解码完后跟踪到解码出来的代码里面,所以我的目的肯定无法达到了,呵呵。
再说一次,我不是需要一个完整的加密方案,我只需要你们能够提供一个办法让我能够监测到自己是否被人跟踪,就这个简单的问题,各位大虾帮帮忙呢!!!
有谁对加密、解密比较感兴趣的,能不能留下联系方法,大家来讨论讨论。我的Email:LLnju79@hotmail.com,上班时间都在msn上。
popy007 2002-01-02
  • 打赏
  • 举报
回复
gz!!!!!
i12know 2002-01-02
  • 打赏
  • 举报
回复
好啊,好啊
加载更多回复(17)

69,335

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧