QQ登录

只需要一步,快速开始

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

软件破解常见问题

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-3-20 13:50 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
软件破解常见问题 $ s7 z# q9 _4 \" N3 O- ]8 W* k

来源:看雪学院

3 i* _6 Q+ W) `

% s! C5 | H: A. s8 A3 y

; a4 a6 ^7 c5 N# `5 C j5 V" c0 ]% E5 i% I$ R$ Z; H. f5 L" j9 f( b r3 g& S: M2 c& f7 y7 |1 ]; l( ~; r) o! X- M4 {, h
我系统是win9x,每次SOFTICE都自动装载,在windows下一按CTRL+D自动激活它,有什么办法解决?
这是SOFTICE安装时默认时改变了AUTOEXEC.BAT,自动加了一行wince.exe。每次系统启动时自动运行AUTOEXEC.BAT时将SOFTICE装载,你只要去掉这一行,问题就解决了。在你需要用SOFTICE时,在纯DOS环境下,在SOFTICE目录执行winice.exe文件即可装载。你也可自建一批处理命令来在纯DOS下装载SOFTICE。
7 W. r; I y3 z# H4 r , v8 _: h$ A8 h6 ]5 ~+ e- @5 `1 m! l4 B7 a! [2 |9 _6 V4 G# z' O$ I8 y4 @ Z5 H, `( F* |2 R8 r9 E! g! j6 \0 x; ]5 b3 e3 y( n `
2、如何知道软件是被什么加的密?
用TYP或GetTyp侦测文件类型或用procdump查看文件的section就可以知道用什么加密 .
: g# t- D6 l3 c! d2 u ( w7 n* M- m, i- N8 n K& c0 H6 n; R; X; o5 R, u- N4 ` Z2 {$ Z0 I8 \. {4 Z4 v' g# U F" h9 Y0 J4 c) J- Y2 H2 z1 C1 D. C- z5 |9 C0 t( d5 @% x6 ?1 E: v5 M8 P/ |- E
3、经常看到脱壳时下命令bpx loadlibrarya, 下命令后SOFTICE告知未定义,我的SOFTICE怎么拦不住?
在 softice 的目录下有一个文件叫 winice.dat & x# U) x. e+ z* P6 ?$ D 其实是个文本文件,将这文件的最后几行把他改成如下 :# Q8 I/ |# G2 R4 h) ?- w/ Z. e( Z2 q 前面有分号的就是注解,把后面有 *32.dll 的方号去掉就行了 + S6 T5 \8 s4 v8 D2 ]7 v 顺便加上 vb5, vb6 的 dll, 也可拦 vb 的 function 了 " ~4 A7 d2 s& @6 J; R

EXP=c:\windows\system\kernel32.dll 4 l0 U1 K! b* L. G* d) T* ZEXP=c:\windows\system\user32.dll / r4 r4 o u7 L% }1 k" y) K) bEXP=c:\windows\system\gdi32.dll ; `4 D: k' }9 ^' [5 r! ^* n EXP=c:\windows\system\comdlg32.dll 2 Q3 k2 z+ R9 M" M- w EXP=c:\windows\system\shell32.dll 3 q% s3 _# Z+ x$ ~/ kEXP=c:\windows\system\advapi32.dll 9 D' F4 J) t6 `9 m" L3 b/ QEXP=c:\windows\system\shell232.dll ! o& N7 B& u5 W. v9 }2 z5 {" u SEXP=c:\windows\system\comctl32.dll + U! N9 A6 G1 A0 |' s1 K0 y* S ;EXP=c:\windows\system\crtdll.dll 1 K" `$ s. i. p7 o9 K& p9 u1 w;EXP=c:\windows\system\version.dll , t- R) J6 S) Q: UEXP=c:\windows\system\netlib32.dll " D& |) I9 D2 S8 r( N) n" F! n;EXP=c:\windows\system\msshrui.dll * ?% m" f, F3 S! V/ _* d1 { M0 J+ `EXP=c:\windows\system\msnet32.dll * m$ w n4 h L+ O7 U EXP=c:\windows\system\mspwl32.dll , Q" q' x% }+ q" v$ K5 n ;EXP=c:\windows\system\mpr.dll ! p" c1 p% q9 w4 _% O9 _9 J4 texp=c:\soft\95logo3\vb40032.dll 8 ~' B7 _* |. g5 z; u. [0 B4 E. \exp=c:\windows\system\msvbvm50.dll . N, T1 K$ k2 g L$ b exp=c:\windows\system\msvbvm60.dll

3 ~$ d$ V) p/ d9 H( n) T

4、我在调试软件时,经常看到寄存器是EAX、EBX、ECX或AX、BX、CX等,这是怎么回事? # H0 u4 L& V# Q1 Q2 o( p+ D因为win9x系统是一个16位和32位混合的操作系统,在这系统上能运行16位和32位的应用软件,所以你如调试不同位数的软件时,在寄存器上就反应出来了,EAX、EBX、ECX等是32位寄存器,而AX、BX、CX等是来表示16位寄存器。

, S- F: f) O7 s9 e

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

