|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
2 q6 z4 Z- u D6 z6 N" M, |; K妖城在线论坛妖城在线论坛4 s4 Y5 y6 b: u# ^2 k* X
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁9 H6 q; u# k$ N! A/ }1 [
0 c) X1 x& o) Q$ B+ o, ^3 K魔力私服,最新魔力宝贝私服技术交流我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后妖城在线论坛( ~% s \. x6 y: L) ] E) W
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& O1 q- o' x* n! A4 p
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
$ j1 M* E% V: t. L魔力私服,最新魔力宝贝私服技术交流6 ^: D* y4 s8 d) M! { s' c
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
$ a2 ^8 I" u6 L! \0 g) Y* {* _, W魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: { n2 u; ^- Z7 o
同时希望将此贴置顶?……
& g" n* I- ~. Q5 \* j# V/ D; d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流# c1 n7 F, j4 ^0 U; p& U8 E- U
注:需使用到 反汇编工具IDA魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ e2 v2 E% k l4 f' [
/ P4 a0 w( p2 M.text:08074098 ; =============== S U B R O U T I N E =======================================
1 S- c' i+ ?: I! W魔力私服,最新魔力宝贝私服技术交流.text:08074098魔力私服,最新魔力宝贝私服技术交流) _5 q3 E9 Z% m, ^- J
.text:08074098 ; Attributes: bp-based frame$ Z- {- o& z3 J: {
.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" X7 ^( O/ f( T1 {/ u+ I2 a3 L/ X
.text:08074098 public CHAR_GetLevelExpbbs.mocwww.com( V1 t2 o' F) H3 |7 f$ |- j
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
- ]& z, q& L1 e0 e& E# S! v. hbbs.mocwww.com.text:08074098 ; CHAR_make_CP_String+517p
* S$ F6 _* o3 `/ ]) ^, q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; CHAR_make_KP_String+5AAp妖城在线论坛4 z- f/ z$ \6 ^# i5 q8 t2 k# t3 O
.text:08074098 ; PET_createPetFromCharaIndex+1BEp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, f; |7 @) H$ Q& Q! _' o
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
; v S- ~" g2 q& Mbbs.mocwww.com.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数魔力私服,最新魔力宝贝私服技术交流& ^ m2 `; U! o) O! q5 g9 _
.text:08074098 arg_0 = dword ptr 8—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ n" x" c; H; x4 u& ~
.text:08074098
J$ y( [+ Y% q5 T. V魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 push ebp ; 函数功能:, P; i2 k2 m/ f: q7 u
.text:08074098 ; 取得人物或者宠物下一级的升级经验值$ t4 s6 k0 D/ N1 K: { S" m9 |
.text:08074098 ; 入口参数:等级值bbs.mocwww.com9 x& _5 h: u4 Q0 l* g
.text:08074098 ; 出口参数:eax即下一级的升级经验值
+ m9 d$ J8 [. |6 F- ]- [5 J魔力私服,最新魔力宝贝私服技术交流.text:08074099 mov ebp, esp% }* H, n5 ^% I
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
- W w# [$ X% ~% k n.text:0807409E cmp edx, 78h ; 与78h即120比较魔力私服,最新魔力宝贝私服技术交流: r0 Q- U, Q9 w3 D, l* j) x- B0 ]
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
) s7 G( x$ g% F% u4 v; Q' fbbs.mocwww.com.text:080740A3 cmp edx, 82h ; 与82h即130比较
; E/ d" |( v) S$ U0 s# v.text:080740A9 jg short loc_80740B8 ; 大于则跳转
: I& S* j7 Q+ c2 [bbs.mocwww.com.text:080740AB mov eax, edx ; 否则将等级值放入eax妖城在线论坛/ b9 U& V7 b) I8 \
.text:080740AD imul eax, edx ; 2次方
# N+ n/ s! w0 t! K8 U" Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B0 imul eax, edx ; 3次方
3 B6 B5 R4 E0 p2 E N& v2 }bbs.mocwww.com.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
+ L/ E, c( Y: H魔力私服,最新魔力宝贝私服技术交流.text:080740B6bbs.mocwww.com a9 l" P+ I! I5 \
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
9 S2 c' a+ ~. x% |7 `, |( Wbbs.mocwww.com.text:080740B6 ; CHAR_GetLevelExp+2Fj
* s" I% r6 h' `$ z- t, V魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6 leave魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# P( b* e/ X$ w+ i G' x6 v) k( Y( G
.text:080740B7 retn
8 t+ x4 F9 z" D2 f: w.text:080740B8 ; ---------------------------------------------------------------------------
" A5 Q; A2 i* |8 J魔力私服,最新魔力宝贝私服技术交流.text:080740B8魔力私服,最新魔力宝贝私服技术交流0 e/ C" F& ~: H8 h; Y7 G
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. Z+ y9 r" S) [, _ W; b" p
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1bbs.mocwww.com9 w1 ~5 z1 p: ]" b7 h3 U
.text:080740B8 ; 游戏内看到的是一个 - 号bbs.mocwww.com0 z; L4 v* z" T$ q) U( U1 t" ~
.text:080740BD jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! X% U( }5 U# K' a
.text:080740BD ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流1 y) y! C. Z b& x( w3 I; q. f- Y
.text:080740BF align 10h3 k+ f3 A/ m. P/ c5 _0 u
.text:080740C0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* c: W3 \- u1 }0 R$ m+ O6 z7 j
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j9 D/ d! p: U$ T/ \5 e
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
( H3 I- I- n, [8 ~ s3 ^6 t妖城在线论坛.text:080740C0 ; 即LevelUpTbl魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ ]; T7 C9 H' s# B" }# j6 i
.text:080740C7 jmp short locret_80740B6 ; 函数结束
: Q3 `5 n5 [. Z: B—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C7 CHAR_GetLevelExp endp
9 w+ D0 {9 ?" ]3 L.text:080740C7bbs.mocwww.com6 |4 ~6 L) f1 @3 W: v# C+ I
.text:080740C7 ; ---------------------------------------------------------------------------
/ p+ K* U8 Y. J- D+ [3 G3 W0 C. N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
; v; e0 T1 X. [% {- P魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 V" d4 c" N! F. C, C/ ~2 T: K3 G! C
; f# e" e2 j1 z: Y/ q
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|