|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 显示全部帖子
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
7 [; w1 V- V. ]1 A" A+ J$ f, g4 i8 N. M, u1 `( Z. ~: m
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
, ?: x3 t1 ^6 Q" jbbs.mocwww.com妖城在线论坛. N Y8 k4 r l' F a5 I! J- b
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
: U# L( H2 r" A; x: U, a- b—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
4 A, H$ }* M& Y& h' [bbs.mocwww.com我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!魔力私服,最新魔力宝贝私服技术交流/ ~3 x4 I/ Y3 v1 d- k. Q
' ?, S. J+ e- g6 c g( y' N) W魔力私服,最新魔力宝贝私服技术交流为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
. l' X5 ^) S9 S1 f9 R% y' ?6 i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 H! r- q* a* H7 {, r {
同时希望将此贴置顶?……
" d9 Q; K3 z/ Y ~7 A妖城在线论坛
8 A2 B, p* k/ L! V4 G注:需使用到 反汇编工具IDA魔力私服,最新魔力宝贝私服技术交流8 u0 s4 u+ E! M! w9 N0 O# Z
, M M8 x+ _* F E2 ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; =============== S U B R O U T I N E =======================================
1 w+ @8 K, C) x- o$ T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 ?7 }9 [+ l0 r; x ~+ |( F
.text:08074098 ; Attributes: bp-based frame魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% Z, j/ {( W0 t. Z7 ]7 H5 X" O
.text:08074098: N; H; {! i! X3 P9 ]+ u$ @
.text:08074098 public CHAR_GetLevelExp
# U# x$ A) b8 x: t; V) J.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p妖城在线论坛* P. Z) T+ L/ Y( G7 J6 c( g
.text:08074098 ; CHAR_make_CP_String+517p* O! W# _+ w# t* Q) X
.text:08074098 ; CHAR_make_KP_String+5AAp
$ b0 ~. m% `) Z8 j7 ]& ]妖城在线论坛.text:08074098 ; PET_createPetFromCharaIndex+1BEp
5 v/ u$ {; ]" F" _! @ Z0 C妖城在线论坛.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p魔力私服,最新魔力宝贝私服技术交流 V& D$ P$ ~3 m4 i0 m [3 [6 T2 D
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数妖城在线论坛1 @1 {% l& j' h, I e: o1 i( N
.text:08074098 arg_0 = dword ptr 8
$ z4 q0 e5 k' @8 i.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- E( S9 F6 u1 g0 i) K
.text:08074098 push ebp ; 函数功能:bbs.mocwww.com7 v; j) P: E# U
.text:08074098 ; 取得人物或者宠物下一级的升级经验值魔力私服,最新魔力宝贝私服技术交流! d Z3 J e( B u7 v7 Q- n" P5 }
.text:08074098 ; 入口参数:等级值
9 V: }- G' i6 M" N+ m. G* ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; 出口参数:eax即下一级的升级经验值
5 V2 K0 U3 n: B) g; }: c魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074099 mov ebp, esp
) n4 A+ Z' _7 S( F, X魔力私服,最新魔力宝贝私服技术交流.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里妖城在线论坛2 n1 ]9 @! p& v
.text:0807409E cmp edx, 78h ; 与78h即120比较
, `6 e4 X- |3 X L4 @# E& b+ M* J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
( o4 ^: M( q1 D& k3 ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740A3 cmp edx, 82h ; 与82h即130比较 b5 _, ]& {1 F1 l D) `. C4 D
.text:080740A9 jg short loc_80740B8 ; 大于则跳转
' ~; t! P" w: G; c+ I( }! Z0 _.text:080740AB mov eax, edx ; 否则将等级值放入eax
9 s/ `# p+ W% v* {$ N( h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740AD imul eax, edx ; 2次方
7 j' d C% K d8 G9 ~3 X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B0 imul eax, edx ; 3次方妖城在线论坛* w! \6 W/ e* E% K
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* k0 C) |# [: k+ s! b1 r7 }: S
.text:080740B6—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート G& `& u0 e- q4 u
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
6 z1 u+ ]* f$ l6 m: |1 k) a' R妖城在线论坛.text:080740B6 ; CHAR_GetLevelExp+2Fj
( \9 K$ n, D5 j) _( Q% k$ C& v.text:080740B6 leavebbs.mocwww.com0 J* f9 x/ \" P, }$ {$ G' q8 X
.text:080740B7 retn
' C+ N4 c7 I+ y5 B7 x8 S1 [$ d) wbbs.mocwww.com.text:080740B8 ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 h+ K( q& }3 t- W9 S: f) w
.text:080740B8
7 y6 O1 F" d* ?/ v& i# y1 M$ W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
# k8 G, A& V/ Y* f魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1妖城在线论坛/ I' A* W% u+ c+ U, P" X
.text:080740B8 ; 游戏内看到的是一个 - 号
3 `" f J4 a1 O$ z1 W. J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740BD jmp short locret_80740B6 ; 函数结束
2 R3 x3 V0 |! M6 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BD ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流! ]) M9 i8 ~" g2 V n) y
.text:080740BF align 10h妖城在线论坛. Y' Z. T$ j; {: {+ Q9 ]
.text:080740C0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! [& a4 s3 n; r. E
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j; z' }" i7 v9 F2 q+ y
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
: F- S! K( ]' h: K& Tbbs.mocwww.com.text:080740C0 ; 即LevelUpTbl+ n# [3 E y( G8 c, A
.text:080740C7 jmp short locret_80740B6 ; 函数结束
/ {; f6 r) F H—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C7 CHAR_GetLevelExp endp
# r5 [3 w3 i9 Z# b P魔力私服,最新魔力宝贝私服技术交流.text:080740C7
( j9 e$ I: y, u4 `. U妖城在线论坛.text:080740C7 ; ---------------------------------------------------------------------------bbs.mocwww.com% V% P% K4 D- p( j* @% T
妖城在线论坛" H. i! r) P/ Z
/ i( S; W# t2 S6 F% ^: a5 { x+ o—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
1 L5 m8 _# |8 I妖城在线论坛[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|