QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3953|回复: 6
打印 上一主题 下一主题

软件破解常见问题

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-3-20 13:50 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
软件破解常见问题 ! m3 _8 Y# N( c% {0 d

来源:看雪学院

O/ ^$ n# {5 m1 i

# f5 ?* J; s0 T7 h

! D, w8 o/ h% c7 K/ l" K3 B- E& m* L& v& N! J7 X- t' O! S2 r L0 @- y% Y% X2 N" Y2 ^5 z% c3 ^) P2 g- _- a/ ?1 u* b& c2 L# ?* `' n8 C
我系统是win9x,每次SOFTICE都自动装载,在windows下一按CTRL+D自动激活它,有什么办法解决?
这是SOFTICE安装时默认时改变了AUTOEXEC.BAT,自动加了一行wince.exe。每次系统启动时自动运行AUTOEXEC.BAT时将SOFTICE装载,你只要去掉这一行,问题就解决了。在你需要用SOFTICE时,在纯DOS环境下,在SOFTICE目录执行winice.exe文件即可装载。你也可自建一批处理命令来在纯DOS下装载SOFTICE。
0 ^1 F& D) T2 M# t4 T* w8 ? 9 Y5 J# p3 q. k3 Z+ R" s' o j1 l; V' N/ s4 k* [( N( w1 D) K1 F: o, M1 a+ i- G1 T* E: H. A) T) i* }* n/ v) K0 P! T# y$ `: |9 P+ A+ J- U% Y# j: S& @( i9 n
2、如何知道软件是被什么加的密?
用TYP或GetTyp侦测文件类型或用procdump查看文件的section就可以知道用什么加密 .
+ m8 f8 w5 r8 f; J6 d" c ' B8 K/ t3 v$ o8 X+ ~: e/ n! B7 U2 L0 Y3 P- ~. S Z7 q" g, V' _& _8 }( l4 z7 \* x! P4 |+ V2 S" n9 K4 Z& e4 u B( F& ^( c y, R3 p4 v5 B. r1 R5 R4 V* k; a+ g3 y
3、经常看到脱壳时下命令bpx loadlibrarya, 下命令后SOFTICE告知未定义,我的SOFTICE怎么拦不住?
在 softice 的目录下有一个文件叫 winice.dat % b7 M* q4 S6 |3 Q. r 其实是个文本文件,将这文件的最后几行把他改成如下 : + s- U; A7 D& p- L, L前面有分号的就是注解,把后面有 *32.dll 的方号去掉就行了 y9 d0 r( t5 [7 [顺便加上 vb5, vb6 的 dll, 也可拦 vb 的 function 了 ) l# A5 L$ W M! L

EXP=c:\windows\system\kernel32.dll 1 A" ?4 f! C, ~; s! m) {( x: H EXP=c:\windows\system\user32.dll ( M! h# v9 v2 s# g. U EXP=c:\windows\system\gdi32.dll : Z: l& H4 v6 P; @; s, M3 Z0 REXP=c:\windows\system\comdlg32.dll # w5 [0 @$ S4 V/ K- O6 U% U EXP=c:\windows\system\shell32.dll 2 J- z1 ?4 d8 Z* x9 B0 {; b! ~ EXP=c:\windows\system\advapi32.dll ; p) k, T5 Q$ N5 x/ VEXP=c:\windows\system\shell232.dll # x, e, I1 u& b) N2 i& NEXP=c:\windows\system\comctl32.dll 4 E+ {: @* O% v& I2 d. A ;EXP=c:\windows\system\crtdll.dll 3 ]& c7 y; V# V3 T;EXP=c:\windows\system\version.dll & D2 h( N, r- O- z! A3 } EXP=c:\windows\system\netlib32.dll 9 P3 L/ G) f4 Q+ S8 X ;EXP=c:\windows\system\msshrui.dll 6 E# [1 t7 p- K% O& V4 O9 \EXP=c:\windows\system\msnet32.dll ; ~; U; @# t/ |( h EXP=c:\windows\system\mspwl32.dll 8 p$ E8 O# u J. ]( e( a) T. |;EXP=c:\windows\system\mpr.dll 0 t3 D0 u1 D8 \1 y exp=c:\soft\95logo3\vb40032.dll 2 H0 ~# U3 F# g# `3 d V exp=c:\windows\system\msvbvm50.dll 8 b* J+ u; Q, J) r S4 i6 E exp=c:\windows\system\msvbvm60.dll

# u( p2 r+ ]# w5 o9 w" I4 t

4、我在调试软件时,经常看到寄存器是EAX、EBX、ECX或AX、BX、CX等,这是怎么回事?6 Y1 F7 ?8 u) k7 j" T& R) l% E 因为win9x系统是一个16位和32位混合的操作系统,在这系统上能运行16位和32位的应用软件,所以你如调试不同位数的软件时,在寄存器上就反应出来了,EAX、EBX、ECX等是32位寄存器,而AX、BX、CX等是来表示16位寄存器。

1 N6 G; J/ F! Y B' Z2 y+ u

5、如何在TRW2000下拦截VB运行库中的函数?

3 X5 d+ [! k) U) R7 ~. I4 Z