! U6 m: E8 Q* x/ ?( X

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

( U$ o" T0 z; [# [/ L( f3 }

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

: I, I5 E$ P1 h0 k

答:8 a; S! D; r6 o- u 程序像一条竹竿,断点就是上面的结(当然是我们设定的)。选择一个好的断点有助于我们少走弯路。其实你说的情况,没有注册窗口,只有nag. 此时可能仍可以用bpx hmemcpy。此外,你可以采用其它方法。 1 s/ H; I4 r+ f5 u以paint shop pro 5.01 evaluation为例。你用bpx hmemcpy是拦不住的。但还可以用如下几种方法。 . Y$ z9 T% `* P( \- }+ a3 d6 r1. 当nag窗口出现后,激活trw or softice,下断点bpx lockmytask(或bpx destroywindow),回到psp.exe,按下start按钮后程序就会阻断。再用F10 或 F12走。直到你见到如下结构。 $ y+ y3 M, ]& |6 {cs:******** call ****** <-- 用F10带过这一步后会有延迟画面。 . { N3 I' [6 M5 F% o+ j7 ~cs:******** test al, al <-- 此时你在这行。程序确定你按下的是何按钮 6 D/ P6 H( m' J$ l 这时按下F6,你就可以找到这个call前的code,并在其上下断点。若在这之前有跳转,如jz,jnz等,你就可以想办法使nag窗口不出现。

" u2 ^% H2 D% p# N4 N$ w4 ~

2. 在这个nag窗口中,你会见到一些"版权宣言"及"你已经试用了*天,还有**天可以用"等的话。将之抄下,叫出trw 或softice,用 ) d- h- C0 G. T6 @$ w3 @& x s 0 ffffffff "抄下的话"(trw) 或 / W; r$ b& j7 H* _9 z s 0 L ffffffff "抄下的话"(SOFTICE)找到其调用的地址。下断点 bpm "找到的地址"来拦截,余下的同例1。

3 a: M1 Q2 ^+ F% S# S8 d l8 T$ _% `. p

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

+ u$ o' y4 j; V( i

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

* R8 j8 m0 w1 G2 |

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

9 l. r. T7 b- \0 \6 k# Z

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

) U9 M# D! F5 Y/ b7 D

答:这个指令是一个复合指令,因为存注册码的键值是Softkey,其名字在[esp+8]中,其值在[esp+14]中. , l: T* y, n3 c9 ^5 c. }) h当其值等于或大于Soft(因为只允许4个字符,不能输全键名)时中断,就拦在读Softkey的那个Call. : q' H/ G" m3 a( j' p 否则每次程序call regqueryvalueexa时都会被拦. 4 L' u" f2 y0 X" M# u 拦住后,显示[esp+14]的内容.至于详细用法,你可以参考softice的用户手册,其中会解释*, ; k$ N& } |& Q! q7 e->等内容的. 开始时只要照做,以后提高了再弄明白原理就可以了.

- U; Q. q# C% m6 A" @

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

4 @, K% l: O$ Z

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

