|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
' C3 J3 L5 Y: ~0 H. f: h$ _bbs.mocwww.com
$ z' J3 K; `' F3 x" Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁$ V) P) n3 P- \4 f4 W
妖城在线论坛) k# l! ^) z/ N, P
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: _! O/ e! X `' J' G3 ^5 p
7 X0 F2 Q' a7 B Y
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 y5 V6 m W* J4 h/ _
, x5 }" O% W- N) |& E( M7 Z, l8 t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
* n7 t1 x( i4 `7 z妖城在线论坛
; E, D: V5 g2 ]' c* n妖城在线论坛同时希望将此贴置顶?……魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* W9 Y) |- |4 R- o
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ J* \$ B$ L! B0 S4 h
注:需使用到 反汇编工具IDA
2 X! l( q* P& X& M% x—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛; N1 T0 X; j4 [
.text:08074098 ; =============== S U B R O U T I N E =======================================bbs.mocwww.com v3 ]+ }/ p( Z
.text:08074098妖城在线论坛' H7 B1 W- J' F# R, \4 D) O& F
.text:08074098 ; Attributes: bp-based frame
- t; h: s0 l8 m1 e. x7 F, `9 L$ Q5 Q.text:08074098
8 i* x, |; [) J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 public CHAR_GetLevelExp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" {! M, ~: w7 ^# [& B1 h& }) W
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
5 N' `9 I M+ d. K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; CHAR_make_CP_String+517p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" ~8 l# d/ n2 \, V. V
.text:08074098 ; CHAR_make_KP_String+5AAp
^9 ~( ?1 {/ u6 o8 `8 X魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; PET_createPetFromCharaIndex+1BEp
: T* Y9 k3 P+ a# j) E- T魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
& e$ N3 `) G5 `4 s1 ?魔力私服,最新魔力宝贝私服技术交流.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
5 \4 D$ Y+ }, _4 k6 o5 l魔力私服,最新魔力宝贝私服技术交流.text:08074098 arg_0 = dword ptr 8bbs.mocwww.com* M+ z8 r3 f8 e0 _! B
.text:08074098妖城在线论坛/ n: Z1 q4 a. C+ o( F/ p
.text:08074098 push ebp ; 函数功能:
, Q8 e( B/ P$ v2 O& S, d* d! q妖城在线论坛.text:08074098 ; 取得人物或者宠物下一级的升级经验值
/ B6 m. B m. x+ y. jbbs.mocwww.com.text:08074098 ; 入口参数:等级值6 K0 U9 B4 w. V5 L
.text:08074098 ; 出口参数:eax即下一级的升级经验值
2 `; \4 G V1 L2 B7 T) U: `, X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074099 mov ebp, esp
7 r2 a- `: C4 }1 z) |/ Jbbs.mocwww.com.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里8 d4 E {" Z2 U3 J6 M( S0 f
.text:0807409E cmp edx, 78h ; 与78h即120比较妖城在线论坛/ X1 A1 [' X6 @4 h
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转魔力私服,最新魔力宝贝私服技术交流- I$ ]: C% L; i- P9 }4 B2 O
.text:080740A3 cmp edx, 82h ; 与82h即130比较
7 H. E+ \8 @: m% d6 t魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740A9 jg short loc_80740B8 ; 大于则跳转妖城在线论坛7 ~, O1 _: X; C; }7 z
.text:080740AB mov eax, edx ; 否则将等级值放入eax
7 R* H# t" M3 Q$ g3 j4 e t: V) P妖城在线论坛.text:080740AD imul eax, edx ; 2次方
% S, W( V. _/ B—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B0 imul eax, edx ; 3次方
8 g- Z5 k% t# w2 ^) {7 l5 G.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ z7 S6 A0 M0 K; ? P" Q7 S
.text:080740B6魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 n- r" u0 p7 ?8 Z# c: |# \* \) V
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j# q8 D; d7 |: F' y% j7 u* n1 ]
.text:080740B6 ; CHAR_GetLevelExp+2Fj魔力私服,最新魔力宝贝私服技术交流: S2 n6 n1 s# K* B! _
.text:080740B6 leave妖城在线论坛; ~- k; { t/ X( x8 C
.text:080740B7 retn
; D( `5 M( j5 U# p% v魔力私服,最新魔力宝贝私服技术交流.text:080740B8 ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流- H+ ^- I2 o; d3 `# x5 n1 ]
.text:080740B8
' j$ n# R' _# b6 U) t/ o- x: }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
! C& }+ E2 D+ H: o5 s妖城在线论坛.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% i$ p5 T7 G) W6 h
.text:080740B8 ; 游戏内看到的是一个 - 号
; T9 D1 u V6 C) q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BD jmp short locret_80740B6 ; 函数结束bbs.mocwww.com/ w# n. _. N) L# W' |9 d) @1 K; Y7 _( |
.text:080740BD ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" h2 k6 o3 S. b- t
.text:080740BF align 10h
/ P, U9 J& R5 w' l4 C1 Lbbs.mocwww.com.text:080740C0妖城在线论坛+ ]3 j3 e- `* F
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j妖城在线论坛& N1 J/ _. N. Z: T, ]) |3 Y6 \7 \
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表魔力私服,最新魔力宝贝私服技术交流3 k: E; M2 V5 L0 {# c& b
.text:080740C0 ; 即LevelUpTbl
8 G5 r q! i- }$ A0 j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C7 jmp short locret_80740B6 ; 函数结束0 Y2 ?+ I1 I1 n, O" m+ e4 o' d% F
.text:080740C7 CHAR_GetLevelExp endp妖城在线论坛8 Y! A5 E( S; l6 @2 G2 v3 Q
.text:080740C7
3 b0 m/ }' ?2 G a4 X5 k( o—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C7 ; ---------------------------------------------------------------------------
: b2 ~7 l0 ]5 E( y5 }/ `+ d魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ [8 p1 r9 z8 Y. U) [, S
3 ~; R/ c) D" }, @5 L9 `* w' n& w& d j/ Z3 N ~- N
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|