签到天数: 13 天 [LV.3]偶尔看看II
LV 5 (爱好者)
忘了无极破风吧 DanoR是我
 
- 积分
- 750
- P币
- 145
- 笔魂
- 41
|
快点注册登录,一起玩更精彩!
您需要 登录 才可以下载或查看,没有帐号?加入我们
x
zhutas那个思路要破解起来太容易了,我没试过不知行不行,但高手肯定能easy地破解,我这个思路是用我半吊子的病毒编程技术想的,分享一下,对于我来说,不仅实现困难,连那些高手破解起来也需要时间,呵呵
; Z& t4 u. n# E. a+ d
1 f! M* n! ~7 |* e, c! u" ~目的:不让新的程序运行..
7 ? w0 k- i9 G: [, u5 l/ Q1 ^) h5 x, [4 l3 ]0 z
思路:
4 p3 x$ T; A3 K! T1、能修改注册表的API不外乎以下这20多个,
( h2 `5 U! K. y管理类 RegCloseKey() RegCreateKey() RegCreateKeyEx() RegDeleteKey() / g4 c0 |. X f5 w2 n- Q
RegDeleteKeyEx() RegOpenKey() RegOpenKeyEx()
; B4 y& D7 A0 ]+ V5 E值管理类 RegDeleteValue() RegQueryValue() RegQueryValueEx() RegSetValue() $ X/ @- ], I4 ]3 f3 C8 t5 \
RegSetValueEx()
! |4 m/ s8 n, ]+ ^$ y% _% _* v查询计数类 RegQueryInfoKey() RegEnumKey() RegEnumKeyEx() RegEnumValue()
7 j! @! r$ z/ \备份/恢复类 RegLoadKey() RegReplaceKey() RegRestoreKey() RegSaveKey()
0 j9 C( D5 y7 r0 U实用类 RegConnectRegistry() RegNotifyChangeKeyValue() RegUnloadKey()
. ~7 Z1 h! |' g. z3 ?$ G安全类(仅适用于NT) RegGetKeySecurity() RegSetKeySecurity()
% m2 k( ?7 w; R0 ], t$ A3 t
/ Z9 O5 X0 @) l9 F所以,只要控制了这20多个的API,就可以了。7 R$ ?* W6 @7 n. U/ u" \7 m
g9 h7 G$ T- S4 Q- y
2、单纯的Hook是靠不住的,随便一个厉害一点的工程师就能把hook卸载下来。但是没hook也不行,不过我们要用不同级别的hook——ring0 hook,
6 ^# d" Y; L7 m( }& P' y3 V4 p+ M) X J5 s+ o5 B! G/ m E9 _) U
3、用汇编语言编写驱动,直接进入ring0层,强制控制SSDT服务列表,然后hook住,不让一般的程序恢复
: \+ ~6 S7 D1 }0 t3 X" q
# c2 s* K3 D# k( z3 M2 D# Q+ d4、顺便给自己开一个小道修改注册表,以实现目的,不过这个修改,也是需要加密解密的(不然都让其他软件用去了)* b9 M: O$ w+ G- N7 T+ {* g
% B" m, _ {. U+ J: e8 Z8 T, @4 V
大概就这样,高手肯定也能破解,不过费时间而已。1 g* ~ A5 u" M4 e9 P3 o8 u8 |# Q
# F9 ]7 n4 N. [( Q0 V, ?; _* _
吡~~完毕,鲜花送上(我知道肯定没有)
' C1 @9 N1 E |) x
. V' I" z' s: d3 }$ f5 z[ 本帖最后由 ted14 于 2009-2-4 12:39 编辑 ] |
|