标题:
[魔力私服分享]
gmsv内部函数研究号召帖
[打印本页]
作者:
猪神的黄昏
时间:
2010-3-23 22:56
标题:
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
) c Q( I' e W
. O$ R4 r" h0 g- v, Y* C魔力私服,最新魔力宝贝私服技术交流
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
- ]7 V7 D" p' ^+ f2 f
! I) C3 X2 |4 [. ~5 ^* I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
+ \+ r. A# n! J Q/ C+ \6 A1 @( K
" `! \8 v3 q; c# `# u" d& N—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
. `( u8 e( E8 b. ^4 y; {- U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
魔力私服,最新魔力宝贝私服技术交流( ~; {) i; k- @9 q0 }" }
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
4 L9 Q# w3 C7 X: H0 Q5 Q- d7 H
+ g* H7 R6 y' j% B—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
同时希望将此贴置顶?……
! p6 J+ |0 y: `( W0 O/ c( @; cbbs.mocwww.com
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) R" T: K2 t. ~
注:需使用到 反汇编工具IDA
bbs.mocwww.com! s/ @ K+ X$ q$ s9 r" A
( H. }; d% B. ] j0 m3 ?6 Abbs.mocwww.com
.text:08074098 ; =============== S U B R O U T I N E =======================================
7 T$ r- R6 n3 v- o% T c1 j. f0 Y魔力私服,最新魔力宝贝私服技术交流
.text:08074098
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" n( ~$ v2 f7 E6 H
.text:08074098 ; Attributes: bp-based frame
" x* V- L* H9 ]bbs.mocwww.com
.text:08074098
魔力私服,最新魔力宝贝私服技术交流+ |' d7 h9 o9 m: {3 C3 b: X% c8 V" U
.text:08074098 public CHAR_GetLevelExp
魔力私服,最新魔力宝贝私服技术交流( M4 Q l8 M7 b- u8 i9 i8 v( k; f
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
魔力私服,最新魔力宝贝私服技术交流/ C; q0 R# E p' u# G4 L
.text:08074098 ; CHAR_make_CP_String+517p
魔力私服,最新魔力宝贝私服技术交流& b+ k h1 B8 N6 `2 e- ~
.text:08074098 ; CHAR_make_KP_String+5AAp
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" q6 l, O7 W @/ I
.text:08074098 ; PET_createPetFromCharaIndex+1BEp
! j0 q7 D$ P$ I: E, f& gbbs.mocwww.com
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
bbs.mocwww.com2 D; [, N& t( s& X
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
0 e' F9 I( c! H" B$ t
.text:08074098 arg_0 = dword ptr 8
魔力私服,最新魔力宝贝私服技术交流( a$ q" @0 J: ?0 z
.text:08074098
妖城在线论坛& \# T: i% A/ J0 L! L; r) Z
.text:08074098 push ebp ; 函数功能:
" ~: E# S; K' J `/ _+ u {
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
妖城在线论坛 C1 C$ L3 x- ?' k+ [
.text:08074098 ; 入口参数:等级值
5 ^8 M9 C2 l- Y, x* k0 i
.text:08074098 ; 出口参数:eax即下一级的升级经验值
o, h) b8 K* s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
.text:08074099 mov ebp, esp
3 m, E# Y) U/ x6 Q
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
妖城在线论坛; C/ z2 ?+ O" U
.text:0807409E cmp edx, 78h ; 与78h即120比较
* M8 ^7 p% a& z5 A- O
.text:080740A1 jbe short
loc_80740C0
; 小于等于则跳转
魔力私服,最新魔力宝贝私服技术交流4 r* t g6 I' `1 @- v! |7 {
.text:080740A3 cmp edx, 82h ; 与82h即130比较
* O2 P3 C2 `2 v2 Z+ G% T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
.text:080740A9 jg short
loc_80740B8
; 大于则跳转
* g) v6 t6 K) Y7 e4 m
.text:080740AB mov eax, edx ; 否则将等级值放入eax
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 I F: Y, ^8 }! l$ g& O, W
.text:080740AD imul eax, edx ; 2次方
6 M8 H! E4 ?$ z$ Y& }, I
.text:080740B0 imul eax, edx ; 3次方
4 ?* r7 g$ B6 v$ w% T" E& y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) x" D n0 \1 a; c
.text:080740B6
2 h% I! N5 V. U7 d6 M2 U/ G/ H魔力私服,最新魔力宝贝私服技术交流
.text:080740B6
locret_80740B6
: ; CODE XREF: CHAR_GetLevelExp+25j
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 ]7 _. x: O- ^3 [, i
.text:080740B6 ; CHAR_GetLevelExp+2Fj
( x4 e/ L/ H: M. b' J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
.text:080740B6 leave
8 n. }9 n3 |' o/ R( R/ ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
.text:080740B7 retn
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* E1 }: ~2 ]* R$ T7 G6 B
.text:080740B8 ; ---------------------------------------------------------------------------
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: A9 Q8 }; S: c$ P U, ?7 a) F0 d- l
.text:080740B8
) x$ r- a7 l4 A1 V. ?魔力私服,最新魔力宝贝私服技术交流
.text:080740B8
loc_80740B8
: ; CODE XREF: CHAR_GetLevelExp+11j
( W) L4 B" _$ wbbs.mocwww.com
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
bbs.mocwww.com: H" I5 M* a8 d( z% j
.text:080740B8 ; 游戏内看到的是一个 - 号
& p+ x0 j6 {5 ~$ p% ]: b
.text:080740BD jmp short
locret_80740B6
; 函数结束
% @ Y, q2 I; d% U$ @, P
.text:080740BD ; ---------------------------------------------------------------------------
5 J9 }6 v& ]4 P3 c/ V# P$ Jbbs.mocwww.com
.text:080740BF align 10h
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! y7 g# S! A# R
.text:080740C0
c- b7 {' ?9 y3 y) |5 g/ p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
.text:080740C0
loc_80740C0
: ; CODE XREF: CHAR_GetLevelExp+9j
K$ ]$ r! K0 ^$ C; w) F4 O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
9 j7 L, G4 L. l8 k! t, M* i妖城在线论坛
.text:080740C0 ; 即LevelUpTbl
2 h: y' h* ~) b4 ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
.text:080740C7 jmp short
locret_80740B6
; 函数结束
0 p, ~# a K6 @7 S: J1 x' R妖城在线论坛
.text:080740C7 CHAR_GetLevelExp endp
; G- O8 w: L) ~" Y( m+ v' B$ \
.text:080740C7
3 r; M8 A% i* k妖城在线论坛
.text:080740C7 ; ---------------------------------------------------------------------------
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# ^, |4 k! i/ d# V
魔力私服,最新魔力宝贝私服技术交流- T% w' d4 {4 {6 u* p) `; v( ^6 C" M
6 C" o5 X% |: R/ W
4 X: z u( c3 L3 K: ~魔力私服,最新魔力宝贝私服技术交流
[
本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑
]
作者:
。▂.Get.out
时间:
2010-3-24 09:23
板凳~ 总算有人为此抛砖引玉了。
作者:
lisher
时间:
2010-3-24 09:52
我到是想学学汇编和深入了解一下GMSV
* H$ p6 ]& k Q. K/ ?妖城在线论坛
1 o. w# ]# D/ h
但你得教教我汇编先
作者:
猪神的黄昏
时间:
2010-3-24 14:42
愿意学是好的,只是高人们都不愿赐教啊!
作者:
★ヽ若惜莫离
时间:
2010-3-24 14:45
我想学 都不知道从何下手。
作者:
dekkaman
时间:
2010-3-24 16:11
飞飞派开始收学员:500一位
作者:
bag2000
时间:
2010-3-25 12:26
楼主加油啊 也祝愿楼主早日把功能函数研究出来 分篇成册造福大家!
作者:
zhanglei1982
时间:
2011-2-8 10:59
gmsv函数,我也想学学。
欢迎光临 妖城在线论坛 (http://bbs.mocwww.com/)
Powered by Discuz! 6.0.0