你要用TRW2000拦截Vb程序,需要用1.15版以上,将相应的VB运行库复制到TRW2000的DLL目录下,你也可用此法装载其它DLL文件。

; M: T& S2 _, S, u L

6、问:我只会用bpx hmemcpy来下断点,也看过看雪先生的教学文章,但对其他断点一直是一知半解,所以现在问题来了。 某些程序并没有输入注册码的地方,只在开始运行时弹出一个对话框,告诉你还剩多少天了,有延迟,这种软件一般怎么破解。如:LView pro、PaintShop pro等

; G& K: P" S0 Y# a1 Q

答:7 y0 w3 s) h1 m2 D 程序像一条竹竿,断点就是上面的结(当然是我们设定的)。选择一个好的断点有助于我们少走弯路。其实你说的情况,没有注册窗口,只有nag. 此时可能仍可以用bpx hmemcpy。此外,你可以采用其它方法。 " M) @8 j5 h( X7 O" Y 以paint shop pro 5.01 evaluation为例。你用bpx hmemcpy是拦不住的。但还可以用如下几种方法。 3 [: T- L9 A+ x3 s1. 当nag窗口出现后,激活trw or softice,下断点bpx lockmytask(或bpx destroywindow),回到psp.exe,按下start按钮后程序就会阻断。再用F10 或 F12走。直到你见到如下结构。 & g9 X: m0 P4 C cs:******** call ****** <-- 用F10带过这一步后会有延迟画面。 3 g' u' ?; v$ S" i cs:******** test al, al <-- 此时你在这行。程序确定你按下的是何按钮 - L. I2 Z2 N$ c/ Q 这时按下F6,你就可以找到这个call前的code,并在其上下断点。若在这之前有跳转,如jz,jnz等,你就可以想办法使nag窗口不出现。

q2 ]# ?3 L; Q4 s5 J* g5 L

2. 在这个nag窗口中,你会见到一些"版权宣言"及"你已经试用了*天,还有**天可以用"等的话。将之抄下,叫出trw 或softice,用 " I3 N6 a6 }3 @! o, q L3 O s 0 ffffffff "抄下的话"(trw) 或 6 Q3 {8 C9 \: k" k+ Z- ts 0 L ffffffff "抄下的话"(SOFTICE)找到其调用的地址。下断点 bpm "找到的地址"来拦截,余下的同例1。

