|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
; `* W2 |$ o, d+ p1 B
+ R0 S' S/ n+ ]. c) G% vbbs.mocwww.com在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
E$ g: Z5 d, u/ I妖城在线论坛妖城在线论坛. H6 B h! X3 g
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
0 R6 }# R% p6 E, J6 P魔力私服,最新魔力宝贝私服技术交流
+ |& D7 i: i" m V4 N9 [# ]魔力私服,最新魔力宝贝私服技术交流我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
- Q) B9 A* p) |$ Q+ Q6 R6 x魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 }1 x, K( B6 Y: K. ^$ t
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
4 J. T: t1 c8 L# \# b7 {6 b; Z魔力私服,最新魔力宝贝私服技术交流
1 w$ R( c' i2 S: [. }! @+ X; _) e魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表同时希望将此贴置顶?……# z3 B; j6 }; v
" ?0 H) ^4 Z. B. Z% D魔力私服,最新魔力宝贝私服技术交流注:需使用到 反汇编工具IDAbbs.mocwww.com, H; h- v# C( d; k7 Z, n2 d
9 z4 S8 ?) v3 E
.text:08074098 ; =============== S U B R O U T I N E =======================================8 r4 j; _; [' w" x' s
.text:08074098魔力私服,最新魔力宝贝私服技术交流9 T0 I) I+ h* r6 ^3 t) u! Q/ D* D% N
.text:08074098 ; Attributes: bp-based frame魔力私服,最新魔力宝贝私服技术交流( w* e) j( M( z' O/ n9 j$ {7 k
.text:08074098 I6 ?% O" S5 c; L* W( x" M
.text:08074098 public CHAR_GetLevelExp魔力私服,最新魔力宝贝私服技术交流4 ]$ O$ `% _ L+ r8 s9 Z4 p* U' E
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
* l( Y. \( K/ n+ T6 T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; CHAR_make_CP_String+517pbbs.mocwww.com' y" ^) D* k" ]
.text:08074098 ; CHAR_make_KP_String+5AAp魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& c; Q! ?3 [3 h s6 w0 H
.text:08074098 ; PET_createPetFromCharaIndex+1BEp魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) e( C( Q; Z% h1 M9 A& ?9 F! P4 n) d
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
& E& r5 p+ r5 {5 F a" W. p; a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
- ^: f, }0 Q8 abbs.mocwww.com.text:08074098 arg_0 = dword ptr 8bbs.mocwww.com( r, [, i' k. [. w# e J4 H$ p% T) _
.text:08074098& W t: n/ e1 j7 {" _$ r8 F9 z
.text:08074098 push ebp ; 函数功能:
% E/ Q' E2 q! X1 y w% B2 v魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; 取得人物或者宠物下一级的升级经验值
4 D! w, d# q6 ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; 入口参数:等级值妖城在线论坛$ F" j3 U- h/ o% R, G
.text:08074098 ; 出口参数:eax即下一级的升级经验值
/ l/ M; M& G% }5 b; P5 G r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074099 mov ebp, esp妖城在线论坛2 _" Y; I/ p# g3 B$ ~- S& ]( D
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里bbs.mocwww.com* p% L1 @: M! B$ o5 E' Y
.text:0807409E cmp edx, 78h ; 与78h即120比较魔力私服,最新魔力宝贝私服技术交流' O4 y; r& S x. W' N" c& B8 S) D
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
! i. o' L( a9 J Q9 S5 h妖城在线论坛.text:080740A3 cmp edx, 82h ; 与82h即130比较妖城在线论坛& }' l7 D1 h) i, L
.text:080740A9 jg short loc_80740B8 ; 大于则跳转
( g" p, e; h/ x, ^0 F7 Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740AB mov eax, edx ; 否则将等级值放入eax—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! T/ j8 {" ?/ p3 Y$ q s
.text:080740AD imul eax, edx ; 2次方bbs.mocwww.com3 W; }' j8 r- n, F1 V, ~( b
.text:080740B0 imul eax, edx ; 3次方bbs.mocwww.com8 c) N8 M" `' A0 K7 A
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
8 q. F }5 N/ k5 {) G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6bbs.mocwww.com M, K2 ~$ L' V4 N K. `$ z# b
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j妖城在线论坛( Y# r: A4 U6 m( y
.text:080740B6 ; CHAR_GetLevelExp+2Fj
9 u! G* Q: i' ]( e5 W.text:080740B6 leave
7 q* i3 }) C0 @- w1 }) i+ d1 Kbbs.mocwww.com.text:080740B7 retn
% I, |, S" _7 ?; `; s; ]% H5 Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B8 ; ---------------------------------------------------------------------------
7 D2 N7 M+ M. i, d3 a D1 `" K) ?5 U妖城在线论坛.text:080740B8/ t7 L z. X$ _. P3 y
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
! J' O- u# U9 a6 G5 N; g2 @6 U. w魔力私服,最新魔力宝贝私服技术交流.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
) b+ J" L0 a1 l) _魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 ; 游戏内看到的是一个 - 号
5 R! c: L$ V& |3 a( z魔力私服,最新魔力宝贝私服技术交流.text:080740BD jmp short locret_80740B6 ; 函数结束妖城在线论坛" b* p2 J5 k/ R; ^% b5 z6 k
.text:080740BD ; ---------------------------------------------------------------------------
! K" d( i1 b. A+ c- d9 Y" G/ u魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BF align 10h
8 O5 k$ `$ I: e) y7 P.text:080740C0
% }* R- y$ b f+ x: f; D9 x0 l- C魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
c: |% d2 }, S# f4 ]6 U( ` wbbs.mocwww.com.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表魔力私服,最新魔力宝贝私服技术交流+ Q% V J8 _: @4 V0 u
.text:080740C0 ; 即LevelUpTbl魔力私服,最新魔力宝贝私服技术交流' \8 ]3 e; o* |$ F
.text:080740C7 jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. H0 |& g; e5 l) c* h! t' [
.text:080740C7 CHAR_GetLevelExp endpbbs.mocwww.com, Q l$ O$ g( E. y: s$ [% U$ K
.text:080740C7
% i" u }; t" E& G7 S( B8 _妖城在线论坛.text:080740C7 ; ---------------------------------------------------------------------------
0 V0 S- l: H" ~+ R5 |* s0 K/ s8 \
6 T6 b* \9 u; s4 _# dbbs.mocwww.com4 ~& q2 w, v; b
魔力私服,最新魔力宝贝私服技术交流: {6 l% ^" K. b3 P7 K
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|