|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小妖城在线论坛7 ~2 a) c# A' f1 r0 M
4 |$ l- X0 F7 e0 ]- k$ Z7 x% G$ ~
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
* g9 N5 {) P6 s+ u9 X% l—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
; [4 ]/ E- q! c k& ^我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 s5 b: J5 @) `/ u$ ~4 _
! X2 e! i' z' M4 a" l% r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# p& W# ^) q/ J7 ?8 D! M3 P& l
魔力私服,最新魔力宝贝私服技术交流* v$ b' ^+ z% [- A) K8 g3 }
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
0 }" i5 S6 s6 ?( {6 `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
; {7 V9 \1 q2 v# _ Q1 r1 c1 Y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート同时希望将此贴置顶?……妖城在线论坛7 K( D" e+ l' C/ y/ T- P
妖城在线论坛$ E# g2 K, e/ B# y
注:需使用到 反汇编工具IDA
+ l; X, S! Q! d% } r* j' p8 T1 J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流" R4 H B, Z8 g
.text:08074098 ; =============== S U B R O U T I N E =======================================魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 J) U3 ]) i# ? X$ M7 Y' T. Q) A
.text:080740989 H0 y4 m0 ~/ W1 ~- X" E
.text:08074098 ; Attributes: bp-based frame魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 S: C6 l/ a: G' `0 B* H" l0 G
.text:08074098
5 f: A4 [7 H+ R ^魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 public CHAR_GetLevelExp
3 Q0 d W/ m7 G9 G1 r+ Q6 y魔力私服,最新魔力宝贝私服技术交流.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p0 ^9 K* U5 L+ j! `9 U
.text:08074098 ; CHAR_make_CP_String+517p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- {* B' ~5 i y M \: |6 P2 j
.text:08074098 ; CHAR_make_KP_String+5AAp
& e8 }( f+ S, |; s8 m! n4 Z2 O4 ?.text:08074098 ; PET_createPetFromCharaIndex+1BEp
* p/ O( y; w& k$ Z.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
* e+ M4 ?+ ?8 r5 u6 O魔力私服,最新魔力宝贝私服技术交流.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- c) P5 u% F- E/ [
.text:08074098 arg_0 = dword ptr 8魔力私服,最新魔力宝贝私服技术交流5 J# P5 P8 A0 }& r5 }/ g
.text:08074098
# ^! h$ l+ B) x) v. O$ T$ U4 P—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 push ebp ; 函数功能:妖城在线论坛! z8 m" ]2 e4 N/ J8 f j
.text:08074098 ; 取得人物或者宠物下一级的升级经验值—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) m$ Z4 F% @0 z) K" V; p
.text:08074098 ; 入口参数:等级值魔力私服,最新魔力宝贝私服技术交流/ t- u: c' E; a1 M0 E
.text:08074098 ; 出口参数:eax即下一级的升级经验值bbs.mocwww.com8 G4 ]' y1 P0 U: s3 m2 X9 H/ l4 p
.text:08074099 mov ebp, esp
( R0 x- _8 J* _- n- D# vbbs.mocwww.com.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
% @0 e t3 e8 e.text:0807409E cmp edx, 78h ; 与78h即120比较/ Z7 s6 `2 d- G" q8 S- _$ X
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
8 [; w4 |" Z# w0 [4 P/ a [5 i- W; fbbs.mocwww.com.text:080740A3 cmp edx, 82h ; 与82h即130比较
) C& S4 y' k, c+ `5 L0 [) A, c魔力私服,最新魔力宝贝私服技术交流.text:080740A9 jg short loc_80740B8 ; 大于则跳转
& B# \% g( s; b& E4 j魔力私服,最新魔力宝贝私服技术交流.text:080740AB mov eax, edx ; 否则将等级值放入eax
3 O3 @, {6 |0 J- A4 n& U妖城在线论坛.text:080740AD imul eax, edx ; 2次方bbs.mocwww.com6 q T1 Z8 V9 L( ^6 ^
.text:080740B0 imul eax, edx ; 3次方魔力私服,最新魔力宝贝私服技术交流8 j7 B- ^$ s0 Z8 s1 q( s6 X
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方魔力私服,最新魔力宝贝私服技术交流5 R) V8 ^- s+ @" x$ \: x, p, Q
.text:080740B6; u& z4 k: T/ L' X: W
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
% h4 \. N7 ]8 u; C妖城在线论坛.text:080740B6 ; CHAR_GetLevelExp+2Fjbbs.mocwww.com+ \7 p# g! a/ _- x( I7 J
.text:080740B6 leave
- Z4 u' S' G) H* y! @9 a" g魔力私服,最新魔力宝贝私服技术交流.text:080740B7 retn/ F& A% I8 p/ u8 G9 S$ r3 S+ m( B
.text:080740B8 ; ---------------------------------------------------------------------------
8 {4 O2 v3 b- |: L魔力私服,最新魔力宝贝私服技术交流.text:080740B8魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 a: B7 U) b: c# M8 i! L0 L: d
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
# t% v4 T A, d z+ G9 D0 L: |魔力私服,最新魔力宝贝私服技术交流.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
& R' N; ]. t+ `) A- e6 z( j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B8 ; 游戏内看到的是一个 - 号
: @4 E+ c. m, M* G; V& f—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740BD jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ f) T/ s2 M# x( ]
.text:080740BD ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 a2 Q, K# ~3 H7 a0 j4 o% v- C8 \
.text:080740BF align 10h9 V, U" y/ t0 \/ u( d0 M6 O
.text:080740C0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 u* C W# }# p+ q: B( j0 v/ W1 J
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j/ o! f9 J4 a6 t% h5 `) `, K
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
* V7 x- s/ G3 Ybbs.mocwww.com.text:080740C0 ; 即LevelUpTbl
4 J8 i9 |4 X9 H+ Z5 ~.text:080740C7 jmp short locret_80740B6 ; 函数结束$ S0 z# a9 R4 m2 T- {
.text:080740C7 CHAR_GetLevelExp endp
, p; H! u. `6 b9 k: V8 Z$ @0 I( {魔力私服,最新魔力宝贝私服技术交流.text:080740C7* k3 z. k, c, ~) x3 b( I
.text:080740C7 ; ---------------------------------------------------------------------------bbs.mocwww.com* M4 b1 I: i4 t4 `2 o
4 Y2 `/ U% H% r: r: p魔力私服,最新魔力宝贝私服技术交流
. i. Z$ [- w A* ~
, S# D- T9 x* [) J; ]3 r魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|