找回密码
 加入华同
搜索
黄金广告位联系EMAIL:[email protected] 黄金广告[email protected]
查看: 1342|回复: 1

【原创】破解Quick Screen Recorder

[复制链接]
发表于 2006-8-28 11:03:29 | 显示全部楼层 |阅读模式
【原创】破解Quick Screen Recorder
2 _/ Q) a, F' H  A1 w( Y
【破解作者】 yijun5 i2 a% Z1 K5 g3 ]
【作者邮箱】 [email protected]9 g4 T0 v$ p+ d5 B
【使用工具】 OD,PEID$ f+ U2 t2 t( m- X0 d  p
【破解平台】 WinXP
2 e1 U* l5 O( H: m【软件名称】 Quick Screen Recorder# m0 W% j7 f1 V: O1 W2 U
【下载地址】 天空
6 h5 r2 W! n. S1 W) Q【软件简介】     Etrusoft Quick Screen Recorder is a tool used for recording screen activity into standard AVI video files. If you move the cursor, launch a new program, type some text, click a few buttons, or select some menus -- anything that you see on your screen -- Quick Screen Recorder will be able to record all these and allow you to play them back later on. ( v, ^0 ^; ^# C) T$ [' H
【软件大小】 540K
3 i( e8 g0 x* b  `4 S$ G【加壳方式】 无
) ]- y) C# z, u% u【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)! z# j9 r6 Z6 v$ ]1 z) ^
--------------------------------------------------------------------------------2 G, h6 Z" d: i
【破解内容】+ e8 m, x5 F3 h
    PEID查壳知该软件无壳Microsoft Visual C++ 6.0编写。OD载入很容易来到以下地方:

  K/ X( ^7 f7 }0 R: i00404C69   55         push ebp   //在此下断# ~2 _9 D7 [9 A
00404C6A   56         push esi
% q% v* ^" _1 m" |00404C6B   57         push edi
; m* q8 d4 m4 W* ^. t00404C6C   8BE9         mov ebp,ecx: }0 i. i  L# n, Y& o
00404C6E   6A 01       push 1; b; n/ S7 `9 G$ r
00404C70   E8 7C910200   call qsr.0042DDF1               ; 取用户名# [* O: n3 o) h' L
00404C75   8D7D 60       lea edi,dword ptr ss:[ebp+60]
. T& I" q/ }" ^- c" }00404C78   8BCF         mov ecx,edi
8 D, z+ y. \& ]. s* o00404C7A   E8 FA3E0200   call qsr.00428B79               ; 取注册码
4 D5 q- L" s" K% O9 |7 W  K6 O00404C7F   8BCF         mov ecx,edi
1 E" q" p6 m& J9 O00404C81   E8 A73E0200   call qsr.00428B2D: n- r% H' w1 h; q$ S
00404C86   8D75 64       lea esi,dword ptr ss:[ebp+64]
% f! W5 {. j0 P6 Q$ l00404C89   8BCE         mov ecx,esi
+ ^. ~$ \( O7 Q' t( B0 z' B" y00404C8B   E8 E93E0200   call qsr.00428B79               ; 用户名送EAX7 E, P- k" \# ~3 {% S
00404C90   8BCE         mov ecx,esi
! G! j" u/ P4 c' U00404C92   E8 963E0200   call qsr.00428B2D/ n( k0 n6 }2 B- R( B4 ]
00404C97   8B06         mov eax,dword ptr ds:[esi]  @0 ]' {. ?$ V3 R/ h
00404C99   8378 F8 02     cmp dword ptr ds:[eax-8],2$ l4 [3 Y2 y% R( P0 c) k, W
00404C9D   7D 26       jge short qsr.00404CC5
1 ~1 h4 W- @- n/ K& Y1 g4 y( G00404C9F   6A 40       push 40% h6 n0 k3 Z$ M( P
00404CA1   68 3CE54500   push qsr.0045E53C               ; ASCII "Quick Screen Recorder"! I6 |/ ~; {# S/ x
00404CA6   68 24E54500   push qsr.0045E524               ; ASCII "Please input your name."
4 }5 g& g* s; d: u& q00404CAB   8BCD         mov ecx,ebp( A5 x, {: H8 N3 G
00404CAD   E8 C3840200   call qsr.0042D1754 K& y. i+ G" O2 `" }" {: _
00404CB2   8B4C24 1C     mov ecx,dword ptr ss:[esp+1C]
6 q) Y1 i; O  _  W) }: {6 c" r00404CB6   64:890D 0000000>mov dword ptr fs:[0],ecx3 X6 x; A' B, x9 [# M. y8 N
00404CBD   5F         pop edi
) \+ H# k. A" h, F+ v% v  t6 L00404CBE   5E         pop esi
8 A& g- T7 e6 ?00404CBF   5D         pop ebp* `, S# e6 x9 m9 K
00404CC0   5B         pop ebx
0 P! b/ P  p: i8 O00404CC1   83C4 18       add esp,18
! i- R) _( \5 O7 V% ^, n3 f, R00404CC4   C3         retn0 c5 z" d3 J6 P% G2 |
00404CC5   8A45 5C       mov al,byte ptr ss:[ebp+5C]
5 t7 a" L1 t( A) Q00404CC8   84C0         test al,al
6 q/ C  V. M( M$ d. p00404CCA   0F85 1C010000   jnz qsr.00404DEC
: a- c2 x! \0 Q4 V0 ?00404CD0   8D4C24 14     lea ecx,dword ptr ss:[esp+14]
* y8 u' ~1 R" B2 U+ @00404CD4   E8 87E3FFFF   call qsr.00403060
. L2 ^8 @8 V, ^00404CD9   51         push ecx( z- W8 s# X, k
00404CDA   C74424 28 00000>mov dword ptr ss:[esp+28],0
# I$ ], P* G2 I00404CE2   8BCC         mov ecx,esp
/ F6 I- ]+ |& R00404CE4   896424 14     mov dword ptr ss:[esp+14],esp. l3 q  `! S. {! Z
00404CE8   56         push esi
) e& \9 t4 F4 u3 A2 y8 e% s. S00404CE9   E8 12A50200   call qsr.0042F200               ; 测试用户名是否是0, L1 j$ j" R" f; g
00404CEE   51         push ecx
! d" G1 \3 }5 H/ R: \. k9 j3 y- c0 k00404CEF   C64424 2C 01   mov byte ptr ss:[esp+2C],1
  ]7 a/ a$ H- }* z: s00404CF4   8BCC         mov ecx,esp; u9 _7 n3 W/ Z2 c0 S
00404CF6   896424 20     mov dword ptr ss:[esp+20],esp7 _- c& g3 N; J, X; v/ [+ h: [3 L2 y
00404CFA   57         push edi6 ^9 J. L5 O$ S: j3 ]" W6 l
00404CFB   E8 00A50200   call qsr.0042F200               ; 测试注册码是否是0
4 X9 Z5 q+ b2 y  P+ K$ Y9 w00404D00   8D4C24 1C     lea ecx,dword ptr ss:[esp+1C]
* |; t: }6 m* K00404D04   C64424 2C 00   mov byte ptr ss:[esp+2C],05 V% }" ~8 @- G' e
00404D09   E8 92E3FFFF   call qsr.004030A0               ; 关键CALL,跟进~~~~~~~~~~~
$ i  a6 o* R2 c( T% ]" B00404D0E   84C0         test al,al                   ; 刚才那两处都等就注册成功,此时AL=1~~~+ N/ P' Q, m- i  Y
00404D10   75 37       jnz short qsr.00404D49           ; AL=1就注册成功~~~~7 F5 X. F3 G8 M6 I0 G/ f- o1 b+ V; \
00404D12   6A 40       push 40
* [8 B% q* |$ Z6 V* y00404D14   68 3CE54500   push qsr.0045E53C               ; ASCII "Quick Screen Recorder"! w# ?. i) c8 U
00404D19   68 DCE44500   push qsr.0045E4DC               ; ASCII "Sorry, your registration key is wrong. Please check it and try again."" N" p! ^- \2 ~+ u
00404D1E   8BCD         mov ecx,ebp
1 o2 r5 T( A9 q- F' X0 X00404D20   E8 50840200   call qsr.0042D175$ D7 v/ |1 d. k2 c! H' G
00404D25   8D4C24 14     lea ecx,dword ptr ss:[esp+14]
! U) _' y8 H- {! B00404D29   C74424 24 FFFFF>mov dword ptr ss:[esp+24],-16 z4 @+ B" o; e3 ]& v, i. ?
00404D31   E8 5AE3FFFF   call qsr.00403090, `: c, F* f% q5 ~/ b9 E
00404D36   8B4C24 1C     mov ecx,dword ptr ss:[esp+1C]
2 E2 Q$ C& D% ?) s1 t4 ]# N. {. r00404D3A   64:890D 0000000>mov dword ptr fs:[0],ecx
/ u4 F7 b4 ]$ C1 t9 |, F  N0 ]00404D41   5F         pop edi
; o2 f. W( i, f8 E7 H0 t5 a00404D42   5E         pop esi
8 G. a' y4 N5 z, T2 C00404D43   5D         pop ebp
6 }  ]* f& k, {; u00404D44   5B         pop ebx+ x$ _  u( i8 |2 M
00404D45   83C4 18       add esp,18! f' G8 z$ a. C
00404D48   C3         retn' L' S5 _/ Z$ [( W4 ]7 Y! c
*********************************************************************************************************************************************************
6 N- ~8 t7 Z" c4 ]# l4 O9 r8 E& n跟进00404D09处CALL来到:. ?; L' @" u9 g$ e  y8 M
004030A0   6A FF       push -1     //一路F8下去~~~~
* W) u6 ?+ F) i2 R' J  h004030A2   68 C88F4400   push qsr.00448FC8& D7 r( J: S: p' g1 e
004030A7   64:A1 00000000 mov eax,dword ptr fs:[0]& j0 O4 _& |+ o% N( P; ^9 v# L
004030AD   50         push eax4 J% p9 o1 p& s. [  j
004030AE   64:8925 0000000>mov dword ptr fs:[0],esp
0 V3 I  u& `% D$ B# `" |5 s004030B5   83EC 24       sub esp,24
) u; j6 A2 m9 P* M* j8 Y( |- a004030B8   53         push ebx
5 S- a7 _; |5 q" C004030B9   55         push ebp+ s: n8 H1 [2 w
004030BA   56         push esi
+ K$ V% |; s2 O' n. W0 Q( v# [. m004030BB   57         push edi
- C) E: J! c+ l8 Z$ H004030BC   68 28E24500   push qsr.0045E228               ; ASCII "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
/ T2 ~6 R' T$ B, U1 F3 g. e; l% V( W004030C1   8D4C24 24     lea ecx,dword ptr ss:[esp+24]
, _' d8 X/ f( q/ F- w4 N004030C5   C74424 40 01000>mov dword ptr ss:[esp+40],1- q' ]1 t9 }/ A/ d5 U( h- [' y
004030CD   E8 27C40200   call qsr.0042F4F9
2 U7 e/ u+ Z2 F3 {, s& t" [8 Y004030D2   A1 38F44500   mov eax,dword ptr ds:[45F438]
9 [& q) [$ [# |8 [0 |1 L3 n3 W7 i6 k004030D7   894424 2C     mov dword ptr ss:[esp+2C],eax* Q0 r1 J/ j% Y& r& d  l
004030DB   8D4C24 48     lea ecx,dword ptr ss:[esp+48]( z$ R5 V, q$ A' d- E. ^" [
004030DF   C64424 3C 03   mov byte ptr ss:[esp+3C],3: N9 o% a$ h2 l1 r8 X3 K5 O' S
004030E4   E8 905A0200   call qsr.00428B79
  ?3 t9 j! C# Q) l004030E9   8D4C24 48     lea ecx,dword ptr ss:[esp+48]  k  o; f1 o- {8 p- r4 `
004030ED   E8 3B5A0200   call qsr.00428B2D! Z: q6 n/ J9 N" g4 w# Y4 [
004030F2   8D4C24 44     lea ecx,dword ptr ss:[esp+44]5 }. l0 m- l  q- B$ }; z
004030F6   E8 7E5A0200   call qsr.00428B79* W( z" N6 U0 Z- r2 l  G
004030FB   8D4C24 44     lea ecx,dword ptr ss:[esp+44]" a% H+ Y  l1 z
004030FF   E8 295A0200   call qsr.00428B2D4 x+ t' A* K. q1 o8 s
00403104   8B4C24 48     mov ecx,dword ptr ss:[esp+48]( M/ B: i, M9 [) i# V
00403108   8B41 F8       mov eax,dword ptr ds:[ecx-8]
  ~! }4 Q$ Y! l0040310B   83F8 02       cmp eax,22 w4 j/ x" v0 V* \5 L7 s* ^
0040310E   0F8C 4F030000   jl qsr.00403463                 ; 用户名小于2就跳
' V7 K# z! J" T8 b: T1 \& w00403114   8B5424 44     mov edx,dword ptr ss:[esp+44]7 r) j' i) m8 K& {4 s
00403118   837A F8 18     cmp dword ptr ds:[edx-8],18
8 a4 f6 E, E/ v" H' M0040311C   0F85 41030000   jnz qsr.00403463               ; 注册码不等于18(16进制)就跳
4 e3 N3 a. Z  l& r! ^00403122   8D4424 30     lea eax,dword ptr ss:[esp+30]
9 V; v  R' N( E6 v00403126   6A 01       push 1+ G# I& o5 k2 n* u: C: X: {+ O8 W
00403128   50         push eax/ N% B( Z( v: K+ u/ ~$ \0 T
00403129   8D4C24 50     lea ecx,dword ptr ss:[esp+50]; T$ ]0 f0 j8 F' Y
0040312D   E8 C4550200   call qsr.004286F68 i6 D' A: `8 M- T5 S. A
00403132   8B00         mov eax,dword ptr ds:[eax]0 r: N5 y$ J: S* J7 }
00403134   8D4C24 20     lea ecx,dword ptr ss:[esp+20]
* C' x" }0 ]& ?& _  X00403138   50         push eax% q5 _2 Z( C$ g+ d8 p* p2 ?0 K
00403139   C64424 40 04   mov byte ptr ss:[esp+40],44 M% m2 N4 A4 @1 ?( V7 {
0040313E   E8 4D560200   call qsr.00428790: Q& q9 y2 w/ i' ^
00403143   8D4C24 30     lea ecx,dword ptr ss:[esp+30]4 |; F# u2 x7 G" A
00403147   8BF0         mov esi,eax& o3 G, c& R7 A3 n2 B: a
00403149   C64424 3C 03   mov byte ptr ss:[esp+3C],3$ E- n5 w4 n$ S* Y
0040314E   E8 38C30200   call qsr.0042F48B
% g% L0 s5 ]4 ?- P) p00403153   8D46 0A       lea eax,dword ptr ds:[esi+A]
0 l  s) R: h1 U9 i* G( _00403156   B9 3E000000   mov ecx,3E) W6 F! G. h# Y5 x# s
0040315B   99         cdq2 p- G+ p1 D, O) d$ b4 E- ~
0040315C   F7F9         idiv ecx2 ^( x1 d' x' _6 X
0040315E   6A 01       push 18 @1 d, Y, \) _/ y  L, m: x" h
00403160   8D4C24 4C     lea ecx,dword ptr ss:[esp+4C]2 h9 X" L$ h+ D; g4 K
00403164   8BF2         mov esi,edx- j% N$ T7 N* `/ k- K( |( Z
00403166   8D5424 34     lea edx,dword ptr ss:[esp+34]
, F9 F8 Z( h$ x$ G* b0040316A   52         push edx
7 n7 M7 R& Y6 K0 g6 e% r0040316B   E8 0A550200   call qsr.0042867A$ `: @8 k7 B2 R
00403170   8B00         mov eax,dword ptr ds:[eax]% F/ l1 a( H/ ^! f+ k( i; |0 `
00403172   8D4C24 20     lea ecx,dword ptr ss:[esp+20], w4 }3 D2 P1 V, \- B
00403176   50         push eax
* a3 P5 ^! K8 ]: v1 }5 Q/ e( t00403177   C64424 40 05   mov byte ptr ss:[esp+40],5
0 G5 H5 m$ ^6 A0040317C   E8 0F560200   call qsr.00428790
8 v! P% n3 A/ L) ~4 _# T  t00403181   8D4C24 30     lea ecx,dword ptr ss:[esp+30]
5 G( K2 ^) P0 W! B' p00403185   8BF8         mov edi,eax; m6 k& u  E- F% X* Z) j7 C
00403187   C64424 3C 03   mov byte ptr ss:[esp+3C],3: @4 {* ?$ y$ j+ c6 K8 m
0040318C   E8 FAC20200   call qsr.0042F48B
# O1 i; m7 u  F& k# Z00403191   8D47 0A       lea eax,dword ptr ds:[edi+A]
7 l" Q- J( I- b$ |2 I( D! }0 s00403194   B9 3E000000   mov ecx,3E
$ C/ R; ]  G$ O" m, {2 M8 Y00403199   99         cdq/ k3 r/ x, ]/ ~: Y" L3 i# X
0040319A   F7F9         idiv ecx
) t3 r' F% l% J0040319C   A1 38F44500   mov eax,dword ptr ds:[45F438]2 @/ ]6 @. N$ Z! C' M
004031A1   894424 28     mov dword ptr ss:[esp+28],eax& h1 b/ L7 R- F- ^, g
004031A5   8BCA         mov ecx,edx
5 c+ x) Y4 S7 b  v$ Z004031A7   894424 24     mov dword ptr ss:[esp+24],eax
( v3 w- @8 _( }' `7 k( D004031AB   894424 1C     mov dword ptr ss:[esp+1C],eax# X$ T7 |1 q( v7 X/ X6 |  d; w  r
004031AF   894424 18     mov dword ptr ss:[esp+18],eax
* U' ]& B6 Y  N! J6 X" S% l9 L004031B3   894424 14     mov dword ptr ss:[esp+14],eax: X' F- D; ~! l. k
004031B7   894424 10     mov dword ptr ss:[esp+10],eax! n/ U$ K2 r7 Y3 O% B
004031BB   8BC1         mov eax,ecx
! x! l6 I9 u) H8 ]0 v004031BD   BF 0A000000   mov edi,0A. m6 A* I/ M) e8 K9 k/ _: @
004031C2   99         cdq
" ^0 _0 [0 s3 {& D2 O004031C3   F7FF         idiv edi
  S4 v) w( c& [% `, b. L! X3 }004031C5   8BC1         mov eax,ecx
" a3 D9 u) C9 b) F004031C7   B3 0B       mov bl,0B- Q3 T* P: k/ ^. G9 v  G# X$ ?
004031C9   0FAFC1       imul eax,ecx3 }9 i% y$ x+ D
004031CC   8BCF         mov ecx,edi) U* d# H* ^) j9 n. E7 n0 ?* j
004031CE   885C24 3C     mov byte ptr ss:[esp+3C],bl$ a* d( \5 O, O/ k* G3 {1 \) ?; P
004031D2   52         push edx
! K, Q- k. p6 V' ^' x& H004031D3   99         cdq/ b( b+ O' ~% {  H9 |# v5 [
004031D4   F7F9         idiv ecx
8 K) F* v7 ]3 W% o2 K, C004031D6   8D04F5 00000000 lea eax,dword ptr ds:[esi*8]- U# {, d. e/ m/ X
004031DD   2BC6         sub eax,esi; Y- G$ y$ L2 u! }+ R+ ]8 ^3 y0 D
004031DF   52         push edx
  k" p0 K! \& ]9 x7 V$ G( J) G- l% W004031E0   99         cdq: `9 L6 r6 o! x, ]6 K5 \
004031E1   F7F9         idiv ecx
2 c# ~6 V& P2 b5 a& X1 F004031E3   8BC6         mov eax,esi1 }* n- U0 ^0 A( a
004031E5   52         push edx
; r& [+ ]) S9 P# v# g7 v# s004031E6   99         cdq$ I+ I1 d; O/ o! h, w; B/ i
004031E7   F7F9         idiv ecx) u4 L, @2 i4 W  b
004031E9   52         push edx; s1 h1 f; r7 R; m4 n6 S8 l
004031EA   8D5424 38     lea edx,dword ptr ss:[esp+38]3 m9 g. Y' n1 C5 `* [
004031EE   68 1CE24500   push qsr.0045E21C               ; ASCII "%d%d%d%d"! r; ^7 I4 k: [7 f, I9 P
004031F3   52         push edx4 e" t" t1 _2 r% U' _# @& [+ d
004031F4   E8 D8580200   call qsr.00428AD1               //由我们的用户名得到一个4位数,我的是4893
# ~2 u, f/ M4 {6 L3 b0 D- w004031F9   83C4 18       add esp,18# U$ S* h4 S* N, \: Z) i8 J
004031FC   6A 04       push 4; F4 U7 L( M8 ]3 d/ E5 v. d1 e
004031FE   8D4424 34     lea eax,dword ptr ss:[esp+34]
* Z% X; `; V& u3 a/ R00403202   6A 00       push 0
( o+ O+ Z! r7 H4 D% n* R00403204   50         push eax
5 @9 l/ \7 u9 u4 u00403205   8D4C24 50     lea ecx,dword ptr ss:[esp+50]
8 Q# }& p- V. q( r- k2 a. {+ P00403209   E8 D6530200   call qsr.004285E4& f. n: y' D) Q0 X
0040320E   50         push eax! r: P# j0 O1 _( e* z" b
0040320F   8D4C24 28     lea ecx,dword ptr ss:[esp+28]
) x$ P  Q2 }* ^00403213   C64424 40 0C   mov byte ptr ss:[esp+40],0C
0 [8 w  j( M' n& C. ~; h00403218   E8 A7C30200   call qsr.0042F5C4$ w! V% t& H4 H5 v, D! Q  B  O) S
0040321D   8D4C24 30     lea ecx,dword ptr ss:[esp+30]+ c2 B6 o, K- _
00403221   885C24 3C     mov byte ptr ss:[esp+3C],bl% x/ r1 ]0 G* {( Z
00403225   E8 61C20200   call qsr.0042F48B
# e" T6 N$ M  b4 d) t2 Q0 A3 R# n0040322A   6A 04       push 4
; N# R2 H; l0 I0040322C   8D4C24 34     lea ecx,dword ptr ss:[esp+34]% G: x: J% k; S. g4 x" `+ H5 ]9 _
00403230   6A 05       push 5: u5 A6 V- u! P; J" Q0 S- v8 o
00403232   51         push ecx/ R2 Q' ~3 T" M# u
00403233   8D4C24 50     lea ecx,dword ptr ss:[esp+50]
: S' n" x: a+ K6 j5 y00403237   E8 A8530200   call qsr.004285E4
. A7 L8 d4 j' H4 E* z2 F0040323C   50         push eax$ I3 j' ~6 w! @
0040323D   8D4C24 20     lea ecx,dword ptr ss:[esp+20]
7 c! c+ X4 g' g4 E' H00403241   C64424 40 0D   mov byte ptr ss:[esp+40],0D
  ^- G) F+ ^1 V5 J, l# |00403246   E8 79C30200   call qsr.0042F5C4
