Register for your free account! | Forgot your password?

You last visited: Today at 13:16

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[HOWTO] YangDrop Serverside ausstellen

Discussion on [HOWTO] YangDrop Serverside ausstellen within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
xWaffeleisen's Avatar
 
elite*gold: 320
Join Date: Oct 2009
Posts: 697
Received Thanks: 1,643
[HOWTO] YangDrop Serverside ausstellen

So, wegen SEHR vertrauenswürdiger Personen unter uns die hier denken sie würden cool sein oder so weil sie Sachen aus der UG kopieren und hier in ihrem Namen Pub machen, mach ich hier mein SELBST erstelltes HowTo pub welches mittleweile schon mehrmals hier pub gemacht wurde (sogar mit den selben Screens die neu hochgeladen wurden -.-) selbst pub.
Vllt hilft dem einen oder anderen die ausführliche Erklärung weiter um vllt irgendwelche anderen Änderungen zu machen, naja hf


Quote:
Originally Posted by xWaffeleisen View Post
Zuerst müsst ihr natürlich eure game file vom Server laden.
Dann braucht ihr noch IDA. Ich benutze die v5.5, aber in der v4.9 sollte das genau so gehen.

Jetzt öffnet ihr die game file mit IDA (bei Format sollte "ELF" schon gewählt sein, den Rest einfach so lassen).

Sobald IDA fertig analysiert hat, sucht ihr oben nach dem Text "CInputMain::Analyze()".



Hier solltet ihr den String "CInputMain::Analyze() ==> Header [%d] " finden (siehe Screen). Dort geht ihr auf den DATA XREF (rot markiert) um in die Analyze Funktion zu kommen.



Das ist jetzt die Funktion, die die eingehenden Packets von den Clients, die in der Game Phase sind (sprich, wenn man rumlaufen kann, ect.).
Wer die v5.5 hat, kann jetzt mit F5 den Pseudocode erzeugen, aber ich zeigs einfach mal ganz normal in der IDA Ansicht.



Hier scrollt ihr in der Funktion runter, bis zum Aufruf (Call) der Funktion CInputMain::ItemDrop2 kommen (rot markiert). Die CInputMain::ItemDrop Funktion ist wohl die ältere, die garnicht verwendet wird, der Client hat ja auch 2 ItemDropPacket Funktionen, wobei da auch immer nur die 2. benutzt wird.

In diese Funktion geht ihr jetzt einfach mit einem Doppelklick rein.



In dieser Funktion wird überprüft welche Parameter gesetzt sind und je nach dem wird dann die DropGold oder die DropItem Funktion aufgerufen.
Wir ersetzen dann einfach den Jump zur DropGold Funktion mit einem Jump an das Ende der Funktion. Außerdem nop'en wir die 3 Zeilen vor dem Jump (Parameter für die DropGold Funktion, ect.) einfach aus. Da wir schonmal dabei sind, können wir uns auch schon gleich die nötigen Adressen für den neuen Jump notieren (dazu komme ich gleich). Das wäre einmal die Adresse zu der wir wollen (Zieladresse), also hier die 080FE3C7 und die Adresse, an der der Jump gemacht wird, also 080FE3AB.
Jetzt markiert ihr die obere der 3 Zeilen über dem Jump und wechseln zur Hex-View.



