签到天数: 13 天 [LV.3]偶尔看看II
LV 5 (爱好者)
忘了无极破风吧 DanoR是我
 
- 积分
- 750
- P币
- 145
- 笔魂
- 41
|
快点注册登录,一起玩更精彩!
您需要 登录 才可以下载或查看,没有帐号?加入我们
x
zhutas那个思路要破解起来太容易了,我没试过不知行不行,但高手肯定能easy地破解,我这个思路是用我半吊子的病毒编程技术想的,分享一下,对于我来说,不仅实现困难,连那些高手破解起来也需要时间,呵呵
7 Z( Y+ K, X& |+ |) U# V! Q# _
n9 j) x- F7 Z% i+ B9 M$ S" h目的:不让新的程序运行..) ?& o& h, c+ [3 ?( B3 t2 H
# Y( S4 [% s. a. ?7 V" E
思路:$ f9 A* t5 F0 j0 B7 `' R5 ~( z
1、能修改注册表的API不外乎以下这20多个,
! Z! g' {- c+ x1 I管理类 RegCloseKey() RegCreateKey() RegCreateKeyEx() RegDeleteKey() 6 S* X4 X+ T4 r+ F
RegDeleteKeyEx() RegOpenKey() RegOpenKeyEx() ' c( T$ R3 \+ }& P5 X
值管理类 RegDeleteValue() RegQueryValue() RegQueryValueEx() RegSetValue() , L5 a4 D0 ?0 r! ^5 d" J
RegSetValueEx() % D2 F' g7 X i( ` D# N3 i
查询计数类 RegQueryInfoKey() RegEnumKey() RegEnumKeyEx() RegEnumValue() " \% q+ I" w3 l- c% u5 G) k
备份/恢复类 RegLoadKey() RegReplaceKey() RegRestoreKey() RegSaveKey() , x2 f+ M" `' M: r+ ^
实用类 RegConnectRegistry() RegNotifyChangeKeyValue() RegUnloadKey()
p. K6 x5 ^6 ?# f% w$ C/ D安全类(仅适用于NT) RegGetKeySecurity() RegSetKeySecurity()
# v, z5 `( m; E# N# n; p0 J- L& o0 f$ V, W. N1 |* u5 s& ]. a% N
所以,只要控制了这20多个的API,就可以了。
8 j& H, B! I/ L6 w, A' x) y: V# `0 p7 y0 M9 L# T
2、单纯的Hook是靠不住的,随便一个厉害一点的工程师就能把hook卸载下来。但是没hook也不行,不过我们要用不同级别的hook——ring0 hook,( Z: b5 r1 H z- c& S6 v, k0 z1 t
) T7 k+ [ G4 D# j: o5 E
3、用汇编语言编写驱动,直接进入ring0层,强制控制SSDT服务列表,然后hook住,不让一般的程序恢复
8 f' w" l- M* h: H/ \
! F/ r2 m: {- v5 Q" b: ?4、顺便给自己开一个小道修改注册表,以实现目的,不过这个修改,也是需要加密解密的(不然都让其他软件用去了)! a: L, ?) I3 a' m4 `1 s4 r
% G0 M8 r, d3 K) G+ S
大概就这样,高手肯定也能破解,不过费时间而已。
- O" Z( N( N" G. r$ E; O, z+ [; e9 |* S1 z# L1 Y, n; e
吡~~完毕,鲜花送上(我知道肯定没有). V6 [! r* p9 F2 \4 D3 I
! X6 A7 a+ G6 A O- \) Y. I, f8 v7 H
[ 本帖最后由 ted14 于 2009-2-4 12:39 编辑 ] |
|