|
You last visited: Today at 04:25
Advertisement
[DIF]view_equip Fix
Discussion on [DIF]view_equip Fix within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
02/13/2012, 11:51
|
#1
|
elite*gold: 190
Join Date: Nov 2008
Posts: 1,670
Received Thanks: 3,368
|
[DIF]view_equip Fix
DIF-Files für einige Binarys, die ich letzten Sommer in die UG gepostet habe.
Ich gebe sie euch, da ein Fix für den Client schon in Thread verschickt wird.
Quote:
Originally Posted by musicinstructor
Moin,
mit dieser dif, die ihr mit auf die metin2client.bin anwenden müsst, stürzt der Client beim Empfangen des ViewEquip-Packets nicht mehr ab.
Die dif ist für die Binary von US (Time Stamp: 0x4c062c63 - Wed Jun 02 12:03:15 2010)
Code:
This difference file is created by musicinstructor
metin2client
00010DCE: 75 EB
0001E2BD: CC 58
0001E2BE: CC 53
0001E2BF: CC 51
0001E2C0: 83 50
0001E2C1: EC 83
0001E2C2: 08 FF
0001E2C3: 56 0E
0001E2C5: F1 02
0001E2C6: E8 75
0001E2C7: 25 16
0001E2C8: F2 3D
0001E2C9: FF FC
0001E2CB: 84 FF
0001E2CC: C0 7F
0001E2CD: 75 90
0001E2CE: 09 75
0001E2CF: B0 0E
0001E2D0: 01 8A
0001E2D1: 5E 4A
0001E2D2: 83 0D
0001E2D3: C4 C6
0001E2D4: 08 02
0001E2D5: C2 0A
0001E2D6: 08 88
0001E2D7: 00 4A
0001E2D8: 8B 01
0001E2D9: 4C BF
0001E2DA: 24 02
0001E2DB: 14 00
0001E2DC: 8A 00
0001E2DD: 44 00
0001E2DE: 24 58
0001E2DF: 10 59
0001E2E0: 8D 5B
0001E2E1: 54 90
0001E2E2: 24 90
0001E2E3: 04 90
0001E2E4: 52 90
0001E2E5: 89 90
0001E2E6: 4C 90
0001E2E7: 24 90
0001E2E8: 0A 90
0001E2E9: 6A 90
0001E2EA: 06 90
0001E2EB: 8B 90
0001E2EC: CE 90
0001E2ED: C6 E8
0001E2EE: 44 DE
0001E2EF: 24 D6
0001E2F0: 0C 05
0001E2F1: 0C 00
0001E2F2: 88 E9
0001E2F3: 44 AF
0001E2F4: 24 54
0001E2F6: E8 00
0001E2F7: E5 90
0001E2F8: 53 90
0001E2F9: 0D 90
0001E2FA: 00 90
0001E2FB: 84 90
0001E2FC: C0 90
0001E2FD: 75 90
0001E2FE: 16 90
0001E2FF: 68 90
0001E300: 70 90
0001E301: 6D 90
0001E302: 5B 90
0001E303: 00 90
0001E304: E8 90
0001E305: C7 90
0001E306: CA 90
0001E307: 0F 90
0001E308: 00 90
0001E309: 83 90
0001E30A: C4 90
0001E30B: 04 90
0001E30C: 32 90
0001E30D: C0 90
0001E30E: 5E 90
0001E30F: 83 90
0001E310: C4 90
0001E311: 08 90
0001E312: C2 90
0001E313: 08 90
0001E314: 00 90
0001E315: 8B 90
0001E316: CE 90
0001E317: E8 90
0001E318: E4 90
0001E319: 56 90
0001E31A: 0D 90
0001E31B: 00 90
0001E31C: 5E 90
0001E31D: 83 90
0001E31E: C4 90
0001E31F: 08 90
0001E320: C2 90
0001E321: 08 90
0001E322: 00 90
000F37A2: 2A 17
000F37A3: 82 AB
000F37A4: F8 F2
Wenn ihr den Button in der Target-Bar aktivieren wollt, müsst ihr in der uitarget.py im Root-Archiv nach "if player.IsPartyMember(self.vid):" suchen und darüber das folgende Code-Snippet einfügen:
Code:
if str(player.GetName())[0] == "[":
self.__ShowButton(locale.TARGET_BUTTON_VIEW_EQUIPMENT) #Ausrüstung
Hier noch eine alternative dif, falls die oben nicht geht. Sie ist für die Binary aus diesem Thread:
Code:
This difference file is created by musicinstructor
metin2client
00010C6E: 75 EB
0001E140: 83 58
0001E141: EC 53
0001E142: 08 51
0001E143: 56 50
0001E144: 8B 83
0001E145: F1 FF
0001E146: E8 0E
0001E147: 25 8B
0001E148: F2 02
0001E149: FF 75
0001E14A: FF 16
0001E14B: 84 3D
0001E14C: C0 FC
0001E14D: 75 FF
0001E14E: 09 FF
0001E14F: B0 7F
0001E150: 01 90
0001E151: 5E 75
0001E152: 83 0E
0001E153: C4 8A
0001E154: 08 4A
0001E155: C2 0D
0001E156: 08 C6
0001E157: 00 02
0001E158: 8B 0A
0001E159: 4C 88
0001E15A: 24 4A
0001E15B: 14 01
0001E15C: 8A BF
0001E15D: 44 02
0001E15E: 24 00
0001E15F: 10 00
0001E160: 8D 00
0001E161: 54 58
0001E162: 24 59
0001E163: 04 5B
0001E164: 52 E8
0001E165: 89 F7
0001E166: 4C D8
0001E167: 24 05
0001E168: 0A 00
0001E169: 6A E9
0001E16A: 06 D8
0001E16B: 8B 52
0001E16C: CE 0D
0001E16D: C6 00
0001E16E: 44 90
0001E16F: 24 90
0001E170: 0C 90
0001E171: 0C 90
0001E172: 88 90
0001E173: 44 90
0001E174: 24 90
0001E175: 0D 90
0001E176: E8 90
0001E177: 05 90
0001E178: 52 90
0001E179: 0D 90
0001E17A: 00 90
0001E17B: 84 90
0001E17C: C0 90
0001E17D: 75 90
0001E17E: 16 90
0001E17F: 68 90
0001E180: 70 90
0001E181: 6D 90
0001E182: 5B 90
0001E183: 00 90
0001E184: E8 90
0001E185: 17 90
0001E186: C9 90
0001E187: 0F 90
0001E188: 00 90
0001E189: 83 90
0001E18A: C4 90
0001E18B: 04 90
0001E18C: 32 90
0001E18D: C0 90
0001E18E: 5E 90
0001E18F: 83 90
0001E190: C4 90
0001E191: 08 90
0001E192: C2 90
0001E193: 08 90
0001E194: 00 90
0001E195: 8B 90
0001E196: CE 90
0001E197: E8 90
0001E198: 04 90
0001E199: 55 90
0001E19A: 0D 90
0001E19B: 00 90
0001E19C: 5E 90
0001E19D: 83 90
0001E19E: C4 90
0001E19F: 08 90
0001E1A0: C2 90
0001E1A1: 08 90
0001E1A2: 00 90
000F3442: 1A FA
000F3443: 86 AC
000F3444: F8 F2
Und hier noch eine dif für die aktuelle US-Binary:
Code:
This difference file is created by IDA DIF-File Generator
metin2client
00018DBE: 75 EB
00028960: 83 58
00028961: EC 53
00028962: 08 51
00028963: 56 50
00028964: 8B 83
00028965: F1 FF
00028966: E8 0E
00028967: D5 8B
00028968: F0 02
00028969: FF 75
0002896A: FF 16
0002896B: 84 3D
0002896C: C0 FC
0002896D: 75 FF
0002896E: 09 FF
0002896F: B0 7F
00028970: 01 90
00028971: 5E 75
00028972: 83 0E
00028973: C4 8A
00028974: 08 4A
00028975: C2 0D
00028976: 08 C6
00028977: 00 02
00028978: 8B 0A
00028979: 4C 88
0002897A: 24 4A
0002897B: 14 01
0002897C: 8A BF
0002897D: 44 02
0002897E: 24 00
0002897F: 10 00
00028980: 8D 00
00028981: 54 58
00028982: 24 59
00028983: 04 5B
00028984: 52 90
00028985: 89 90
00028986: 4C 90
00028987: 24 90
00028988: 0A 90
00028989: 6A 90
0002898A: 06 90
0002898B: 8B 90
0002898C: CE 90
0002898D: C6 90
0002898E: 44 90
0002898F: 24 90
00028990: 0C E8
00028991: 0C AB
00028992: 88 76
00028993: 44 14
00028994: 24 00
00028995: 0D E9
00028996: E8 EC
00028997: F5 21
00028998: 20 10
00028999: 10 00
0002899A: 00 90
0002899B: 84 90
0002899C: C0 90
0002899D: 75 90
0002899E: 16 90
0002899F: 68 90
000289A1: 52 90
000289A2: 73 90
000289A3: 00 90
000289A4: E8 90
000289A5: F7 90
000289A6: 56 90
000289A7: 14 90
000289A8: 00 90
000289A9: 83 90
000289AA: C4 90
000289AB: 04 90
000289AC: 32 90
000289AD: C0 90
000289AE: 5E 90
000289AF: 83 90
000289B0: C4 90
000289B1: 08 90
000289B2: C2 90
000289B3: 08 90
000289B4: 00 90
000289B5: 8B 90
000289B6: CE 90
000289B7: E8 90
000289B8: 84 90
000289B9: 24 90
000289BA: 10 90
000289BB: 00 90
000289BC: 5E 90
000289BD: 83 90
000289BE: C4 90
000289BF: 08 90
000289C0: C2 90
000289C1: 08 90
000289C2: 00 90
0012AB82: BA DA
0012AB83: 54 DD
0012AB84: 04 EF
0012AB85: 00 FF
Hier mal eine kleine Anleitung, wie ihr das bei eurer eigenen Binary machen könnt:
1) Den Conditional Jump bei unknown packet header in einen Unconditional Jump ändern.
2) Den Call zur Verschlüsselungsfunktion finden (Die Funktion hat 4 Parameter, einfach in Olly STRG+G drücken, send eingeben, Breakpoint an den Anfang der Funktion, irgendwas machen, was ein Packet sendet und dann im Stack zur Returnaddresse gehen)
3) Die alte ItemDrop-Funktion finden (es ist die obere, einfach nach den Text Strings suchen und darin nach Drop)
4) Diese Funktion ausnoppen
5) Den Assemblercode wie in folgendem Beispiel verändern:
Alte Item-Drop Funktion:
Code:
CPU Disasm
Address Hex dump Command Comments
[COLOR="SeaGreen"]00428960[/COLOR] 58 POP EAX ; metin2client.00428960(guessed Arg1,Arg2)
00428961 53 PUSH EBX
00428962 51 PUSH ECX
00428963 50 PUSH EAX
00428964 83FF 0E CMP EDI,0E
00428967 8B02 MOV EAX,DWORD PTR DS:[EDX]
00428969 75 16 JNE SHORT [COLOR="Blue"]00428981[/COLOR]
0042896B 3D FCFFFF7F CMP EAX,7FFFFFFC
00428970 90 NOP
00428971 75 0E JNE SHORT [COLOR="Blue"]00428981[/COLOR]
00428973 8A4A 0D MOV CL,BYTE PTR DS:[EDX+0D]
00428976 C602 0A MOV BYTE PTR DS:[EDX],0A
00428979 884A 01 MOV BYTE PTR DS:[EDX+1],CL
0042897C BF 02000000 MOV EDI,2
[COLOR="Blue"]00428981[/COLOR] 58 POP EAX
00428982 59 POP ECX
00428983 5B POP EBX
00428984 90 NOP
00428985 90 NOP
00428986 90 NOP
00428987 90 NOP
00428988 90 NOP
00428989 90 NOP
0042898A 90 NOP
0042898B 90 NOP
0042898C 90 NOP
0042898D 90 NOP
0042898E 90 NOP
0042898F 90 NOP
00428990 E8 AB761400 CALL [COLOR="DarkOrange"]00570040 <- Addresse der echten Verschlüsselungsfunktion[/COLOR]
00428995 E9 EC211000 JMP [COLOR="Red"]0052AB86 <- Addresse der Instrunktion nach dem Call zur Verschlüsselungsfunktion[/COLOR]
0042899A 90 NOP
0042899B 90 NOP
0042899C 90 NOP
0042899D 90 NOP
0042899E 90 NOP
0042899F 90 NOP
004289A0 90 NOP
004289A1 90 NOP
004289A2 90 NOP
004289A3 90 NOP
004289A4 90 NOP
004289A5 90 NOP
004289A6 90 NOP
004289A7 90 NOP
004289A8 90 NOP
004289A9 90 NOP
004289AA 90 NOP
004289AB 90 NOP
004289AC 90 NOP
004289AD 90 NOP
004289AE 90 NOP
004289AF 90 NOP
004289B0 90 NOP
004289B1 90 NOP
004289B2 90 NOP
004289B3 90 NOP
004289B4 90 NOP
004289B5 90 NOP
004289B6 90 NOP
004289B7 90 NOP
004289B8 90 NOP
004289B9 90 NOP
004289BA 90 NOP
004289BB 90 NOP
004289BC 90 NOP
004289BD 90 NOP
004289BE 90 NOP
004289BF 90 NOP
004289C0 90 NOP
004289C1 90 NOP
004289C2 90 NOP
Call zur Verschlüsselungsfunktion:
Code:
CPU Disasm
Address Hex dump Command Comments
004F3792 |. 57 PUSH EDI
004F3793 |. 03D0 ADD EDX,EAX
004F3795 |. 8B46 24 MOV EAX,DWORD PTR DS:[ESI+24]
004F3798 |. 8D4E 42 LEA ECX,[ESI+42]
004F379B |. 51 PUSH ECX
004F379C |. 52 PUSH EDX
004F379D |. 0346 2C ADD EAX,DWORD PTR DS:[ESI+2C]
004F37A0 |. 50 PUSH EAX
004F37A1 |. E8 17ABF2FF CALL [COLOR="SeaGreen"]0041E2BD <- Addresse der alten ItemDrop-Funktion, war vorher die der Verschlüsselungsfunktion[/COLOR]
[COLOR="Red"]004F37A6[/COLOR] |> \8B4E 2C MOV ECX,DWORD PTR DS:[ESI+2C]
|
|
|
|
02/13/2012, 12:58
|
#2
|
elite*gold: 20
Join Date: Mar 2009
Posts: 4,526
Received Thanks: 4,618
|
Funktioniert perfekt, danke.
|
|
|
02/13/2012, 13:05
|
#3
|
elite*gold: 1
Join Date: Sep 2011
Posts: 927
Received Thanks: 297
|
Quote:
Originally Posted by .CHMarvin
Funktioniert perfekt, danke.
|
dafür gibts nen button, bro
machst du wieder nen server?
|
|
|
02/13/2012, 13:53
|
#4
|
elite*gold: 60
Join Date: May 2010
Posts: 766
Received Thanks: 1,025
|
Quote:
Originally Posted by musicinstructor
DIF-Files für einige Binarys, die ich letzten Sommer in die UG gepostet habe.
Ich gebe sie euch, da ein Fix für den Client schon in Thread verschickt wird.
|
Die dif ist für die Binary von US (Time Stamp: 0x4c062c63 - Wed Jun 02 12:03:15 2010)
can you realase that bin version with no HS?
|
|
|
02/13/2012, 13:56
|
#5
|
elite*gold: 5
Join Date: Aug 2010
Posts: 1,695
Received Thanks: 1,596
|
und wozu ein fix für einen eigentlich sinnvolles feature
|
|
|
02/13/2012, 14:09
|
#6
|
elite*gold: 20
Join Date: Mar 2009
Posts: 4,526
Received Thanks: 4,618
|
Quote:
Originally Posted by YaKuZo'
und wozu ein fix für einen eigentlich sinnvolles feature
|
Das entfernt ja nicht die Funktion, es gibt nur ein Bug wenn man des bei manchen Launchern benutzt dann stürzt der Client ab.
Die .dif behebt das.
Gruß,
CHMarvin.
|
|
|
02/13/2012, 14:50
|
#7
|
elite*gold: 0
Join Date: Jan 2012
Posts: 7,868
Received Thanks: 7,712
|
Das ist sehr nützlich.
Danke das du so schnell reagiert hast.
|
|
|
02/13/2012, 15:01
|
#8
|
elite*gold: 50
Join Date: May 2011
Posts: 269
Received Thanks: 990
|
Hm nice, but the users cannot use this function, just the GM's?
|
|
|
02/13/2012, 15:07
|
#9
|
elite*gold: 0
Join Date: Sep 2010
Posts: 503
Received Thanks: 609
|
Quote:
Originally Posted by xP3NG3Rx
Hm nice, but the users cannot use this function, just the GM's?
|
all user can use this
|
|
|
02/13/2012, 15:19
|
#10
|
elite*gold: 0
Join Date: Apr 2009
Posts: 121
Received Thanks: 780
|
Quote:
Originally Posted by *Casi*
all user can use this
|
They actually can't, unless they use the dif I posted (or they can patch it themselves, of course). It needs at least the lowest-level GM powers to be executed.
|
|
|
02/13/2012, 15:22
|
#11
|
elite*gold: 0
Join Date: Sep 2010
Posts: 434
Received Thanks: 126
|
Haste mal ne DIF für die aktuelle .DE binary.
|
|
|
02/13/2012, 16:53
|
#12
|
elite*gold: 0
Join Date: Jul 2009
Posts: 1,702
Received Thanks: 1,468
|
Sehr nice für den Release danke.
Ich hab damals 3 Tage dafür gebraucht -.-"
|
|
|
02/13/2012, 17:29
|
#13
|
elite*gold: 0
Join Date: Sep 2010
Posts: 503
Received Thanks: 609
|
nach dem login schließt sich direkt der client
|
|
|
02/13/2012, 23:29
|
#14
|
elite*gold: 0
Join Date: Feb 2010
Posts: 179
Received Thanks: 350
|
work only when i GM?
|
|
|
02/13/2012, 23:39
|
#15
|
elite*gold: 99
Join Date: Aug 2009
Posts: 4,296
Received Thanks: 5,092
|
Quote:
Originally Posted by *Casi*
nach dem login schließt sich direkt der client
|
Dann hat der jenige, bei dem du es anwendest, nicht die gleiche Binary wie Deine.
|
|
|
Similar Threads
|
[HELP]erros of the command of view_equip
09/28/2011 - Metin2 Private Server - 0 Replies
hello everyone.i got a problem about that:
the command of view_equip.when i use view_equip(vid),the equipment window of the target player show.and the cilent shut up automaitc...
and the files of syserr.txt said this:
0928 22:07:29037 :: Unknown packet header: 200, last: 62 99
who can help me.thank you.
tip:sorry of my english
|
All times are GMT +2. The time now is 04:25.
|
|