6 j& I: x% X( W9 {

3. 若程序主窗口完全出现后再有延迟窗口出现,你可以在主窗口出现,而延迟窗口还未出现之际强行叫出trw(ctrl+N) 或softice(ctrl+D),然后一步步走,直到你确定了延迟窗口出现的那行code.

* d! ], ^. ^3 u1 K2 f

4. 如程序没有被压缩、加壳。你可以用w32dasm等静态反汇编方法,在string reference中找到延迟窗口中的话,在这代码前下断点拦截。

8 z" e. I& U( b9 }' K* c

以上简单介绍了几种方法,不知对你是否有帮助。

- T$ J0 a2 [7 [* H

7、问:命令"bpx regqueryvalueexa if *(esp->8)>='Soft' do "d(esp->14)"我看不大懂,您能给讲一下吗?多谢。

3 a9 j& y) H! P, V" t

答:这个指令是一个复合指令,因为存注册码的键值是Softkey,其名字在[esp+8]中,其值在[esp+14]中. 9 R* [/ K4 u$ p/ A% ` N- X当其值等于或大于Soft(因为只允许4个字符,不能输全键名)时中断,就拦在读Softkey的那个Call. ; C1 A7 i( y# y i否则每次程序call regqueryvalueexa时都会被拦. 5 k4 o/ z7 t1 M* S 拦住后,显示[esp+14]的内容.至于详细用法,你可以参考softice的用户手册,其中会解释*, % A3 r$ U# [7 t2 V! S- {" E->等内容的. 开始时只要照做,以后提高了再弄明白原理就可以了.

2 R8 [ W0 n c e* t

8、问:为什么用W32DASM反汇编不能显示中文信息?

$ n9 a; b I9 P8 c# Z

答:wdasm是这样的,你可以用十六进制编辑器查找中文改为英文后再反汇编.

" a: T5 O4 g8 X

9、问:请问如何修改TRW2000的字体颜色?

3 ?% E: L- ~1 L& v. t% o2 N

答:在TRW2000命令下用ver blue。

0 T t/ e9 S0 u

10、问:介绍一下Launcher Generator补丁制作工具

6 E8 e( z6 [: A- h% q9 C$ U

答:LGen的优点在于它可以控制何时Patch. 在运行它生成的Loader后,会出现一个提示窗,当按下OK按钮后,它才对目标程序做Patch.用法很简单,而且界面是GUI的.在http://ringzer0.cjb.net(它的老家,Tools项下)可以下载或者其它破解工具站点找.

/ {/ d* i- H/ M

11、问:我在用hiew改如下代码时: / i! @; u/ D p& j; g9 W8 A00469206 e877d5f9ff call 00406782 5 Q4 }. I, T' g2 q. q( s0046920b 391d3c844e00 cmp dword ptr [004e843c],ebx6 v+ x/ g/ J0 ^9 n! b: C 我想屏蔽掉第一行:是否用 nop指令?我试了试,但修改后,发现第二行 变成了: 00469207 f4 hlt 是否对程序有影响,修改时必须保证源字节数?

8 W+ x/ D/ {9 F/ a

答:当然有影响,你修改必须保证nop的字节=e877d5f9ff的字节: 0 S- v8 n: E" ~# y7 F$ `

- U5 i' i0 \* @5 V7 x# _

00469206 e877d5f9ff call 00406782 这行要5个nop来填充即: 9090909090代替e877d5f9ff

2 Q" f0 o2 Z5 O) `; X. L# p# `

你在hiew中连续改5行后,这一行就会又正常了0046920b 391d3c844e00 cmp dword ptr [004e843c],ebx

1 N! d4 W8 B! _

12、问:我在破解时,追到一行这样的代码# {- W1 N( F+ _6 O00406582 0f84f1000000 je 000406679 ! o/ }8 X+ E2 e- a; o5 L 我想改变程序的方向,je改为jne后是否可以,如不是该怎样,请指教。 $ h' n9 J9 |. T9 z 另,在win32dasm中,我想改反汇编后的代码,如何改?是否得用别的16位编辑器,怎么用? + ]6 \' x2 q7 e5 g& c5 @. T7 W3 I以上两个问题,困惑了我很久,请各位多指教,不胜感激!!!!!!!

m/ k/ |+ ?: J* Q

答:

0 }- D" g% C# W6 g

①00406582 0f84f1000000 je 000406679 2 h, A6 e" z* b0 g 你可在这一行,下A命令(进入小汇编状态),然后可输入你的正确的汇编代码,你在这可改为:jne 000406679 ' h; T/ c' B; r" z: o! n8 K 但TRW2000 demo版,此命令不能用,你可用SOFTICE来完成这工作。 - r+ Y" l* M( C% j0 e v但我推荐你可在这一行,在TRW2000或SOFTICE下命令:r fl z 2 R6 M' A6 P7 w8 M) k 这样就可改变跳转指令。 $ i( O, k5 y7 u( b! q# l4 A fl是标志寄存器,r命令修改此寄存器相关的值,具体参考SOFTICE手册和汇编书籍。 4 c# b9 R) R9 @4 q8 V 在win32dasm中不能改变程序代码,你可用16进制工具来完成,推荐用hiew来完成。

- ^: M% ]* |5 G

②也可以在trw中,用鼠标移动到愈修改代码出,直接修改,如75变74,即jnz->jz ! e: w( k, k1 F2 p$ e

5 ?0 K& R* S2 Z( Q' v* F# f

③在trw中,下命令e adress [欲修改之代码]

x6 ]' ^2 a# c4 K1 k

14、问:在汇编语言中,"[]"的用法?如: " Y, M# i; {/ d9 Z+ L G, h5 R 1、push dword ptr [024c1100] ' {) U( _: b' N& Z8 f0 r; W 2、cmp eax,[ebp+14] 4 L& J1 a* Q7 T& q; L# h7 t3、cmp byte ptr [eax],46 8 L9 b1 u% V0 d9 G4、lea eax,[edx-02] / x; ^/ ~# |! d$ [( d9 X1 p1 c5、mov ecx,[edx+08] / ~: A- z% v/ B7 g4 e 其中"[]"里的内容,什么时候表示的是值,什么时候表示的是地址,为什么?第4个是不是把"edx-02"的值作为地址送给eax???

5 ]8 W T R9 K+ ~# C' w

另一个问题是:我发现在soft-ice中,在寄存器区(即最上面的那个区,标志位下面)的右下脚有一个类似:"ds:xxxxxxxx=xxxxxxxx"的字样,时隐时现,并不断变化,不知是干什么用的,请指教,不胜感激!!!!!!!!

: [6 n, _. q \7 N

答:

% ]4 w& v I) a; s1 ?3 ~

