|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
! p ~6 O8 Z* ybbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流% s( |- g9 N( C% b! e- {7 ?
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 m1 ]9 t4 `3 @% t+ Z% q$ h
1 j2 ?# I, L7 a2 \8 F# H/ x! Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
# H7 W. X. r: D8 |& }* v魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
# o) u B0 }' x: K: {# I D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
& w/ {$ W; {7 S k$ S0 i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流5 t% V# y( {/ J/ a& H7 \
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
) v x. I. \ Z7 C, D
8 B, W7 Q% Y; Q同时希望将此贴置顶?……妖城在线论坛$ W; v4 E0 u( V. P4 m: |* @
4 b: t z2 F9 O5 Z注:需使用到 反汇编工具IDA B* G, R! _6 z& F: y# r! ? X3 t
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 w6 f* \, e3 u: d
.text:08074098 ; =============== S U B R O U T I N E =======================================
$ i. g' }. @3 M3 X S' p7 G1 D妖城在线论坛.text:08074098妖城在线论坛. t0 B# [/ p3 k& O# b
.text:08074098 ; Attributes: bp-based frame
2 i' N/ l/ F! j1 wbbs.mocwww.com.text:08074098bbs.mocwww.com/ E h# y. D8 O6 X$ ]* _% @" |
.text:08074098 public CHAR_GetLevelExp
" m7 w0 e; C y, I! P2 h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p妖城在线论坛% o! B' Y8 s/ s- [2 _3 J
.text:08074098 ; CHAR_make_CP_String+517p
1 W3 R) w% H' g6 Dbbs.mocwww.com.text:08074098 ; CHAR_make_KP_String+5AAp
5 p2 o b: a% t( @& ]; ?9 F( j.text:08074098 ; PET_createPetFromCharaIndex+1BEp魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" @9 I6 @2 T8 @( x$ c( J: d2 W
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p妖城在线论坛1 f7 f4 [$ o+ Z" b
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! T# o n- i0 N
.text:08074098 arg_0 = dword ptr 8
/ S& _8 Z( Z: Z" h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098
7 H. D" X1 v4 Z* O$ c妖城在线论坛.text:08074098 push ebp ; 函数功能:
% k" x% D ~4 x! J& w1 _妖城在线论坛.text:08074098 ; 取得人物或者宠物下一级的升级经验值妖城在线论坛& {$ q9 h$ @" U n" U# [5 u3 l, ~/ V
.text:08074098 ; 入口参数:等级值魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; X# r' L/ R, _6 g9 y" ]
.text:08074098 ; 出口参数:eax即下一级的升级经验值
9 f" I* {1 L# _2 zbbs.mocwww.com.text:08074099 mov ebp, esp
$ H4 H& @, D; y魔力私服,最新魔力宝贝私服技术交流.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
- N& J- v ~) z: L, j4 `/ K+ }魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:0807409E cmp edx, 78h ; 与78h即120比较
9 s/ @, S& q I1 Q0 D: h$ S.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
0 C: _3 N" \ H6 |妖城在线论坛.text:080740A3 cmp edx, 82h ; 与82h即130比较bbs.mocwww.com3 q/ t: N' u: V1 |% P* I! \
.text:080740A9 jg short loc_80740B8 ; 大于则跳转魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. d# E' z* o; h' V- a8 x
.text:080740AB mov eax, edx ; 否则将等级值放入eax魔力私服,最新魔力宝贝私服技术交流4 ?! |' X% t0 n2 F
.text:080740AD imul eax, edx ; 2次方
2 T: P+ _( W& obbs.mocwww.com.text:080740B0 imul eax, edx ; 3次方
2 V( X$ k5 D) R l4 u6 I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
2 m; k8 w" {1 f K7 n+ _% f8 Zbbs.mocwww.com.text:080740B6魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 \: } c, d# k% F
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* n* K: Y" `0 V- ~4 w
.text:080740B6 ; CHAR_GetLevelExp+2Fj
& Y% b C9 x, {6 V* T. k7 x, h魔力私服,最新魔力宝贝私服技术交流.text:080740B6 leave6 L# r, L- T4 e4 v! L
.text:080740B7 retn% t! v+ t! M u$ }
.text:080740B8 ; ---------------------------------------------------------------------------
- \. I) T) q& Q# z魔力私服,最新魔力宝贝私服技术交流.text:080740B84 I! j& d' r T( i5 D
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
' q& J0 T) Z0 n% a; C" S魔力私服,最新魔力宝贝私服技术交流.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ `: d- q: f# K- B% b0 s) v
.text:080740B8 ; 游戏内看到的是一个 - 号
3 S8 _2 x. N' B6 R% ^! k* J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740BD jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力宝贝私服技术交流/ a) l x( V+ c7 G
.text:080740BD ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, `- @" E! W' `& O0 o4 Y
.text:080740BF align 10h
6 ?+ o: W- _4 N; ~% `1 f; @妖城在线论坛.text:080740C0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. V) W( c6 s. F# t& u# ?1 R
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9jbbs.mocwww.com! E' Q+ o! @+ w+ o. V7 W* T0 a
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
# [& @, W. r) f% v1 L魔力私服,最新魔力宝贝私服技术交流.text:080740C0 ; 即LevelUpTbl妖城在线论坛, i+ ?; ]5 x! N
.text:080740C7 jmp short locret_80740B6 ; 函数结束% }& o+ P. f7 `. A/ M: F. {
.text:080740C7 CHAR_GetLevelExp endp
7 Q0 D+ d4 m& K妖城在线论坛.text:080740C7妖城在线论坛. a0 w5 G* C0 C
.text:080740C7 ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流6 N5 ^7 o0 Z; k1 F+ s8 }
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 G9 k& I% J/ \. T
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; T3 Q( n% v( k
" C0 T" q+ e0 ]4 {$ A$ obbs.mocwww.com[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|