妖精
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
1 q( D* c: n R5 \妖城在线论坛1 N" x+ K; W9 n- I
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁bbs.mocwww.com9 l& s! P& n) k* I
魔力私服,最新魔力宝贝私服技术交流1 r# ^' C7 ^/ I( t; m
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后8 e& q9 t6 ^+ s; A/ n1 C. ?
6 B }* V9 h7 W' n魔力私服,最新魔力宝贝私服技术交流我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!bbs.mocwww.com) ^- Y. L/ y9 u3 u0 ]1 N7 F
魔力私服,最新魔力宝贝私服技术交流9 o+ q9 B7 J3 F, C; P! K+ n
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
- P6 B& W {" {! k魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' {9 K- x3 M7 T. N
同时希望将此贴置顶?……
- [$ E. H, I G% M6 v魔力私服,最新魔力宝贝私服技术交流妖城在线论坛& F5 o" w7 u" g, f% U
注:需使用到 反汇编工具IDA魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ E5 i2 N" @, N7 O: z) V9 h
' `! Z$ w3 u9 ~* J1 i* _魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; =============== S U B R O U T I N E =======================================
# r/ ?" A8 E/ `. |' {妖城在线论坛.text:08074098
4 W! o) t- y8 J+ O5 f妖城在线论坛.text:08074098 ; Attributes: bp-based frame
, ]* _+ ~; C8 L1 V( |+ j/ v( D' Bbbs.mocwww.com.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, h7 e$ J5 V- V A
.text:08074098 public CHAR_GetLevelExp
8 V* k' g" v$ p# P' _. f& E妖城在线论坛.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
b1 G8 K3 X$ I% W; Z6 k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; CHAR_make_CP_String+517p
' `% o k& P, vbbs.mocwww.com.text:08074098 ; CHAR_make_KP_String+5AAp
$ @/ B {7 U) B3 g$ F.text:08074098 ; PET_createPetFromCharaIndex+1BEp
" \! G, n) F" g$ `9 c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p魔力私服,最新魔力宝贝私服技术交流$ |( ~4 L+ f5 W' F
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
8 f' \9 b( X4 w# H% @! }+ y& mbbs.mocwww.com.text:08074098 arg_0 = dword ptr 8bbs.mocwww.com$ i( U. _. R* d P- t
.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. K6 _$ N z) Y4 }
.text:08074098 push ebp ; 函数功能:妖城在线论坛) J. E, Z2 _3 V8 n: r
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
$ B! p3 ]* A* T" J; x/ ~( |—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; 入口参数:等级值3 p% q! `- [: v, N
.text:08074098 ; 出口参数:eax即下一级的升级经验值
. p+ s3 p& K$ D, _4 v, }妖城在线论坛.text:08074099 mov ebp, esp
) a: }$ ^- L3 U% D9 ?魔力私服,最新魔力宝贝私服技术交流.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里bbs.mocwww.com$ v6 V* }4 a" Z% e
.text:0807409E cmp edx, 78h ; 与78h即120比较) I1 N4 z+ I% ]) t) k* w4 F
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
# ~) O6 E' z" ]4 n0 C9 T) b0 A" G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740A3 cmp edx, 82h ; 与82h即130比较魔力私服,最新魔力宝贝私服技术交流" G# M7 H. Q- n# @* \ I' y; G
.text:080740A9 jg short loc_80740B8 ; 大于则跳转
% G% Z* w J$ O6 i% }.text:080740AB mov eax, edx ; 否则将等级值放入eaxbbs.mocwww.com* i7 `0 {2 @1 Z' x
.text:080740AD imul eax, edx ; 2次方妖城在线论坛4 A+ N/ M, j* t
.text:080740B0 imul eax, edx ; 3次方魔力私服,最新魔力宝贝私服技术交流7 h9 w( g; @6 t3 H
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方bbs.mocwww.com& B6 o9 r( i3 C" J9 d6 ?
.text:080740B6魔力私服,最新魔力宝贝私服技术交流5 g) b+ c4 G7 S9 y( k& E
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
; a7 x+ }$ N8 w- g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6 ; CHAR_GetLevelExp+2Fj
. s5 y, t5 d& o$ K: U* u1 ^8 H) [魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6 leave$ V: E% q0 L5 m0 ^ e0 s8 Q# R
.text:080740B7 retn魔力私服,最新魔力宝贝私服技术交流# c! T1 J3 G: C: J. _, Z
.text:080740B8 ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流) Z) T i0 R& a0 u% V( j
.text:080740B8
: O ]& J7 t% S I; I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
# V! Q; A ~/ a; R$ Qbbs.mocwww.com.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
) q8 K& ?; r# d$ } S.text:080740B8 ; 游戏内看到的是一个 - 号
3 z9 ^1 y+ D/ s- q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BD jmp short locret_80740B6 ; 函数结束
5 B) r0 | p ~) T% e2 Z魔力私服,最新魔力宝贝私服技术交流.text:080740BD ; ---------------------------------------------------------------------------
8 G# j; l( A( W* A$ @bbs.mocwww.com.text:080740BF align 10h' m$ C0 n, w% |, W
.text:080740C0魔力私服,最新魔力宝贝私服技术交流3 V1 O/ W- w. c1 w" J0 k" [
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j% ?" v7 ~" h6 p. b) ^ j2 p2 z- X
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 X! K6 ^7 J/ _0 t* n9 |: t
.text:080740C0 ; 即LevelUpTbl魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ y G Y" y; Q$ m1 A
.text:080740C7 jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 d2 G& |2 y# ]8 w: F
.text:080740C7 CHAR_GetLevelExp endp
2 X! t$ {; {# y+ S' V6 sbbs.mocwww.com.text:080740C7妖城在线论坛) T2 g- T' B( {& m
.text:080740C7 ; ---------------------------------------------------------------------------
) n8 G2 c- \6 C9 j( [+ f( J' L妖城在线论坛魔力私服,最新魔力宝贝私服技术交流/ X7 N- d( O2 X
bbs.mocwww.com/ D5 D: { G% m$ ^
魔力私服,最新魔力宝贝私服技术交流4 i- ?0 R. O4 i! ?! S
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|