①右下角显示的那个是当前指令要操作的内存的地址及内容 。# ]4 S; q" C D- O. z lea指令表示取有效地址,第4个是把"edx-02"的值送给eax。

0 {' g7 b% V) {# { w5 H M

9 U9 {& Y) j2 S6 n3 q: A, v1,压栈024c1100值的双字 8 T6 Q" C: x& L Y 2,eax-ebp+14的有效值,不保留值,主要看标志位。 / N" S2 G, p) t1 Q+ a# l3,字节型eax-46,看标志位 ' C, m8 F% o' [9 v/ l 4,把edx-02的有效值给eax ; L' B( G; j8 m 5,edx+8处值作为地址,此地址的值给ecx

6 `. z m; m6 I- A- u

15、问:能否推荐几本书?

& r$ p# Z6 z! p3 f2 w- Y% x9 X9 x( b

答:

) A3 j/ \9 _) J( s u0 g

1、《Win95系统编程奥秘》在这里:http://www.multimania.com/mpietreks2/ ! h; M7 d# {( g$ d2 ^+ t9 c- _( n7 L 2、《Thinking in C++》:http://www.bruceeckel.com/ThinkingInCPP2e.html 3 K8 F& l8 }" G+ f 3、《Art of ASM》简直是汇编大全,http://win32asm.cjb.net或      http://personales.com/eeuu/arizona/Aesculapius/ebooks.html 或http://huizen.dds.nl/~books/。 9 [ t( l2 I( W) C1 b3 R, a- a7 D 4、 http://proxy.spaceproxy.com/-_-http://personales.com/eeuu/arizona/Aesculapius/files.html 0 W0 `- u# t5 D3 s 5、

/ j: i! o7 t$ R1 g# E0 S9 G- w

16、问:我是初学者。用softice拦下后。f12转到那个领空。但那个领空有什么特征?怎样看?我不明白。 以hiew为例。我试了很多次。f12从头按到尾都看不到哪里标着hiew的

: |5 Z/ \# A q5 }; V

答:你换个图形界面的windows程序试试,不要用hiew,f12并不是转到那个领空,F12是跳出子程序,如: 4 D9 e5 E, \; L" v& m/ X5 l& rmov eax,1 : B' |1 H' A0 g& M; Uinc eax 9 R6 x& y+ Q% t' N1 S9 zret---------你在这段程序中按F12,就跳出此子程序,从RET处返回到上一程序中去。你如多按F12就等于跳出多个子程序,其实你用F10也能达到这一目的,F10来到inc eax,再按F10,执行RET一行,结果和你按F12一样的,只是F12更省事。

9 g1 [' A0 t- O8 l: q+ Z

领空是一形象说法,说明SOFTICE目前调试的程序代码是哪个程序的,一般会在SOFTICE屏幕下的三分之一处会有一光条线,中间有文件名,如: ! L s) ~9 C. v; R* R------------------------ACDSEE!CODE+???------------------------

* t1 K, C2 l" o% o" |, W! g0 Q

这表明目前SOFTICE是在ACDSEE程序的代码处,是ACDSEE.EXE不是ACDSEE.DLL就不知了,要具体分析

& c; [& x+ @; s# Z9 c/ a

% r9 j2 _, @% { N0 f

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏1 支持支持0 反对反对0 微信微信
no123456        

0

主题

2

听众

54

积分

升级  51.58%

该用户从未签到

新人进步奖

回复

使用道具 举报

juneshumo 实名认证       

0

主题

4

听众

186

积分

升级  43%

该用户从未签到

自我介绍
参加数学建模只是一个途径,为的是能能提高自己的能力,从中得到锻炼,为以后更好的发展奠定基础……

群组数学建模

群组LINGO

回复

使用道具 举报

SwaNsoN 实名认证       

4

主题

3

听众

399

积分

升级  33%

该用户从未签到

自我介绍
我很懒! 什么都没留下~

新人进步奖 最具活力勋章

回复

使用道具 举报

SwaNsoN 实名认证       

4

主题

3

听众

399

积分

升级  33%

该用户从未签到

自我介绍
我很懒! 什么都没留下~

新人进步奖 最具活力勋章

回复

使用道具 举报

lzc876 实名认证       

1

主题

3

听众

71

积分

升级  69.47%

该用户从未签到

自我介绍
尽自己所能做好一切

群组数学问题

群组Matlab讨论组

群组东北三省联盟

群组数学建摸协会

回复

使用道具 举报

狂人gs        

5

主题

3

听众

467

积分

升级  55.67%

  • TA的每日心情
    奋斗
    2012-9-10 21:35
  • 签到天数: 174 天

    [LV.7]常住居民III

    群组Matlab讨论组

    群组学术交流A

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-6-4 21:57 , Processed in 0.995999 second(s), 86 queries .

    回顶部