Das sind die Bytes des Jumps und der 3 Zeilen darüber. Diese kopiert ihr euch einfach und öffnet die game file mit einem HexEditor.
Jetzt sucht ihr nach den Bytes (falls ihr mehrere Stellen findet, kopiert euch noch ein paar Bytes aus IDA, die davor sind.



Da wir ja die 3 Zeilen über dem Jump aus nop'en wollen (nop = no operation = nichts tun) überschreiben wir sie einfach mit 0x90 (ASM Wert für NOP).

Jetzt fehlt nurnoch der Jump.
Dieser wird folgendermaßen berechnet:
Zieladresse - JumpAdresse - 5

Die 5, da der Jump ja 5 Bytes lang ist (1 Byte für E9 und 4 bytes für den Jumpwert).

Jetzt kommen unsere zuvor notierten Adressen ins Spiel:
080FE3C7 - 080FE3AB - 5 = 17

Das heißt wir springen 23 Bytes (da die 17 ja HEX ist) weiter (und ja, man hätte die Bytes auch einfach abzählen können, ich weiß).

Nun können wir die 17 hinher den Jump schreiben. Aber in LittleEndian schreibweise, d.h. die Bytes werden umgedreht. Aus z.B. 12 34 56 78 wird 78 56 34 12. In unserem Fall ist der Wert ja 00 00 00 17, also wird 17 00 00 00 daraus.



So sollte es dann am Ende aussehen.

Ich hoffe ihr konntet das "kleine" HowTo verstehen
xWaffeleisen is offline  
Thanks
49 Users
Old 10/01/2010, 19:48   #2
 
elite*gold: 0
Join Date: Jul 2009
Posts: 2,583
Received Thanks: 808
keke , thx ;D
Loveskill is offline  
Old 10/01/2010, 19:57   #3

 
Ocelot2606's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4,086
Received Thanks: 3,786
Sehr Sehr Nice

Und hoffe das diese Kopien hier endlich aufhören
Ocelot2606 is offline  
Old 10/01/2010, 20:01   #4
 
elite*gold: 191
Join Date: Jul 2010
Posts: 497
Received Thanks: 3,475
OMg #Fail
Wird eh gleich Celosed.

mfg Afro
#EroX is offline  
Old 10/01/2010, 20:02   #5
 
LS-fanfan's Avatar
 
elite*gold: 140
Join Date: Mar 2009
Posts: 1,345
Received Thanks: 194
Wenn das TuT von dir ist, würd ich mal sagen thx

und sehr gut erklärt
LS-fanfan is offline  
Thanks
1 User
Old 10/01/2010, 20:08   #6
 
xWaffeleisen's Avatar
 
elite*gold: 320
Join Date: Oct 2009
Posts: 697
Received Thanks: 1,643
Quote:
Originally Posted by Afro Samurai View Post
OMg #Fail
Wird eh gleich Celosed.

mfg Afro
Mit welchem Grund denn?
xWaffeleisen is offline  
Thanks
6 Users
Old 10/01/2010, 20:14   #7
 
.Infinity's Avatar
 
elite*gold: 29
Join Date: Jul 2009
Posts: 2,826
Received Thanks: 7,422
Quote:
Originally Posted by xWaffeleisen View Post
Mit welchem Grund denn?
Achtung der hat seine Coolheitsphase Waffeleisen P:

Lass dich nicht auf Stress ein!
.Infinity is offline  
Thanks
4 Users
Old 10/01/2010, 20:15   #8
 
SHaiiN.'s Avatar
 
elite*gold: 13
Join Date: Feb 2010
Posts: 1,305
Received Thanks: 217
Danke hast du gut gemacht
SHaiiN. is offline  
Thanks
1 User
Old 10/01/2010, 20:17   #9
 
elite*gold: 191
Join Date: Jul 2010
Posts: 497
Received Thanks: 3,475
Aha die Phase kenn ich noch gar nicht.

Ich mach Pub was ich will wie gesagt.

Und John hat mir das JA! dafür gegeben.

ihr werdet sehn

mfg
#EroX is offline  
Old 10/01/2010, 20:18   #10
 
elite*gold: 2
Join Date: Oct 2009
Posts: 1,064
Received Thanks: 280
nice!
7Ultimate is offline  
Old 10/01/2010, 20:19   #11
 
.Infinity's Avatar
 
elite*gold: 29
Join Date: Jul 2009
Posts: 2,826
Received Thanks: 7,422
Quote:
Originally Posted by Afro Samurai View Post
Aha die Phase kenn ich noch gar nicht.

Ich mach Pub was ich will wie gesagt.

Und John hat mir das JA! dafür gegeben.

ihr werdet sehn

mfg
Mama sitz neben mir und tröstet mich schon.
Ich zitter echt >.<
Was wird wohl passieren?
.Infinity is offline  
Thanks
3 Users
Old 10/01/2010, 20:25   #12
 
banjo1's Avatar
 
elite*gold: 1371
Join Date: Dec 2007
Posts: 14,904
Received Thanks: 19,354
Quote:
Originally Posted by Afro Samurai View Post
OMg #Fail
Wird eh gleich Celosed.

mfg Afro
+ infration wegen spam
banjo1 is offline  
Thanks
18 Users
Old 10/01/2010, 20:25   #13


 
RivathaX's Avatar
 
elite*gold: 77
Join Date: Jan 2009
Posts: 9,732
Received Thanks: 5,599
Oha Afro du hast eine erlaubniss Sachen public zu machen die dir nicht gehören?
Oha du bist nun mein neuer ultra supi dupi blubi Held

Danke an Waffeleisen^^
Hast auch nen Thanks
Werde es mir mal in aller ruhe durch lesen

Best Regards,
.RiskSun
RivathaX is offline  
Old 10/01/2010, 20:27   #14
 
.iAppeL²'s Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 1,373
Received Thanks: 301
ehm was sol ich sagen ihr seit freaks jetzt nicht böse gemeint doch was ihr alles machen könnt scheint mir schon zu nem freak
.iAppeL² is offline  
Thanks
1 User
Old 10/01/2010, 20:27   #15

 
UranoX's Avatar
 
elite*gold: 193
Join Date: May 2010
Posts: 5,773
Received Thanks: 2,115
Danke,wird bestimmt vielen Servern helfen.

@RiskSun
Ruf mich mal Skype an!
UranoX is offline  
Reply


Similar Threads Similar Threads
[HowTo]Levelanzeige ServerSide + ClientSide einbauen
12/30/2010 - Metin2 PServer Guides & Strategies - 43 Replies
Hey Com, ich mach aml ein TuT wie ihr die Rang-Anzeige mit der Level-Anzeige ersetzt. Also da wo Ritterlich steht steht dann euer Level. >>Geht nur mit der Level 99 game File! >>Sieht man nur teilweise, meistens nur bei Level up! 1. Ihr geht über FileZilla in /usr/rain/channel/share_data/ 2. Ihr ladet euch die "game" Datei runter.
[HowTo]Kick-Hack fixxen[Serverside]
09/30/2010 - Metin2 PServer Guides & Strategies - 11 Replies
HuHu liebe ePvP com. ich hatte grade ne tolle Idee... Vorwort Ich habe nicht getestet ob es funktioniert und es ist nur für Spieler gedacht nicht für Monster. 1.Wir gehen in die Datenbank. 2.Wir öffnen die Itemproto.



All times are GMT +2. The time now is 13:16.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.