$ O/ y1 V  N6 E; w0040324B   8D4C24 30     lea ecx,dword ptr ss:[esp+30]
; _: ]& R2 V; J, C9 Y2 A8 c2 R0040324F   885C24 3C     mov byte ptr ss:[esp+3C],bl4 @# C7 x: ^. k5 [
00403253   E8 33C20200   call qsr.0042F48B+ W% B$ x6 G+ W1 w. H; E+ ^( ]) x
00403258   6A 04       push 46 E$ g5 o/ H/ x1 ~) p
0040325A   8D5424 34     lea edx,dword ptr ss:[esp+34]5 O; x( h/ X8 Z7 E4 K
0040325E   57         push edi
7 o/ |$ s  d- @6 \9 M0040325F   52         push edx1 }: J9 P5 }6 h0 l0 z
00403260   8D4C24 50     lea ecx,dword ptr ss:[esp+50]
- C8 {: ~! Q5 {00403264   E8 7B530200   call qsr.004285E4
) ^# I; h" c& p1 Z/ t/ X  `00403269   50         push eax) P* ^! I, h5 D; u/ `
0040326A   8D4C24 1C     lea ecx,dword ptr ss:[esp+1C]3 w. x+ `" C, F) W2 G$ k) f' |
0040326E   C64424 40 0E   mov byte ptr ss:[esp+40],0E
, }0 D  Q( S0 u6 c8 }! U) U00403273   E8 4CC30200   call qsr.0042F5C4
1 c& J9 a/ w6 l8 p3 a# o5 `00403278   8D4C24 30     lea ecx,dword ptr ss:[esp+30]/ }* r, s1 p8 [
0040327C   885C24 3C     mov byte ptr ss:[esp+3C],bl
" n# A$ r/ t' {8 @+ T00403280   E8 06C20200   call qsr.0042F48B
- y1 @# T, g$ e7 D: O00403285   6A 04       push 4
2 r4 ]! Z$ D- T$ {: ]& K00403287   8D4424 34     lea eax,dword ptr ss:[esp+34]
+ ~9 o9 Q, S/ Z8 d0040328B   6A 0F       push 0F0 `* A5 R5 D. Z' A% f9 P+ J" j0 m+ s
0040328D   50         push eax3 R8 m, v6 Y- ^  e; O  u+ {$ U7 V
0040328E   8D4C24 50     lea ecx,dword ptr ss:[esp+50]
( e# ?, \/ n3 G00403292   E8 4D530200   call qsr.004285E4, i4 t; }& R: @
00403297   50         push eax8 ?3 G. h; w! V- e  V
00403298   8D4C24 18     lea ecx,dword ptr ss:[esp+18]
" z7 e4 V  \- x* c& y& l9 O0040329C   C64424 40 0F   mov byte ptr ss:[esp+40],0F
& M+ c3 c! b3 z0 U: b004032A1   E8 1EC30200   call qsr.0042F5C4
2 \) f) U2 S4 e, @% H! o004032A6   8D4C24 30     lea ecx,dword ptr ss:[esp+30]
6 i- K9 N( ~( q4 ?004032AA   885C24 3C     mov byte ptr ss:[esp+3C],bl
% \/ t' j1 r/ O, {4 n" A004032AE   E8 D8C10200   call qsr.0042F48B
  e2 |6 z+ [: {7 }& c5 M4 p004032B3   6A 04       push 45 e  A: u: z, ~" S4 N: x+ L
004032B5   8D4C24 34     lea ecx,dword ptr ss:[esp+34]
6 C9 m7 }) R# y: L3 |- `6 K+ E004032B9   6A 14       push 14( n1 T$ y* U6 u' X' J# r% v
004032BB   51         push ecx
: _# `1 m1 `( n( O7 m/ J4 S3 v004032BC   8D4C24 50     lea ecx,dword ptr ss:[esp+50]
1 E& |, o! J  E5 e% b004032C0   E8 1F530200   call qsr.004285E4
+ y/ o0 n: H  f004032C5   50         push eax5 S4 Z6 {( ?5 t/ G+ G
004032C6   8D4C24 14     lea ecx,dword ptr ss:[esp+14]
8 |0 }  U" \9 F) _2 R0 Q+ ]004032CA   C64424 40 10   mov byte ptr ss:[esp+40],10/ Z+ E! X1 p) o( R: s
004032CF   E8 F0C20200   call qsr.0042F5C41 v! A1 g3 A4 O! Q' {" W/ j
004032D4   8D4C24 30     lea ecx,dword ptr ss:[esp+30]; n+ A, c1 I# y& a4 }
004032D8   885C24 3C     mov byte ptr ss:[esp+3C],bl% n2 I" J7 ~8 Q, i" N) r- D: J
004032DC   E8 AAC10200   call qsr.0042F48B
# ^" \2 `8 m4 X  G6 u004032E1   8B7424 24     mov esi,dword ptr ss:[esp+24]       ; 注册码1到4位送ESI0 Y% G- D# A- \- }
004032E5   8B4424 28     mov eax,dword ptr ss:[esp+28]       ; 4893送EAX6 f/ k6 j" c/ h3 o% `- k8 g% V; [
004032E9   8A10         mov dl,byte ptr ds:[eax]           ; [eax]送DL3 s- [: r  Q/ }" R, K
004032EB   8A1E         mov bl,byte ptr ds:[esi]           ; [ESI]送BL
6 M" M+ R! Y  O2 \' g6 \004032ED   8ACA         mov cl,dl                     ; DL送CL
2 g# b3 V2 D: x! @8 t% P$ X004032EF   3AD3         cmp dl,bl                     ; DL和BL比较
; D" |" ?3 q0 E: ?6 J8 {1 z( l004032F1   75 1E       jnz short qsr.00403311           ; 不等就跳(不能跳): I/ o+ b6 Y+ G1 |; C/ N* I* ?
004032F3   84C9         test cl,cl
1 l, U- \+ n- T* ^004032F5   74 16       je short qsr.0040330D
! Q& R! B' S+ p% `% P8 d' {004032F7   8A50 01       mov dl,byte ptr ds:[eax+1]         ; [eax+1]送DL8 l# E5 x3 J- ~3 e
004032FA   8A5E 01       mov bl,byte ptr ds:[esi+1]         ; [esi+1]送BL# q6 C# j+ N& w- u3 a( b( B1 j( p7 t( X
004032FD   8ACA         mov cl,dl
, ]" h2 M& [8 H( P) u) c004032FF   3AD3         cmp dl,bl                     ; DL和BL比较1 O; P" r+ U5 h% D3 y7 M
00403301   75 0E       jnz short qsr.00403311           ; 不等就跳(不能跳)
0 \" t0 B5 N; u2 q2 T$ H00403303   83C0 02       add eax,2                     ; EAX加2
: S4 W! }% {' j, ]8 _00403306   83C6 02       add esi,2                     ; ESI加2& z- ?7 A, y9 T: a
00403309   84C9         test cl,cl/ R0 D. Q. q8 o/ P: A- _; t
0040330B ^ 75 DC       jnz short qsr.004032E9
* R% Q* S; G* }3 H0 t# I  k0040330D   33C0         xor eax,eax1 i( A! e1 r" F6 y* D4 v
0040330F   EB 05       jmp short qsr.00403316
9 ^4 D* D) V& f# f1 ?5 ~! H00403311   1BC0         sbb eax,eax$ V1 p- G( }! F0 {  ]& S; p
00403313   83D8 FF       sbb eax,-1" p5 ]( g0 }! J! V0 g7 _
00403316   85C0         test eax,eax- W6 q% O$ G  B" z
00403318   74 0E       je short qsr.004033283 D8 A. \; r3 ]  a
0040331A   C64424 3C 0A   mov byte ptr ss:[esp+3C],0A
6 c' c- D5 S+ |  E& u& K* `0040331F   8D4C24 10     lea ecx,dword ptr ss:[esp+10]
9 w. E0 U9 H; j1 B$ @5 \/ A  f00403323   E9 F0000000   jmp qsr.00403418
+ w0 ~0 V) |0 T9 t" ~+ u/ S00403328   8B4424 1C     mov eax,dword ptr ss:[esp+1C]       ; 注册码6到9位送EAX+ z: `% ]& A% }( l
0040332C   8D4C24 1C     lea ecx,dword ptr ss:[esp+1C]; G8 t. [5 C3 ?
00403330   8B40 F8       mov eax,dword ptr ds:[eax-8]
4 m1 \8 t: d9 T# a6 N5 Z00403333   50         push eax& F/ J" Y, T. T  m$ n5 {
00403334   E8 82C50200   call qsr.0042F8BB               ; 注册码6到9位送EAX
& r9 M! m8 n9 h$ N9 G+ ~00403339   50         push eax
9 m+ K3 h4 I' B1 ^& F: U2 m0040333A   E8 466D0100   call qsr.0041A085               ; 注册码6到9位转换成16进制送EAX: V9 I2 [, Y0 N5 Z. C! e
0040333F   8B4C24 1C     mov ecx,dword ptr ss:[esp+1C]       ; 注册码11到14位送ECX& M: ~2 Y: r/ a! X& }! k
00403343   83C4 04       add esp,4& u* e$ i* h1 A! T6 M$ \
00403346   8BF0         mov esi,eax                   ; 注册码6到9位的16进制送ESI
2 l. Q7 Y4 f: U6 [( \' u3 s4 T; t00403348   8B41 F8       mov eax,dword ptr ds:[ecx-8]) f: {6 x+ d1 t1 T" y7 @  l' ^: G
0040334B   8D4C24 18     lea ecx,dword ptr ss:[esp+18]- F* _8 r9 O9 N( W8 F* ~
0040334F   50         push eax9 I7 N) J3 E1 O% G' r4 F
00403350   E8 66C50200   call qsr.0042F8BB               ; 注册码11到14位送ECX5 e! ]+ h: y" n1 D) C8 ^
00403355   50         push eax
9 {  ?: a* J% B2 r00403356   E8 2A6D0100   call qsr.0041A085               ; 注册码11到14位转换为16进制送EAX
4 a) B. m# V) H" o2 f( u8 L0040335B   8B5424 18     mov edx,dword ptr ss:[esp+18]       ; 注册码16到19位送EDX
3 |+ l" V+ t# _/ Y7 i* u* W7 O0040335F   83C4 04       add esp,4
, M# [7 C) c/ N& |: F8 R$ D2 [00403362   8BF8         mov edi,eax                   ; 注册码11到14位的16进制送EDI9 P" |( U0 I3 L
00403364   8D4C24 14     lea ecx,dword ptr ss:[esp+14]/ O6 E6 y- ~) q; r3 U
00403368   8B42 F8       mov eax,dword ptr ds:[edx-8]8 q, q. H3 @, |0 P2 r- e4 q* K
0040336B   50         push eax
3 p5 I7 Y7 e3 N1 W8 q0040336C   E8 4AC50200   call qsr.0042F8BB               ; 注册码16到19位送EDX/ D: _% m, [1 x4 \
00403371   50         push eax
4 h# I0 `$ ^; c* m00403372   E8 0E6D0100   call qsr.0041A085               ; 注册码16到19位转换成16进制送EAX
, O! Q7 C& X5 H7 W  N. e* U+ E$ e00403377   8BD8         mov ebx,eax                   ; EAX送EBX
3 J9 N& P' [" A# P8 [00403379   8B4424 14     mov eax,dword ptr ss:[esp+14]       ; 注册码21到24位送EAX* A! [+ D7 Y9 G
0040337D   83C4 04       add esp,4
5 ^! [; l& M0 e% f00403380   8D4C24 10     lea ecx,dword ptr ss:[esp+10]
8 K3 l% i4 U8 P4 E* k, N8 D00403384   8B40 F8       mov eax,dword ptr ds:[eax-8]
9 Q3 B$ b( G/ Y00403387   50         push eax
& Z1 Q3 ^, a- R" u* C5 o) p: t1 E00403388   E8 2EC50200   call qsr.0042F8BB               ; 注册码21到24位送EAX) o3 [7 {- S# v4 f6 h/ n' i2 f. e3 c' q5 i
0040338D   50         push eax
! t" U& l- B1 i' _0040338E   E8 F26C0100   call qsr.0041A085               ; 注册码21到24位转换成16进制送EAX  B% U( d) S- M$ `: m
00403393   83C4 04       add esp,4
0 e4 ~" Y3 V: u! ~9 d00403396   8D4C24 1C     lea ecx,dword ptr ss:[esp+1C]
+ W2 {, }$ G2 ?2 r7 n+ d+ n0040339A   8BE8         mov ebp,eax                   ; EAX送EBP
+ a6 Q0 z8 P( d: o0040339C   6A FF       push -1
2 y% o& y0 R+ {0040339E   E8 67C50200   call qsr.0042F90A               ; 注册码6到9位送ECX,长度送EAX
6 w) g, v3 W6 ], D; q/ \004033A3   6A FF       push -12 f5 l, J# K& y% p
004033A5   8D4C24 1C     lea ecx,dword ptr ss:[esp+1C]       ; [esp+1C]送ECX
/ W2 d7 J# f" a" Y2 b004033A9   E8 5CC50200   call qsr.0042F90A               ; 注册码11到14位送ECX,长度送EAX/ m7 Z$ n6 P$ b( D) A5 J- O$ S  |
004033AE   6A FF       push -1! R* I1 Z% u, o0 R. z# a$ U* Z
004033B0   8D4C24 18     lea ecx,dword ptr ss:[esp+18]       ; [esp+18]送ECX' x: j! k" J; Q3 Y) {
004033B4   E8 51C50200   call qsr.0042F90A               ; 注册码16到19位送ECX,长度送EAX
6 t6 i; Q7 S4 g004033B9   6A FF       push -1
- [; k0 l' D% @' t8 X' b% \004033BB   8D4C24 14     lea ecx,dword ptr ss:[esp+14]       ; [esp+14]送ECX& _$ w. H$ R, _3 S# e
004033BF   E8 46C50200   call qsr.0042F90A               ; 注册码21到24位送ECX,长度送EAX* z4 n, T- Q  k4 {
004033C4   8D8CB6 04AB0000 lea ecx,dword ptr ds:[esi+esi*4+AB04] ; [esi+esi*4+AB04]送ECX: w0 ~- e8 r- I/ Q6 B1 R
004033CB   8D844E 34220000 lea eax,dword ptr ds:[esi+ecx*2+2234] ; [esi+ecx*2+2234]送EAX, W# W/ s; h' d$ e; P
004033D2   B9 10270000   mov ecx,2710                   ; 2710(10进制的10000)送ECX
. o$ K  ]1 I, d004033D7   D1E0         shl eax,1                     ; EAX左移1位+ N# {3 X* v8 e( p
004033D9   99         cdq                         ; EAX扩展3 p9 ^, X  ^: p+ [
004033DA   F7F9         idiv ecx                     ; EAX除以ECX,商在EAX中,余数在EDX中4 C6 `/ G. {! Z. y) j
004033DC   3BFA         cmp edi,edx                   ; EDX和注册码11到14位的16进制比较
" L+ Q1 [% X. a0 Y004033DE   74 0B       je short qsr.004033EB             ; 相等就跳(必须跳)- O9 l3 l: P& X  u
004033E0   C64424 3C 0A   mov byte ptr ss:[esp+3C],0A- I0 \) U$ J+ c8 |# [. X6 Z
004033E5   8D4C24 10     lea ecx,dword ptr ss:[esp+10]
- f" h& A9 c" N: q$ o( f, X004033E9   EB 2D       jmp short qsr.00403418
* Q% R7 R% Z$ a% i+ s0 f8 T) j004033EB   8D83 CAEAFFFF   lea eax,dword ptr ds:[ebx-1536]     ; [ebx-1536]送EAX
: m: T7 A: M. n7 c8 _1 }004033F1   81C3 E2090000   add ebx,9E2                   ; 16到19位注册码16进制加9E2& {. W3 [! O( t9 q# Z% T8 L
004033F7   99         cdq                         ; EBX扩展
. _1 M' [# T" d6 I004033F8   33C2         xor eax,edx                   ; EAX和EDX取异或# i/ e( y. T, f, @7 s
004033FA   B9 10270000   mov ecx,2710                   ; 2710(10进制的10000)送ECX/ h5 ?" z! w8 k. M3 g
004033FF   2BC2         sub eax,edx                   ; EAX减去EDX3 M) S; @. R( i; U) O
00403401   C64424 3C 0A   mov byte ptr ss:[esp+3C],0A         ; 0A送[esp+3C]. N. `. [  f& j$ w0 ?9 V
00403406   0FAFC3       imul eax,ebx                   ; EAX乘以EBX
; u( R& g4 z' K9 k0 j2 `00403409   99         cdq
1 j4 f3 n6 K: Z/ Z0 f0040340A   F7F9         idiv ecx                     ; EAX除以ECX,商在EAX中,余数在EDX中9 G7 ^/ U7 n. P/ h& c
0040340C   8D4C24 10     lea ecx,dword ptr ss:[esp+10]       ; [esp+10]送ECX$ ]2 M/ C$ R4 v
00403410   3BEA         cmp ebp,edx                   ; 注册码最后4位和EDX比较
4 b5 h7 R+ J' Z: D: C00403412   0F84 8D000000   je qsr.004034A5                 ; 等就跳(必须跳)& ]9 A! ?/ n: Z3 d! Y/ \
00403418   E8 6EC00200   call qsr.0042F48B               ; 9 `+ }" T) z' Z& a. U) ^( G
0040341D   8D4C24 14     lea ecx,dword ptr ss:[esp+14]# v9 c2 G; T- d7 J
00403421   C64424 3C 09   mov byte ptr ss:[esp+3C],9
7 F# y5 V# ^5 m: e/ k4 I2 C. ~00403426   E8 60C00200   call qsr.0042F48B+ T0 D* w; S/ p+ J7 y3 [
0040342B   8D4C24 18     lea ecx,dword ptr ss:[esp+18]
  J, g, K. A* j, a0040342F   C64424 3C 08   mov byte ptr ss:[esp+3C],8
5 X# @+ d1 z1 N$ v6 f" E00403434   E8 52C00200   call qsr.0042F48B: T8 j1 b3 z0 j4 x7 V5 {! l+ W
00403439   8D4C24 1C     lea ecx,dword ptr ss:[esp+1C]3 H+ s& e; s( w2 Q) \( f8 \% `# v) S
0040343D   C64424 3C 07   mov byte ptr ss:[esp+3C],73 ~% b. L2 [6 H
00403442   E8 44C00200   call qsr.0042F48B
- a1 {3 \4 F% @  V( D  _8 ?00403447   8D4C24 24     lea ecx,dword ptr ss:[esp+24]4 T0 X* K. c- ?  }0 I9 ~8 B: V
0040344B   C64424 3C 06   mov byte ptr ss:[esp+3C],6
+ s1 C- r+ S; e5 Y00403450   E8 36C00200   call qsr.0042F48B: h9 x! B7 I5 s: t
00403455   8D4C24 28     lea ecx,dword ptr ss:[esp+28]) F0 a+ ]1 N" J
00403459   C64424 3C 03   mov byte ptr ss:[esp+3C],3
) g! k/ {" a+ \' _. o$ U7 P8 R# m0040345E   E8 28C00200   call qsr.0042F48B
0 m& }* f! j# y) v00403463   8D4C24 2C     lea ecx,dword ptr ss:[esp+2C]
8 [) ?- m2 K, A+ v7 j6 G* m00403467   C64424 3C 02   mov byte ptr ss:[esp+3C],22 ?6 C7 g+ D9 G( T9 g
0040346C   E8 1AC00200   call qsr.0042F48B
; S/ V5 ~$ [+ T5 Z6 f00403471   8D4C24 20     lea ecx,dword ptr ss:[esp+20]
8 b1 k6 v- s4 q1 |  Q, u" V: @00403475   C64424 3C 01   mov byte ptr ss:[esp+3C],1
* e7 C  H5 v: I" D& h7 }0040347A   E8 0CC00200   call qsr.0042F48B
' w+ \: j( v: `! i  O" f/ V7 j0040347F   8D4C24 44     lea ecx,dword ptr ss:[esp+44]9 ^2 F3 c& Z7 J  O( f
00403483   C64424 3C 00   mov byte ptr ss:[esp+3C],0: g5 b- {% q, c
00403488   E8 FEBF0200   call qsr.0042F48B( i$ V. Y1 |. B
0040348D   8D4C24 48     lea ecx,dword ptr ss:[esp+48]
- }* ]- X- ^" u8 x6 Y00403491   C74424 3C FFFFF>mov dword ptr ss:[esp+3C],-1: r( M# w) L5 n  e
00403499   E8 EDBF0200   call qsr.0042F48B
% l" C4 o3 U3 S' j6 \0040349E   32C0         xor al,al                     ; AL清0& ]* E# {# X& B7 l0 ^$ B! u
004034A0   E9 88000000   jmp qsr.0040352D. X. y" P5 N. I, {9 m; k" Q
004034A5   E8 E1BF0200   call qsr.0042F48B   //以上两处均跳则来到这里,F8下去~~~~~~~~5 p/ Z' C$ y- ?% i
004034AA   8D4C24 14     lea ecx,dword ptr ss:[esp+14]
" y, u1 f) O" E3 B0 i0 N004034AE   C64424 3C 09   mov byte ptr ss:[esp+3C],9
# ^0 A5 \! J: ?  z; @004034B3   E8 D3BF0200   call qsr.0042F48B- E6 p+ m/ q9 {& s. s7 m, L5 y5 F! A
004034B8   8D4C24 18     lea ecx,dword ptr ss:[esp+18]: i' O+ y& H# @% @
004034BC   C64424 3C 08   mov byte ptr ss:[esp+3C],8
( l& O) F% P/ X5 L9 |1 N, J+ E004034C1   E8 C5BF0200   call qsr.0042F48B- A; E; q& C- O% o. W, q
004034C6   8D4C24 1C     lea ecx,dword ptr ss:[esp+1C]
1 B" o  R2 O9 E+ c3 m3 F$ n004034CA   C64424 3C 07   mov byte ptr ss:[esp+3C],7
" ?/ r- F. E- m7 k004034CF   E8 B7BF0200   call qsr.0042F48B( H- ?0 G! s: N6 w5 B
004034D4   8D4C24 24     lea ecx,dword ptr ss:[esp+24]
( I" F; r0 v2 ^+ ]0 n2 R) _% \004034D8   C64424 3C 06   mov byte ptr ss:[esp+3C],6' i9 S4 ~" d' I
004034DD   E8 A9BF0200   call qsr.0042F48B) T4 }) V# A. T6 A+ @# r
004034E2   8D4C24 28     lea ecx,dword ptr ss:[esp+28]4 r; N: V3 _# l6 D2 @; K
004034E6   C64424 3C 03   mov byte ptr ss:[esp+3C],3  B, H" E7 \% h* k
004034EB   E8 9BBF0200   call qsr.0042F48B5 ?6 [! O+ Y8 c) O
004034F0   8D4C24 2C     lea ecx,dword ptr ss:[esp+2C]! S: v/ W( G  ^0 L& O" C
004034F4   C64424 3C 02   mov byte ptr ss:[esp+3C],2
5 g9 a5 v: f1 V5 J8 ]004034F9   E8 8DBF0200   call qsr.0042F48B
# T9 {, w. X( H4 t! S9 H004034FE   8D4C24 20     lea ecx,dword ptr ss:[esp+20]
7 Q$ m" O& O; o3 r1 F2 F0 [00403502   C64424 3C 01   mov byte ptr ss:[esp+3C],1# R* }3 ?' W# e% u, T; S! t) e- A; [6 H
00403507   E8 7FBF0200   call qsr.0042F48B
, }+ p( V" _) H0040350C   8D4C24 44     lea ecx,dword ptr ss:[esp+44]
: u8 w) T0 c% V6 x  ~00403510   C64424 3C 00   mov byte ptr ss:[esp+3C],00 O6 T& |6 M& h- ~. D
00403515   E8 71BF0200   call qsr.0042F48B! g& j6 z0 S1 {8 ]- c3 X
0040351A   8D4C24 48     lea ecx,dword ptr ss:[esp+48]1 O2 s$ c+ A! U5 }! h. ]
0040351E   C74424 3C FFFFF>mov dword ptr ss:[esp+3C],-1
8 L- x4 \8 w8 Q! ^4 W; w* U; S00403526   E8 60BF0200   call qsr.0042F48B" C3 K5 Z. B$ U+ T0 R) j2 S+ \1 T
0040352B   B0 01       mov al,1
6 v4 Y5 n. o4 Y; v' C2 i0040352D   8B4C24 34     mov ecx,dword ptr ss:[esp+34]
$ S% o& c# T0 T/ n) ?00403531   5F         pop edi
* k) Q. H) i( ?, u00403532   5E         pop esi8 p6 E9 A9 q. g( d
00403533   5D         pop ebp/ X. H3 F! [$ M  [4 z5 G
00403534   5B         pop ebx4 `" N5 G0 w# t" V9 ]# q. Z; r: L+ a
00403535   64:890D 0000000>mov dword ptr fs:[0],ecx
: g/ p* C+ I0 K9 a; @0040353C   83C4 30       add esp,30
5 [5 U2 z) I( J' P+ ]" H3 {* X0040353F   C2 0800       retn 8
) x# O% K% \. B7 b% t--------------------------------------------------------------------------------& k: P8 L: I! {, g4 u. P# D
【破解总结】
0 b; f) z  j8 Q$ Z( H/ ]; D5 ~  用户名必须大于2,注册码必须为24位。注册码前4位由用户名决定,11到14位由6到9位决定,21到24由16到19位决定,5,10,15,20任意^-^
; H3 W* k; W# l* o% o; e用户名:yijun
1 q% ~8 d( v$ U0 Q8 M7 @( m0 w% \注册码:4893*7777*3726*7777*0529% b3 i* N6 ^) \6 T
--------------------------------------------------------------------------------- i2 P' A. ^7 o+ g% k3 O: o; ^
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
发表于 2006-9-2 01:19:00 | 显示全部楼层
如果是原创应该加精的。虽然程序并没有难度。但是也是要耗费很多时间和精力的。呵呵。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入华同

本版积分规则

Archiver|手机版|小黑屋|华人同志

GMT+8, 2024-12-26 00:36 , Processed in 0.060475 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表