软件简介:
f; D1 \; G, C; {8 z; {【文章标题】: 破解人事管理系统
2 G8 z/ T: i3 i【软件名称】: 人事管理系统# u V3 n6 j( S( B: _( r4 F0 d/ T
【软件大小】: 1959KB
) B: D" t, X7 p& P" M7 n' p3 m C【破解工具】: ODbyDYK v1.10 12.06 PEDIY
6 F) c- e8 B! ~* |【下载地址】: 自己搜索下载0 q2 O8 u$ D7 @5 G2 C0 e' K4 S
【加壳方式】: DxPack V0.86 -Dxd *
( Z* @% J5 M2 A* w【保护方式】: 加壳
7 D# j- M" p. E, a5 P& l【操作平台】: XP,2000,2003
+ _/ q8 B4 u" A# x【软件介绍】: 企业人事管理系统
) v- Y' L1 }4 z5 d【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
' D# k* I* m) N3 s4 e% q u【破解者 】:孤狐浪子: r) k. M: g% ~1 L- ]
【QQ 】:393214425
! { Z" u/ v2 ]0 d1 J. n. s【本人BLOG】:HTTP://itpro.blog.163.com
2 x0 p5 R9 H: q# G' Q- c; Q- Q--------------------------------------------------------------------------------
, t# W1 \! y) M& O6 M一、脱壳、呵呵是个鸡蛋壳
# w6 x( l( u% G; O+ I; h u3 o: X" }开脱破解:
4 `, y6 _7 B, a: G3 C, H- actrl+G查找此地址" X- E4 ~* ~& q$ L- L; w9 l/ p
输入假码8888888888888888888888888 5 r8 X" _* s) b: n3 |4 ~
然后运行3 M( N' n/ ]% I: M: h& _
0070DE96 8D45 E8 lea eax,dword ptr ss:[ebp-18] //下断点
f4 K$ N F; n- ~, g0070DE99 50 push eax: S8 n, i ?4 m: Q8 i# J' _' _
0070DE9A B9 08000000 mov ecx,8! _+ r* L0 U) U3 H# l3 N
0070DE9F BA 1C000000 mov edx,1C
* n5 K6 ]8 a; ~* {0070DEA4 8B45 F8 mov eax,dword ptr ss:[ebp-8]) G) O l9 ^: s0 A
0070DEA7 E8 1871CFFF call RSGL1111.00404FC4+ `- s2 Y3 P- x
0070DEAC 8D45 C8 lea eax,dword ptr ss:[ebp-38]" M. ~" Z" g2 [6 h
0070DEAF 50 push eax
* n" V$ V, g: t* a. f( T# s0070DEB0 B9 1C000000 mov ecx,1C5 m4 Y% V3 N a
0070DEB5 8B55 E8 mov edx,dword ptr ss:[ebp-18]% N* T4 ]3 e& f% e: P
0070DEB8 8BC3 mov eax,ebx
8 H" y. R4 J( x0070DEBA E8 1D010000 call RSGL1111.0070DFDC; ?% A& q6 b. l4 F5 Q8 y) v6 ?$ y$ y1 d
0070DEBF 8B55 C8 mov edx,dword ptr ss:[ebp-38]/ V/ z" V1 g8 V# L1 U2 r: d
0070DEC2 8D45 E8 lea eax,dword ptr ss:[ebp-18]
2 f1 ?% B; R; e: B/ x3 _5 Y0070DEC5 E8 726CCFFF call RSGL1111.00404B3C
6 d# x0 _+ l. G( V$ G* [+ j0070DECA FF75 E8 push dword ptr ss:[ebp-18]堆栈 ss:[0012EED0]=01092548, (ASCII FE9C7994)
& Y8 c+ W6 a6 V" |此处的注册码忘记复制了。不好意思,: G! Y% W" [8 D, V
0070DECD 68 80DF7000 push RSGL1111.0070DF80
4 l+ T9 a3 d9 E, c' s0070DED2 FF75 EC push dword ptr ss:[ebp-14] 堆栈 ss:[0012EED4]=0BA90EF8, (ASCII 4RUUNMLK)$ S+ P* e% v1 [" ?1 j
0070DED5 68 80DF7000 push RSGL1111.0070DF80
( k% A: R, F* y# T. m# [' q0070DEDA FF75 F0 push dword ptr ss:[ebp-10] 堆栈 ss:[0012EED8]=0BA90EE0, (ASCII IHOFFDCB)
& b) F6 T( Y" V9 g) f0070DEDD 68 80DF7000 push RSGL1111.0070DF80
" B. l% P) K8 o2 A' n8 q1 b" z0070DEE2 FF75 F4 push dword ptr ss:[ebp-C]堆栈 ss:[0012EEDC]=0BA90EC8, (ASCII ICM65432)' g8 A0 U& |$ \
0070DEE5 8D45 FC lea eax,dword ptr ss:[ebp-4]$ E, J$ c. h& W( Y) [
0070DEE8 BA 07000000 mov edx,7
0 a" I- ~9 o& A& M0 y7 j0070DEED E8 3A6FCFFF call RSGL1111.00404E2C( Z& y6 W0 R* W- _5 s/ ?/ ]) A. v
0070DEF2 8D55 C4 lea edx,dword ptr ss:[ebp-3C]3 v1 S7 T% y: D) [; Q8 U6 [
0070DEF5 8B83 F8020000 mov eax,dword ptr ds:[ebx+2F8]
+ ]! h9 B. i* t) W0070DEFB E8 F097D4FF call RSGL1111.004576F01 Q& [0 X1 a/ H+ F. Z3 d
0070DF00 8B45 C4 mov eax,dword ptr ss:[ebp-3C]2 W4 W8 t/ h" W6 K
0070DF03 8B55 FC mov edx,dword ptr ss:[ebp-4]) f5 ]: M0 |! v8 G/ T8 S
0070DF06 E8 A56FCFFF call RSGL1111.00404EB0, f; }% T* O/ r' n# U7 G3 D X D
0070DF0B 75 13 jnz short RSGL1111.0070DF20( V. O; T% w- p1 q( b0 ~7 _1 f
0070DF0D 8BC3 mov eax,ebx2 [# w2 \8 J$ O3 x- P
0070DF0F E8 98FBFFFF call RSGL1111.0070DAAC6 K6 {+ E4 B8 X2 A6 C; N4 `
我们注册一下看是不是真正的注册码。呵呵正确咧。4 m; y2 ?0 E( g
以下是初学破解者必看:
; T( b, U/ ^5 i# \4 i9 s2 m) f8 |' C经典比较组合,常为注册码出现处9 j' @& e" K: y# k! b1 H
(by programhunter)
6 K* S/ N! \7 z# e& n6 v1 mov eax [ ] 这里可以是地址,也可以是其它寄存器
0 x6 {$ L. ]$ h, q( ~. h6 Qmov edx [ ] 同上 通常这两个地址就储存着重要信息( p/ R8 U; a+ W9 Q6 k' l
call 00??????
+ F+ B: n. F: g. J$ k: o8 Ttest eax eax! {* I) B" q A( `: L( {
jz(jnz)
; K) W: Z; m" p) X$ h9 ?6 ^3 L2 mov eax [ ] 这里可以是地址,也可以是其它寄存器
# U& j, ] T/ W- ~9 F! Hmov edx [ ] 同上 通常这两个地址就储存着重要信息% `* T; | N$ c8 f
call 00??????' W# f2 v" _: i$ |% }4 O" Q/ I
jne(je)
' r5 h; V1 U" A5 f9 N) J. I3 mov eax [ ]
, t9 U. ]& I$ h# q4 p$ emov edx [ ]% u4 \: E! z; x7 Q2 }. U) @( q
cmp eax,edx
4 K& P8 K# ~; \* T9 rjnz(jz). F3 j0 ? B6 t% R
或者 begin mov al [ ]
0 T: \# I" T4 m# D0 N4 H% Vmov cl [ ]
$ f; }+ G3 Z. ]+ ?) gcmp al,cl8 U* c' g- ]% t3 s) Y7 A
jnz(jz)
0 ^- t$ r5 q( O* J0 lmov al [ +1] Z7 S% B7 c: K0 S# r
mov cl [ +1]
k2 O T' Q% j* W6 d& P0 gcmp al,cl+ F7 V4 \: }5 g9 ~
jnz(jz)+ ]' y P/ r+ `$ f4 w! {. |, J K1 ?$ j
cmp eax ecx (eax为计数器)5 j/ m3 E% l! E7 |! ^
jnl begin
: H H! Y" S# k2 B% L' lmov al 01- K* }4 y/ h6 c$ M) V5 @% s
4 lea edi [ ]- \% V; {# D- r
lea esi [ ], x- B* `6 `: p2 Q+ _( }) g
repz cmpsd
4 t( C# l" r% N+ s+ u) J# Ljz(jnz)
! l$ s+ U& s+ ~7 `0 J5 n5 mov eax [ ] 这里可以是地址,也可以是其它寄存器* @8 P& m6 a0 U% D9 w$ X/ y
mov edx [ ] 同上 通常这两个地址就储存着重要信息. `/ c5 t! n9 f V' P8 w
call 00??????3 V y: a' j+ a% m: @
setz (setnz) al (bl,cl)6 T! Q+ ~9 C0 w
6 mov eax [ ] 这里可以是地址,也可以是其它寄存器
3 t6 k2 W6 h8 {. rmov edx [ ] 同上 通常这两个地址就储存着重要信息- r$ S& h( @. q, {; A/ j
call 00??????5 g# `% ]# X; U9 R2 Q5 W, `* z4 l
test eax eax3 _& |; ^" b9 J
setz (setnz) bl,cl# L) k* K! [' y8 H
7 call 00?????? ***
) O7 U- f4 {0 {6 K2 Spush eax (ebx,ecx)
$ Q1 P4 u2 S( K5 m# h4 w. v7 J$ b5 B V" ]5 b; |
call 00??????
n2 q% n3 _, i" _pop eax (ebx,ecx)
) t- @3 A3 I8 x7 l5 v. C5 _( t, Ntest eax eax
+ e( k3 w1 j- ]: w7 _2 |jz(jnz)
. L+ q3 t- L8 C8 ]这个形式比较特别,它的关键比较地方不在第二call中,而在第一call中! `. @7 E4 p/ ~) |+ Z {! R2 Z
(2)注册码按字节依次给出
7 p9 Z# R( ]% [; p% K:0042A159 0FBE03 movsx eax, byte ptr [ebx]
" \/ V3 n6 E7 ^:0042A15C 50 push eax ^^^^^5 [+ d5 b! X# V! g
:0042A15D E8228C0400 call 00472D842 z; _2 i- u3 ]6 M3 t
:0042A162 59 pop ecx
: y5 i8 i+ T5 P' i, s! ?:0042A163 83F84A cmp eax, 0000004A ----J
, J& ~/ W% | p/ V:0042A166 7559 jne 0042A1C1) O7 ?+ f @* m w
:0042A168 0FBE5301 movsx edx, byte ptr [ebx+01]
2 Y1 z- {$ c l3 O) R! m:0042A16C 52 push edx ^^^^^^^
4 ]6 o) Z& u6 v, y4 J- v4 u& }:0042A16D E8128C0400 call 00472D84
" g. y0 \8 \: V% T! [% a:0042A172 59 pop ecx
; _# T8 S6 B5 V* t m, O:0042A173 83F853 cmp eax, 000000534 j! S+ f# T( Z1 X1 r7 f
^^^^^^^^^^^^^^^^^---- S
9 a2 H- i2 L" g! a3 u:0042A176 7549 jne 0042A1C1# |) E! @2 _, B- |
:0042A178 0FBE4B02 movsx ecx, byte ptr [ebx+02]
. O- J4 s' ~' s, g:0042A17C 83F924 cmp ecx, 00000024 ^^^^^^^/ Y8 C/ Z/ B* V9 f$ b9 L( D
^^^^^^^^^^^^^^^^^---- $2 s0 K, g: }" I0 Y1 { O4 k
:0042A17F 7540 jne 0042A1C1
2 ~/ P# V' {7 j- @# X& s; X" P+ |:0042A181 0FBE4303 movsx eax, byte ptr [ebx+03]
; U6 N( {" J9 n/ E: r9 G:0042A185 83F832 cmp eax, 00000032 ^^^^^^^^
% I; N! {) |& B2 v^^^^^^^^^^^^^^^^^---- 2
0 c% g' G! g2 Q& d( J" _5 d:0042A188 7537 jne 0042A1C1. k2 X5 q O( d3 j
:0042A18A 0FBE5304 movsx edx, byte ptr [ebx+04]
2 a" Q4 B7 F* M2 n& I:0042A18E 83FA38 cmp edx, 00000038 ^^^^^^^^- r) ?1 s5 O3 p/ L+ ~- w$ k, ?
^^^^^^^^^^^^^^^^^---- 8" J, a% B4 M! n& D5 j
:0042A191 752E jne 0042A1C1
+ \& J! I$ }3 S( }' W: `6 n:0042A193 0FBE4B05 movsx ecx, byte ptr [ebx+05]. V4 }/ ?/ y" D( i9 d
:0042A197 83F939 cmp ecx, 00000039 ^^^^^^^
& [7 ~2 v: s' ]- B) u- R^^^^^^^^^^^^^^^^^---- 9' r. J4 Z9 u0 k3 R: }
:0042A19A 7525 jne 0042A1C1- w" t- o5 J3 E& _5 \& e$ A ]
:0042A19C 0FBE4306 movsx eax, byte ptr [ebx+06]
& }/ o% k7 k! W4 a$ v:0042A1A0 83F832 cmp eax, 00000032 ^^^^^^^^
1 T9 D! r8 D4 c) ]$ w3 }! Q2 e^^^^^^^^^^^^^^^^^---- 2
3 V; E1 H, w( Z3 ], V. W:0042A1A3 751C jne 0042A1C16 M9 i$ f, }6 d8 z( a
:0042A1A5 0FBE5307 movsx edx, byte ptr [ebx+07]
' b( y5 L: B$ \0 V:0042A1A9 83FA31 cmp edx, 00000031 ^^^^^^^^) ~+ _8 b$ G# T+ }* b. y
^^^^^^^^^^^^^^^^^0 [1 J v! ^# r
-----1
2 C' L6 |( o: F0 Z(3)比较位数
. p- y3 m. ]0 e6 s& bcmp dword ptr[ebp-04],0000000A
# x" D8 L# y% {) X! ]jne/jge/jle/je 00xxxx5 B6 f, [9 ~, ]. q) _) B& m; G! ~
或
5 g" V& x; ]4 ~3 U/ L6 i$ P$ fmov eax, dword ptr [ebp-04]
2 J0 l0 z. h3 N& c* Fcall 00xxxx
" @2 `3 d% w! X% p# L; B4 x) y0 qcmp eax, 0000000A ----比较注册码是否为10位, s6 k1 @9 F, S, A: ^& ^. T5 D
jne 00xxxxx ----不是,错
7 C6 U6 [, O5 o(4)VB程序经典比较" _/ X; \8 r; o6 g/ D
PUSH XXX //假注册码
" ^. Z0 _: ~. X* W# o3 D3 [ gPUSH XXX //真注册码8 r) I; O, K/ o0 s. j7 b' u! }
CALL [MSVBVM60!__vbaStrCmp]8 n7 T6 X! b9 t' `+ K& Q
TEST EAX,EAX
" r: g* J9 A; K: m9 BJNZ 00XXXXX
. S+ Q+ h: C; j0 r(5)SmartCheck中,注册码常出现处
J( W3 g0 d I; N( Y, x. a__vbasrtcmp(String:zzzzz,String:yyyyy)returns! U8 R% m6 O; X" a: J3 ^+ }3 C% h
__vbaStrVarVal(VARIATN:Stringa) returns* S$ Z: `! [1 k) {# U
__vbaVarTstEq(VARIANT:****, VARIANT:****) returns U7 e9 E3 q% n) Q! t( e
(6)依次取两位比较
* F1 f' T5 R' G:004044D8 8A10 mov dl, byte ptr [eax]3 u4 w$ T3 D6 v- i0 \
:004044DA 8ACA mov cl, dl
; d) t! x* S5 [, R1 d _8 f# b& W:004044DC 3A16 cmp dl, byte ptr [esi]
1 L% t8 k& l, W, X( G4 }:004044DE 751C jne 004044FC
5 ]5 C Y R. c$ O! v1 t:004044E0 84C9 test cl, cl
) Y0 p: P/ t3 L% K: r; m: A1 y, b( z:004044E2 7414 je 004044F8) `3 r% k6 _3 X3 M2 b6 ]5 i
:004044E4 8A5001 mov dl, byte ptr [eax+01]# u3 t n* g! y3 R, U
:004044E7 8ACA mov cl, dl% Z8 K ]4 q# ?& p& g1 }5 o+ Z6 b$ S
:004044E9 3A5601 cmp dl, byte ptr [esi+01]
! R2 R; A; B- g:004044EC 750E jne 004044FC& P0 @, K* s* X, n
:004044EE 83C002 add eax, 00000002 ***0 s& [5 o0 t- c
:004044F1 83C602 add esi, 00000002 ***
# [4 _, U! I- w7 M6 C6 \, _5 f:004044F4 84C9 test cl, cl
( ?. `+ `2 n" [:004044F6 75E0 jne 004044D8
1 b' D& r2 n+ B, e+ n. F8 c& ^3 R9 T每次程序依次取两位,放入byte ptr [esi],byte ptr [esi+1],与eax, eax+1比较。如此循环
3 |# c2 \, o* ^1 C/ h& j2 D2007年09月13日 13:13:43: Q: h9 f$ X9 A m
下载地址:
|