7 V( k" V7 \9 F J5 T- U* C

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

3 i9 s7 |, t% B8 B, F! Q

答:在TRW2000命令下用ver blue。

: a! b m$ V1 b- e0 p3 `8 _

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

- S, \( g9 j' ~" g

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

; t! o. F) _% N, O

11、问:我在用hiew改如下代码时:& `7 G' O" I3 i7 `# F: g 00469206 e877d5f9ff call 00406782 , ?* k% J6 N. E" c. o+ P ]/ w 0046920b 391d3c844e00 cmp dword ptr [004e843c],ebx 6 T, F! Q0 W- j, Z# T0 H( ?# r4 _我想屏蔽掉第一行:是否用 nop指令?我试了试,但修改后,发现第二行 变成了: 00469207 f4 hlt 是否对程序有影响,修改时必须保证源字节数?

! A& {' c e+ N7 z {! v

答:当然有影响,你修改必须保证nop的字节=e877d5f9ff的字节:6 h1 ^4 ^7 G+ y, I6 T

! w ?9 f" K- A/ K

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

' p0 Z4 P) W* k- X

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

* G9 c: r9 f) o% B0 f

12、问:我在破解时,追到一行这样的代码9 Z* X; A9 h7 \) g; A2 v* ~' ]00406582 0f84f1000000 je 000406679 % _/ F! ^2 n* E. U. E. g U我想改变程序的方向,je改为jne后是否可以,如不是该怎样,请指教。 ; Q! w. s$ v' [! k! K S. t j8 E另,在win32dasm中,我想改反汇编后的代码,如何改?是否得用别的16位编辑器,怎么用? 9 |( i8 e7 d1 a2 o4 z# @3 R. h/ [( R 以上两个问题,困惑了我很久,请各位多指教,不胜感激!!!!!!!

5 s( \7 r4 `- f T) f

答:

3 d$ R$ k) g. _( d% b0 N

①00406582 0f84f1000000 je 000406679 9 X6 p( |# u! U4 b 你可在这一行,下A命令(进入小汇编状态),然后可输入你的正确的汇编代码,你在这可改为:jne 000406679 7 ]8 m6 | ~- z( a" a4 {: m! E/ o$ W8 A但TRW2000 demo版,此命令不能用,你可用SOFTICE来完成这工作。 & s2 A3 v& l1 F- t3 Z但我推荐你可在这一行,在TRW2000或SOFTICE下命令:r fl z 8 d9 `% `4 g4 |6 e# J 这样就可改变跳转指令。 . U( u# v2 y- J/ A- O fl是标志寄存器,r命令修改此寄存器相关的值,具体参考SOFTICE手册和汇编书籍。 ! D8 b0 P6 m o2 O" G5 T 在win32dasm中不能改变程序代码,你可用16进制工具来完成,推荐用hiew来完成。

, j) d! D1 m" d0 _: H

②也可以在trw中,用鼠标移动到愈修改代码出,直接修改,如75变74,即jnz->jz. N: j, d* _( h6 n/ R; d0 G7 t

# y+ q5 D7 v$ W- _ O* I

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

+ y. N/ B* u e* ^$ T

14、问:在汇编语言中,"[]"的用法?如: " V& w* \+ C; J$ o( j. N/ c7 h2 l 1、push dword ptr [024c1100] * c$ E1 z8 u9 f2 [9 ^3 X 2、cmp eax,[ebp+14] 8 c- y; f6 p1 S4 r! {; T) f7 M3、cmp byte ptr [eax],46 ! j* v3 k. Z) X7 A4、lea eax,[edx-02] * Y0 n. q, L9 e8 w7 b! O& P 5、mov ecx,[edx+08] $ @) h0 V g9 A) a8 s* R9 O其中"[]"里的内容,什么时候表示的是值,什么时候表示的是地址,为什么?第4个是不是把"edx-02"的值作为地址送给eax???

8 G1 c( q, H, \& g: |% D, V

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

: o/ K1 N. X0 ^2 O& x

答:

3 O! r3 S9 r$ B1 {5 F" l

①右下角显示的那个是当前指令要操作的内存的地址及内容 。 7 s$ W5 X, T9 ~! e% q$ klea指令表示取有效地址,第4个是把"edx-02"的值送给eax。

5 \. j$ q: L% }5 B) f1 b" N9 H. d

+ J$ {' s. ?, V/ T% f3 o, r/ H% Y 1,压栈024c1100值的双字 + ]6 z4 J) b: j# K9 M+ G( S; d F 2,eax-ebp+14的有效值,不保留值,主要看标志位。 % l- N! L) J# z I 3,字节型eax-46,看标志位 & v9 k( p/ h$ O! q; L3 Q 4,把edx-02的有效值给eax " K+ _# o: ?/ B! ]- L 5,edx+8处值作为地址,此地址的值给ecx

* B, a! q% R M" [% C

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

5 r$ I& Z D& C5 `4 a3 n. t& P

答:

f) ^. x! r( q. c5 F

1、《Win95系统编程奥秘》在这里:http://www.multimania.com/mpietreks2/ K# N. R2 h D" _. }3 `# H c2、《Thinking in C++》:http://www.bruceeckel.com/ThinkingInCPP2e.html 7 C, \6 \. e( w 3、《Art of ASM》简直是汇编大全,http://win32asm.cjb.net或      http://personales.com/eeuu/arizona/Aesculapius/ebooks.html 或http://huizen.dds.nl/~books/。 4 r: H. l8 p! |! j. ] 4、 http://proxy.spaceproxy.com/-_-http://personales.com/eeuu/arizona/Aesculapius/files.html 3 g! E+ E+ M! Z$ m) F5、

0 L Q6 P2 W- J* w

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

1 X4 Y9 w3 @5 ?8 R

答:你换个图形界面的windows程序试试,不要用hiew,f12并不是转到那个领空,F12是跳出子程序,如: % X. M8 V: e. C9 _mov eax,1 # b( } I) i# r2 Z3 o" yinc eax z) n, v5 l* A& b' Tret---------你在这段程序中按F12,就跳出此子程序,从RET处返回到上一程序中去。你如多按F12就等于跳出多个子程序,其实你用F10也能达到这一目的,F10来到inc eax,再按F10,执行RET一行,结果和你按F12一样的,只是F12更省事。

t0 M. {0 b$ b, f- E# @. R3 K

领空是一形象说法,说明SOFTICE目前调试的程序代码是哪个程序的,一般会在SOFTICE屏幕下的三分之一处会有一光条线,中间有文件名,如: # I: q" P/ J; @& R. W' L------------------------ACDSEE!CODE+???------------------------

: f* @5 X7 R$ N! s6 B

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

: N0 X) O7 ^4 z/ L" T9 t

( ?3 m) x' v: W

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%

该用户从未签到

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

新人进步奖 最具活力勋章

眼睛都花啦, e$ k) J' f+ }& C* F2 Z
好多啊~~~
. X6 `1 l7 E) A- x7 m8 L- N…………………
回复

使用道具 举报

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, 2026-4-18 09:02 , Processed in 0.465725 second(s), 87 queries .

    回顶部