|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
5 ]6 k& P+ S$ D; q魔力私服,最新魔力宝贝私服技术交流
6 j1 u0 F: e6 @: i妖城在线论坛在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- L/ W! u& L) x& X
- t V" m2 N" i, i
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后bbs.mocwww.com0 M0 n$ m6 v5 [8 ?" h
6 y& _0 z) A+ L- v M% |
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
' t W' v+ k1 l7 z9 u4 H魔力私服,最新魔力宝贝私服技术交流
; e! s% R/ v) S" y* |" k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
, u1 H2 w% j5 ^! Pbbs.mocwww.com
2 f- B2 ~+ p# W% c3 p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表同时希望将此贴置顶?……0 y2 e* U/ }. G
魔力私服,最新魔力宝贝私服技术交流5 x {$ s0 i* l, a; J. T
注:需使用到 反汇编工具IDA% d+ ?7 r! h. D5 \
; t" s Q- I7 w6 {5 j: t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; =============== S U B R O U T I N E =======================================魔力私服,最新魔力宝贝私服技术交流% C: H4 B* p9 j8 v5 R! N
.text:080740983 j4 C& i3 s' N' C' Y& J
.text:08074098 ; Attributes: bp-based frame
0 a/ y: E. P: o& K9 B妖城在线论坛.text:08074098bbs.mocwww.com+ z( L0 s: M/ v: b- s
.text:08074098 public CHAR_GetLevelExpbbs.mocwww.com( P) }. A/ r M0 b8 a p
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 w* L9 h+ q3 ]+ P% |8 j8 I' ?
.text:08074098 ; CHAR_make_CP_String+517p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, L0 B. E- D/ E8 O" z
.text:08074098 ; CHAR_make_KP_String+5AApbbs.mocwww.com1 _+ X: U; }/ f8 h* w1 p& H$ P
.text:08074098 ; PET_createPetFromCharaIndex+1BEp妖城在线论坛" q8 {$ R& N) E9 D1 y
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
! I1 ~5 K8 z! A+ V9 d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数妖城在线论坛5 k, {) U+ t8 \' Y5 Y
.text:08074098 arg_0 = dword ptr 8—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 o7 |" A: |* m4 b
.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ X( Q0 B1 z* E
.text:08074098 push ebp ; 函数功能:
: ]4 P: n8 z6 G+ g- }$ X! L.text:08074098 ; 取得人物或者宠物下一级的升级经验值—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! S6 v5 _; x; N o3 x+ h
.text:08074098 ; 入口参数:等级值
. R- g5 P/ f9 |/ d8 C9 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; 出口参数:eax即下一级的升级经验值
, S% S" b3 u6 J- e魔力私服,最新魔力宝贝私服技术交流.text:08074099 mov ebp, espbbs.mocwww.com& Q. ?) e7 h9 z
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
8 _+ L8 B- Q6 A$ ^* f! q7 ^.text:0807409E cmp edx, 78h ; 与78h即120比较妖城在线论坛8 v( {9 j$ ]$ U* b8 \1 I
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
5 M- q$ w$ H) E2 J3 Ibbs.mocwww.com.text:080740A3 cmp edx, 82h ; 与82h即130比较
$ x- g/ h- l3 N, l0 E+ d* e; E+ ^魔力私服,最新魔力宝贝私服技术交流.text:080740A9 jg short loc_80740B8 ; 大于则跳转bbs.mocwww.com: z/ P! ^$ I2 @* i T4 K: l! T
.text:080740AB mov eax, edx ; 否则将等级值放入eaxbbs.mocwww.com; F, T! i: }5 G3 W
.text:080740AD imul eax, edx ; 2次方5 r' q: q( l+ u. K0 E) s. G/ ]2 h4 W
.text:080740B0 imul eax, edx ; 3次方bbs.mocwww.com: G* m0 G% ~/ H
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
" ?" [+ o0 g3 J( c+ h+ }* P魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6
; ~9 ?; M1 Q3 \7 `/ X$ o7 M+ _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
# a3 K) o5 O9 B7 y.text:080740B6 ; CHAR_GetLevelExp+2Fj
4 i0 u6 p% [, c k- w魔力私服,最新魔力宝贝私服技术交流.text:080740B6 leave魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ J" W2 J' r4 E) i+ L1 G
.text:080740B7 retn
4 E7 [, J2 B: q& ^$ C- S2 P4 ~ p妖城在线论坛.text:080740B8 ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流) N$ g1 K- E* ?
.text:080740B8bbs.mocwww.com/ s$ h: ], X$ Y/ B
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
8 K+ U7 E3 j1 S.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
2 h0 W& @% s) ~! Xbbs.mocwww.com.text:080740B8 ; 游戏内看到的是一个 - 号
# \ u% d" Q2 }7 F8 t, c.text:080740BD jmp short locret_80740B6 ; 函数结束妖城在线论坛6 O1 j D( e3 o& e0 F
.text:080740BD ; ---------------------------------------------------------------------------魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 U \; M( F( r) @; ^8 G
.text:080740BF align 10h
4 X+ O* [* F! X, U$ R) l.text:080740C0
4 c, F; h1 J5 t/ c7 _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9jbbs.mocwww.com' }; S8 j. O' a
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! L& f: d! N% E
.text:080740C0 ; 即LevelUpTbl魔力私服,最新魔力宝贝私服技术交流% v2 N; h& r) L3 u. I4 X
.text:080740C7 jmp short locret_80740B6 ; 函数结束
% s3 X1 f+ w5 K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C7 CHAR_GetLevelExp endp
: W$ M9 e: R6 N, Ebbs.mocwww.com.text:080740C7
- d. p& x% L4 N; m魔力私服,最新魔力宝贝私服技术交流.text:080740C7 ; ---------------------------------------------------------------------------
, O I, Y+ U! A: r魔力私服,最新魔力宝贝私服技术交流妖城在线论坛3 f A c7 `$ t+ K6 M! V
( V6 r# L/ l: {) {. Q魔力私服,最新魔力宝贝私服技术交流. @( s5 f6 P: d5 ?& Z5 `" j
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|