生活情怀-神话暗黑-暗黑破坏神2

 找回密码
 立即注册

QQ登录

只需一步,快速开始

暗黑mod发布网
搜索
逗破暗黑Mod群:67994934逗破暗黑Mod客户端及补丁逗破暗黑Mod新手攻略逗破暗黑Mod赞助菜单
神话怀旧MOD群:67994934神话怀旧Mod客户端及补丁神话怀旧Mod新手攻略神话怀旧Mod赞助菜单
圣者归来Mod群:558972013圣者归来Mod客户端及补丁圣者归来Mod新手攻略圣者归来Mod赞助菜单
查看: 5015|回复: 2
收起左侧

修改DLL实现赫拉迪克方块合成新红门

[复制链接]

361

回帖

830

元宝

1

圣者绑元

管理员

Rank: 9Rank: 9Rank: 9

积分
1
发表于 2018-8-29 20:12:12 | 显示全部楼层 |阅读模式
转载:http://diablo.phx.pl/forum/viewtopic.php?t=62242: S. Z+ t9 y' L$ f8 m7 ?7 D% {
该教程仅限于暗黑1.13C6 ~. _/ Z5 ^- Z1 U

5 k  |5 A3 T0 G2 F使用hex 16进制修改工具打开D2Common.dll" n! q1 P" r6 f6 P' d2 D
ctrl+G 跳转至94F60,在00 00区域写入Portal,或者直接修改16进制为:50 6F 72 74 61 6C" f" o4 g9 ?9 [
2 q% C+ P2 Y1 Y! E! Y0 J
使用OD软件打开D2Common.dll,6 N, w. S  s5 X$ w2 S: t" c
1、ctrl+G,跳转到6FDD87EB,输入以下代码9 l( w# w% h+ {8 H" h' E$ c# B
  1. PUSH  6FDE4F60
    & H4 r# }3 O" ^" J  ~& j  b6 e
  2.     PUSH EBP . o) U: |1 \8 m! T6 }4 u
  3.     MOV DWORD PTR SS:[ESP+20],ESI 4 v. d% S0 W! X' v( u* s5 Z
  4.     CALL 6FD51EC0 7 s5 K, }8 _0 t* b
  5.     ADD ESP,8 7 |3 W$ s# h1 w6 B) H, `& O8 q
  6.     TEST EAX,EAX
    * z1 _# E1 }  r! S
  7.     JNE 6FD6BAD0
    8 R4 L: `- N& H$ }! m" z
  8.     MOV BYTE PTR DS:[EBX+8],4
    - A5 ~. l# u! ]
  9.     JMP 6FD6BB96
复制代码
2、跳转到6FD6BAC52 z6 W- w! A3 n1 G1 b" n
  1. JNE SHORT 6FD6BA5A
复制代码
3、跳转到6FD6BA5A
4 F1 Y( ?% b! a$ ^: Q# f+ v
  1. JMP 6FDD87EB
复制代码
使用OD软件打开D2Game.dll$ I+ x: r8 H/ w, b, G# E
1、跳转到6FD17B0F
5 o7 c2 H( _! S- A+ g* {0 \
  1. SUB ESP,1C ! l- `" i' f' |- J1 N* Y0 \
  2.     PUSH EBP
    / A  q' n$ @4 C* }: B' e
  3.     MOV EBP,DWORD PTR SS:[ESP+24]
    + k* P4 g, @. ]; Q* ]; T
  4.     MOV EAX,DWORD PTR SS:[EBP+10F4] / V7 D8 [* j4 G/ L: E1 U% Z4 ?
  5.     MOV ECX,DWORD PTR DS:[EAX+8] * d/ s6 E0 J  P5 x" i' k
  6.     MOV EAX,DWORD PTR DS:[EAX+0C] 0 K- M, Q+ e& d- y5 P
  7.     PUSH EBX
    ; B( N+ S! L7 u) X
  8.     PUSH ESI
    1 l' ]8 x( j6 v" L2 I# k
  9.     PUSH EDI 3 Q' C& L2 o, Z8 b2 U
  10.     PUSH 0B                                                         
    " h8 O- F/ t0 [' u
  11.     PUSH 4                                                  
    5 E& ~4 V% D. c
  12.     PUSH EAX                                                        ( y+ f5 I, ?8 V( e5 M4 {, e/ b
  13.     CALL 6FC2A568            
    " _) ^0 X' t3 u' [
  14.     MOV ESI,DWORD PTR SS:[ESP+34]
    4 H9 u; t9 Z' ?  D6 M( v$ L
  15.     PUSH ESI                                                                8 }2 S4 v) d/ P
  16.     CALL 6FC2A4C0            # z/ r* @# p4 r- L+ `
  17.     MOVZX ECX,BYTE PTR SS:[EBP+6D]
    + g/ X2 N5 ]- f$ ]: E
  18.     MOV EAX,DWORD PTR DS:[ECX*4+EAX+10]
    * ]6 c- z; l3 c" `1 H/ U7 \. \( E) X
  19.     PUSH 0A                                                         
    ) g. e' n2 o, M5 Y
  20.     PUSH 4                                                         
    . j0 E. E: Q5 k
  21.     PUSH EAX                                                                $ O2 O5 X) X% |1 v  d
  22.     CALL 6FC2A568            
    7 g+ s8 _2 |1 u6 g3 C- ~
  23.     MOV EAX,DWORD PTR SS:[EBP+70]
    7 ?! F0 {: W9 g, [7 @
  24.     PUSH ESI                                                        
    8 {* I+ H+ A2 b% ]2 n# \" u$ q
  25.     CALL 6FC2A4C0                    ) O3 e6 F9 E% f) M# j% R7 y
  26.     MOVZX ECX,BYTE PTR SS:[EBP+6D] / m& J8 A0 e4 h& w
  27.     MOV EAX,DWORD PTR DS:[ECX*4+EAX+10]
    2 C1 d" z& V3 B; W& N9 o) Y
  28.     PUSH 0                                                  # r. D8 d& v, i/ P
  29.     PUSH 28                                                  % U  G$ W* A5 b& _
  30.     PUSH EAX                                + c9 \0 {; N$ ?4 o
  31.     CALL 6FC2A568                    5 W. Z; q" F3 m
  32.     PUSH ESI                                + J( G( I# }7 L! Q* t7 H: J" Q
  33.     CALL 6FC2A478            
    6 O6 ?  R7 c6 n/ p  U0 i) s6 w
  34.     MOV EDI,EAX
    ' N% v/ a+ q  P0 K$ w
  35.     PUSH EDI                        & q6 J; J7 [5 j' }( F
  36.     CALL 6FC2A556    5 t# t5 v4 g7 }9 P
  37.     CMP EAX,6D
    ; @: K' s- S7 L) _- h
  38.     JNE 6FD17C79 * N$ q' _) F& y& H9 @: T
  39.     MOV CL,BYTE PTR SS:[EBP+6D]
    , t1 e8 F* Z( [4 R' X: j0 v. h
  40.     CMP CL,2 8 H) d. j* M  f; X: K5 h* S
  41.     JNE 6FD17C79
    ' E" k& }% v& Y9 g5 K/ `8 Z$ G
  42.     LEA EDX,[ESP+24]
    ( P& T  f' A8 T* c! B8 A8 H9 c
  43.     PUSH EDX                                        / v( @1 M# V' l4 c. h
  44.     PUSH ESI                                
    ( R! P) E8 q0 h
  45.     MOV DWORD PTR SS:[ESP+38],0   U! {7 K! H8 |/ K4 _
  46.     CALL 6FC2A544    ' ^9 q9 K. P+ @  X3 m: _6 Q
  47.     PUSH 64                  
    9 u8 E; _9 s0 v; b
  48.     LEA EAX,[ESP+34]
    - k. I9 E, j8 y/ @+ Q; k% R3 e1 r
  49.     PUSH EAX                        
    * r! k5 y9 x- r1 ]3 K, Y
  50.     PUSH 400                        3 m0 E. M3 m7 F# u
  51.     PUSH 3                  # K. g8 w: U! ~% p# ^+ h
  52.     LEA ECX,[ESP+34] ' v, V4 Z" T/ p
  53.     PUSH ECX                                
    5 q8 N/ s" S1 D5 a
  54.     PUSH EDI                        
    6 ]% S5 l2 H7 D' W
  55.     CALL 6FC54130            " D8 e2 n9 G8 D0 p; ^7 A/ P  G
  56.     MOV EDI,DWORD PTR SS:[ESP+30] " d6 N8 g9 z* u1 r* @3 A6 u
  57.     MOV EDX,DWORD PTR SS:[ESP+28]
    ( k" e! _0 _# m( w1 N
  58.     MOV EAX,DWORD PTR SS:[ESP+24] * O+ D, A& u; d
  59.     MOV DWORD PTR SS:[ESP+14],EDX
    + C) g9 s- B. U3 j
  60.     MOV DWORD PTR SS:[ESP+10],EAX
      f" }6 R6 D6 I7 d
  61.     PUSH EDI                          t1 _) _; M9 g1 Z. F- Y! F+ N2 Z
  62.     CALL 6FC2A808    $ ]' C( C# m5 Z: w3 Y& Q
  63.     PUSH 27                  % y/ J- k  h% M+ J- w
  64.     CALL 6FC2A56E   
    - s# t- ?9 p! k$ ^$ q
  65.     PUSH EDI                        
    " B1 F6 s/ F! y: b
  66.     MOV BL,AL        + s0 X6 d! @5 J5 @
  67.     CALL 6FC2A556 8 x! Y6 \5 R6 l, T
  68.     PUSH EAX                        7 a) z6 ^1 \$ s# m( i0 Y7 ]
  69.     MOV DWORD PTR SS:[ESP+1C],EAX
    . V5 n; G3 b4 d, `4 |
  70.     CALL 6FC2A56E ) R* Y7 Z. n) h9 g
  71.     MOV ECX,DWORD PTR SS:[ESP+10]
    7 h5 X( k7 v7 e! `- N8 {* F9 m: V, J
  72.     MOV EDX,DWORD PTR SS:[ESP+14]
    ! B9 K2 J5 E, l: }; a( Y. D* r
  73.     PUSH 0          - M! z- @2 f: I0 ^' E9 x5 U
  74.     PUSH 0C01 $ `4 h4 T8 f" \5 w, s7 {' u
  75.     PUSH 3E01 4 p  x5 \& t6 t2 @$ {2 ~0 J5 L
  76.     PUSH 3 6 ?! _+ D0 L6 ?5 a; E
  77.     LEA EAX,[ESP+2C]                8 P0 l) f. L: E+ J. o3 N/ n2 c/ [
  78.     MOV DWORD PTR SS:[ESP+2C],ECX
    3 c/ _$ C4 r8 Z+ c! N
  79.     PUSH EAX               
    4 y8 J9 o4 a6 C5 c# W3 S  F
  80.     MOV ECX,EAX      
    6 `" V  t1 ?. Y7 ?) S# o
  81.     PUSH ECX               
    * |# q" T/ w! L2 M0 B1 m
  82.     PUSH EDI                        2 T7 G6 m$ I8 ?, U! |
  83.     MOV DWORD PTR SS:[ESP+3C],EDX - z8 V' ~2 C9 U1 E5 J) N( p: N
  84.     CALL 6FC2AE98    8 V% g+ L# H( n
  85.     MOV EBX,DWORD PTR SS:[ESP+1C]
    $ M& a* q# c5 l" C7 ?; V
  86.     MOV EDI,DWORD PTR SS:[ESP+20]
    ' Z2 H( M. @4 U& }( J! _
  87.     MOV EAX,DWORD PTR SS:[ESP+30]
      ?( y" P4 B0 b9 P3 Z! B& m' j6 u5 `
  88.     MOV DWORD PTR SS:[ESP+10],EBX 9 Z+ a4 ]. W8 j8 K7 S: u  ]9 d" n
  89.     MOV DWORD PTR SS:[ESP+14],EDI ( a4 x4 }: l& ]$ Y
  90.     CALL 6FC21280
    0 m) q$ t5 W0 |- {: d* a7 I
  91.     MOV EDI,EAX 3 g: {) b. o- @
  92.     MOV EDX,DWORD PTR SS:[ESP+14] : c* e' m# u7 |$ \0 T
  93.     PUSH 0         
    7 |" {# @# J7 D$ P# y  M, A2 a) J7 O
  94.     PUSH 1         
    - P" n. N9 `+ E1 e( _
  95.     PUSH 1
      K$ e+ a" ]3 k8 n" i0 @0 y2 w7 m' ]
  96.     PUSH EDI        , M" s+ u: W( ]# y
  97.     PUSH EBP        
    7 e2 [" e- W5 n7 U' g4 ~& `" s' J
  98.     PUSH EDX        
    " L6 {) e1 r0 Z; B3 Q
  99.     MOV EAX,EBX      
    7 m5 ^! T  Q3 R6 N. `
  100.     PUSH EAX        
    5 `4 B4 }1 u1 N7 G
  101.     MOV EDX,3C      
    ! g$ h( |9 F" r' w5 e
  102.     MOV ECX,2        
    " N& G7 l  u9 n& J' Z1 t( s$ F' n, O
  103.     CALL 6FD01D90   
    $ Q  J9 U1 G2 g0 X* M6 R! b4 K
  104.     MOV ESI,EAX & [1 K' q! ~' v% {, G
  105.     PUSH 1
    7 b. k; q( I9 {' S" `2 I8 C- Y
  106.     PUSH ESI + N# a2 i' d& P2 l& M3 n, P
  107.     CALL 6FC2A4A2
    ( T0 P& q0 V3 f+ t' L( o
  108.     MOV ECX,DWORD PTR SS:[ESP+18]
    9 S3 ~! J( G; u+ s: d; N
  109.     PUSH ECX                        
    # R6 s% [, C6 D8 J. q' f9 L( g
  110.     PUSH 88                          4 g9 {; p& N, e% {# w
  111.     PUSH ESI                        7 |, `1 C9 }  B- ]9 b' g/ W( t
  112.     PUSH EBP        
    7 c+ g' d2 h' H
  113.     CALL 6FCC22E0    ; f4 C: e- U. r; ~! j! m9 v
  114.     POP EDI " Z( g) R# {, @5 n7 l' E
  115.     POP ESI
    ( F' k2 K8 T; O! ]% J
  116.     POP EBX
    . V1 Y; R. S7 D9 I) ^8 h
  117.     MOV EAX,1
    % p3 t' M! z1 q) L
  118.     POP EBP 0 ^4 F+ [* I9 l* T/ ^# y+ V3 K
  119.     ADD ESP,1C
    & g( q5 b( ?$ L, G8 m: \
  120.     RETN 8
    / t! I  M: d. _1 b$ d: W; o
  121.     PUSH ESI
    * m2 a3 }) a2 k/ B
  122.     MOV WORD PTR DS:[ESI+6E],14 5 d: v( c( ~- i. P' b- G/ l
  123.     MOV DWORD PTR DS:[ESI+70],ESI , N5 ~# w! L. r5 D2 \- n; ~5 b
  124.     CALL 6FC2A4DE 0 b: ?6 n( Y  ]
  125.     MOV EAX,DWORD PTR DS:[ESI+0C4]
    ( E: u, ^$ N& g' o" C# j+ Z
  126.     OR EAX,00000400
    6 `% k0 w' v% v6 v4 C% ]
  127.     POP EDI
    . p3 }, H3 \# w8 h, m5 {
  128.     MOV DWORD PTR DS:[ESI+0C4],EAX ( E# K3 ?7 z3 P& W/ a/ K
  129.     POP ESI , {4 @5 Y( i. k) t( @+ X8 [
  130.     POP EBX 5 f9 b$ y" T* d/ m( _
  131.     XOR EAX,EAX
    % R) g- U7 J3 x
  132.     POP EBP
    7 l8 X7 o% {) O: Q# B* r9 i# ^7 B! J; P
  133.     ADD ESP,1C 2 c1 ^% z$ h9 \! d' j
  134.     RETN 8
复制代码
上述代码为开启6boss红门,即为出火炬的地图,开启的限制也一样,需要在第五幕,难度地狱。1 `4 P9 u- X( ~6 ]' x& c
地址6FD17C5E |。68 88000000 PUSH 88,  88转换10进制为136,这个136是levelid,对应地图就是出火炬的地图,想指定去其他地图的修改该处。
" D5 I; m" Y) ~/ D. \
/ j/ R' M& }9 w2 b. `' m+ A1 ^修改的限制代码为:
' o9 P, b* B1 y
  1. 地址= 6FD17B75      # Z6 U1 ]# E2 Y7 ^
  2.     CMP EAX,6D         6D为第五幕城内
    9 k! E& t& g+ B8 m2 P( g
  3.     JNE 6FD17C79       //跳转至无法合成的提示信息
复制代码
  1.   地址= 6FD17B7E # h) i: o& m; A& T+ [/ c  E& ]
  2.     MOV CL,BYTE PTR SS:[EBP+6D]    ; 6D为第五幕城内
    + {+ u3 F0 X( j8 T8 x8 ]* z
  3.     CMP CL,2                                        ; 2为难度, 0=普通 1=噩梦  2=地狱4 e1 r. T4 T% Z! \
  4.     JNE 6FD17C79     //跳转至无法合成的提示信息
复制代码
以上为红门设定部分,根据自己需求进行修改。
. N: p8 ?4 g/ V5 E9 y5 [  ^4 i1 {3 a4 L3 l; A3 G. U$ m* d; f
修改箱子合成部分
& j1 j6 D+ ]$ K' a& ]6 {; v5 U1、d2game.dll,跳转至6FC92417
% @4 p, ^! d) R9 R% o7 n
  1. JMP 6FD17AB8
复制代码
2、跳转至6FD17AB8
* a  \: F& X& ?) |* H* l
  1. CMP AL,4
    , I* E) F$ x+ q8 L
  2.     JE SHORT 6FD17AE4 1 u' n1 s4 X: e  \- m% Q8 S3 l3 i  M6 c: Q
  3.     MOVZX ECX,AL
    2 p% D: j; r, \( S/ q! }4 N6 i; Q
  4.     JMP 6FC9241E
复制代码

: }/ H! l1 g6 o4 n3、跳转至6FD17AE4% Z8 Q, O  t1 s# \4 p
  1. MOV EDX,DWORD PTR SS:[ESP+12C] - J- d0 |. w( Q0 w4 b/ e
  2.     MOV ECX,DWORD PTR SS:[ESP+128]
    ! x# l& r/ m' B  N
  3.     CALL 6FD17A2B & X# ?4 U! L2 {$ s+ @6 o2 o
  4.     JMP 6FC92439
复制代码
4、跳转至6FD17A2B$ L3 o$ W6 U0 B$ a* d( p
  1. PUSH EDX # G/ _; I) p- E, X
  2.     PUSH ECX
    : N8 V# J8 B3 z% l) G
  3.     CALL 6FD17B0F    ( W* \  |$ w, |& e1 t
  4.     RETN
复制代码
( O8 ?$ }- ~" m1 M. I% m
( M. p1 s6 a/ \: P; R5 _
DLL部分修改完毕。4 L9 N6 c/ h  ?  P
在cubemain.txt 添加改红门开启的设定
- V& [4 ?" W5 e" n0 l条件设定自行定义,在output处填入Portal即可
- J6 \3 H* h$ T( {" o9 e3 X1 C
神话战网出品,必出精品!
回复

使用道具 举报

1

回帖

0

元宝

0

圣者绑元

新手上路

Rank: 1

积分
0
发表于 2020-11-17 09:24:30 | 显示全部楼层
MOV CL,BYTE PTR SS:[EBP+6D]中,EBP+6D不为城镇
% ?/ p% Q0 Q- p4 g/ k* ~( C: d经测试EBP = Game ,EBP + 6D为BYTE  difficultyLevel
回复

使用道具 举报

1

回帖

0

元宝

0

圣者绑元

新手上路

Rank: 1

积分
0
发表于 2021-11-14 17:19:58 | 显示全部楼层
费了很大的劲,才修改完毕,结果进游戏就error# T3 K: u  ?5 X) i% T' N% R8 q% G
+ U# C6 H3 G9 `+ X0 i! l1 h
然后这个修改是不是仅仅只是可以开6boss红门   我想制作官邸直达红门 比如5个官邸直达的道具  这个修改是不是做不到?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|神话暗黑 ( 陕ICP备18004004号-1 )

GMT+8, 2025-7-11 08:50 , Processed in 0.058436 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表