Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 18:21

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

Advertisement



[Zusammenarbeit] number_ex fix

Discussion on [Zusammenarbeit] number_ex fix within the Metin2 Private Server forum part of the Metin2 category.

Closed Thread
 
Old 07/17/2013, 01:05   #16
 
Emily17's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 50
Received Thanks: 40
Man könnte es auch einfacher und schneller angehen. Wenn man die Zahlen einfach mit 0 überschreibt, wenn sie im negativen Bereich sind. Dann dürfte eine Konvertierung auch kein Problem sein und Platz hätte ich dafür, sehe ich gerade^^ weiß nich, wie es in der 2019 aussieht, aber hier in 34 reicht der Platz^^
Emily17 is offline  
Old 07/17/2013, 01:21   #17
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,901
Received Thanks: 3,341
Quote:
Originally Posted by DasKuchen View Post
Game2089M:

Start Function (thecore_random): 08315F70
Start Function (number_ex): 08315F80

Hoffe das war das was du brauchst
Jop

Habs mal in Anhang gepackt, kp obs geht kanns nich testen x.x
Attached Files
File Type: zip number_ex_fix_2089m.zip (7.2 KB, 101 views)
xCPx is offline  
Thanks
1 User
Old 07/17/2013, 01:39   #18
 
Emily17's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 50
Received Thanks: 40
Code:
unsigned int __cdecl number_ex(int a1, int a2)
{
  int v2; // ebx@1
  int v3; // esi@1
  unsigned int result; // eax@8
  unsigned int v5; // ST28_4@8

  v2 = a1;
  v3 = a2;
  if ( a1 > a2 )
  {
    v3 = a1;
    v2 = a2;
  }
  if ( a1 == a2 )
  {
    result = v5;
  }
  else
  {
    if ( v2 < 0 )
      v2 = 0;
    if ( v3 < 0 )
      v3 = 1;
    result = v2 + thecore_random() % (unsigned int)(v3 + 1 - v2);
  }
  return result;
}
So sieht mein jetziger Pseudocode aus. Dürfte doch seinen Zweck diesmal erfüllen oder?^^

€: Es lebt! Die dif ist sofort draußen, übernehme schnell die Änderungen. Wenn ich sie noch für andere cores machen soll, dann einfach schreiben^^

Neue dif:
Code:
This difference file has been created by IDA Pro

game
003F1635: 38 06
003F1636: 8B 89
003F1637: 45 F0
003F1638: 14 89
003F1639: 8B DE
003F163A: 4D 89
003F163B: 10 C3
003F163C: 89 74
003F163D: 74 17
003F163E: 24 85
003F163F: 10 DB
003F1640: 89 79
003F1641: 5C 05
003F1642: 24 BB
003F1643: 0C 00
003F1644: 89 00
003F1645: 44 00
003F1646: 24 00
003F1647: 18 85
003F1648: 89 F6
003F1649: 4C 79
003F164A: 24 23
003F164B: 14 BE
003F164C: C7 01
003F164D: 44 00
003F164E: 24 00
003F164F: 08 00
003F1650: 44 EB
003F1651: 8E 1C
003F1652: 5D 00
003F1653: 08 00
003F1654: C7 00
003F1655: 44 B8
003F1656: 24 00
003F1657: 04 00
003F1658: 6A 00
003F1659: 01 00
003F165A: 00 89
003F165B: 00 EC
003F165C: C7 58
003F165D: 04 C3
003F165E: 24 00
003F165F: ED 00
003F1660: 8E 00
003F1661: 5D 00
003F1662: 08 00
003F1663: E8 00
003F1664: A8 00
003F1665: FA 00
003F1666: FF 00
003F1667: FF 00
003F1668: 89 00
003F1669: F0 00
003F166A: 89 00
003F166B: DE 00
003F166C: 89 00
003F166D: C3 00
Emily17 is offline  
Thanks
4 Users
Old 07/17/2013, 01:55   #19
 
monsterbacke778's Avatar
 
elite*gold: 0
Join Date: Sep 2010
Posts: 328
Received Thanks: 87
nice^^
wenn ihr grad am difs machen seit, könnt ihr evtl den packetbypass auch für die 34k bin erstellen? wäre echt total nett
monsterbacke778 is offline  
Old 07/17/2013, 02:06   #20
 
Emily17's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 50
Received Thanks: 40
Quote:
Originally Posted by monsterbacke778 View Post
nice^^
wenn ihr grad am difs machen seit, könnt ihr evtl den packetbypass auch für die 34k bin erstellen? wäre echt total nett
Wie meinst du das? wegen dem login paket? In der game sind die login pakete schon "geändert", du kannst mit den neuen bins ganz normal rein^^
Emily17 is offline  
Thanks
1 User
Old 07/17/2013, 02:14   #21
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,901
Received Thanks: 3,341
Quote:
Originally Posted by Emily17 View Post
Code:
unsigned int __cdecl number_ex(int a1, int a2)
{
  int v2; // ebx@1
  int v3; // esi@1
  unsigned int result; // eax@8
  unsigned int v5; // ST28_4@8

  v2 = a1;
  v3 = a2;
  if ( a1 > a2 )
  {
    v3 = a1;
    v2 = a2;
  }
  if ( a1 == a2 )
  {
    result = v5;
  }
  else
  {
    if ( v2 < 0 )
      v2 = 0;
    if ( v3 < 0 )
      v3 = 1;
    result = v2 + thecore_random() % (unsigned int)(v3 + 1 - v2);
  }
  return result;
}
So sieht mein jetziger Pseudocode aus. Dürfte doch seinen Zweck diesmal erfüllen oder?^^

€: Es lebt! Die dif ist sofort draußen, übernehme schnell die Änderungen. Wenn ich sie noch für andere cores machen soll, dann einfach schreiben^^

Neue dif:
Code:
This difference file has been created by IDA Pro

game
003F1635: 38 06
003F1636: 8B 89
003F1637: 45 F0
003F1638: 14 89
003F1639: 8B DE
003F163A: 4D 89
003F163B: 10 C3
003F163C: 89 74
003F163D: 74 17
003F163E: 24 85
003F163F: 10 DB
003F1640: 89 79
003F1641: 5C 05
003F1642: 24 BB
003F1643: 0C 00
003F1644: 89 00
003F1645: 44 00
003F1646: 24 00
003F1647: 18 85
003F1648: 89 F6
003F1649: 4C 79
003F164A: 24 23
003F164B: 14 BE
003F164C: C7 01
003F164D: 44 00
003F164E: 24 00
003F164F: 08 00
003F1650: 44 EB
003F1651: 8E 1C
003F1652: 5D 00
003F1653: 08 00
003F1654: C7 00
003F1655: 44 B8
003F1656: 24 00
003F1657: 04 00
003F1658: 6A 00
003F1659: 01 00
003F165A: 00 89
003F165B: 00 EC
003F165C: C7 58
003F165D: 04 C3
003F165E: 24 00
003F165F: ED 00
003F1660: 8E 00
003F1661: 5D 00
003F1662: 08 00
003F1663: E8 00
003F1664: A8 00
003F1665: FA 00
003F1666: FF 00
003F1667: FF 00
003F1668: 89 00
003F1669: F0 00
003F166A: 89 00
003F166B: DE 00
003F166C: 89 00
003F166D: C3 00
Jetzt isses ne hübsche func stimmt
Ich war dafür zu faul für die 34k ^^
Ging via lib einfach schneller
xCPx is offline  
Thanks
1 User
Old 07/17/2013, 02:17   #22
 
Emily17's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 50
Received Thanks: 40
Hehe Danke, ohne dich wäre ich echt noch Stunden dran gesessen
Kannst du die bitte mal austesten? Vielleicht hab ich zu viel an der game rumgekratzt und letztendlich keine saubere mehr. Weil irgendwie stürzt bei mir jetzt der core dafür dann ab, wenn ich eine nulldivision herausprovoziere >.< Wenn ich /dice 2 1 eingebe, schmiert er ab, dabei gibt's nichtmal eine laut dem Pseudocode.

Der Code erkennt ja, dass dann die erste Zahl größer ist und legt für v3 dann eben das erste Argument rein, in dem Fall 2. Für v2 legt er das zweite Argument rein, 1.
Und die Rechnung geht auf:
1+ randomblabla() % (2+1-1)
Da kommt nie und nimmer %0 raus und trotzdem schmiert er ab.
Naja, wäre schön, wenn das mal einer testen könnte^^

Jedenfalls ist's mal der richtige Weg, wenn nich dann hab ich mir tatsächlich die core wegen dem vielen arbeiten zerschossen und die funktion ist gut so. Hm, mal schauen, ich schlafe mal ne Runde und melde mich morgen wieder zu Wort Nachti^^
Emily17 is offline  
Old 07/17/2013, 02:32   #23
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,901
Received Thanks: 3,341
Quote:
Originally Posted by Emily17 View Post
Hehe Danke, ohne dich wäre ich echt noch Stunden dran gesessen
Kannst du die bitte mal austesten? Vielleicht hab ich zu viel an der game rumgekratzt und letztendlich keine saubere mehr. Weil irgendwie stürzt bei mir jetzt der core dafür dann ab, wenn ich eine nulldivision herausprovoziere >.< Wenn ich /dice 2 1 eingebe, schmiert er ab, dabei gibt's nichtmal eine laut dem Pseudocode.

Der Code erkennt ja, dass dann die erste Zahl größer ist und legt für v3 dann eben das erste Argument rein, in dem Fall 2. Für v2 legt er das zweite Argument rein, 1.
Und die Rechnung geht auf:
1+ randomblabla() % (2+1-1)
Da kommt nie und nimmer %0 raus und trotzdem schmiert er ab.
Naja, wäre schön, wenn das mal einer testen könnte^^

Jedenfalls ist's mal der richtige Weg, wenn nich dann hab ich mir tatsächlich die core wegen dem vielen arbeiten zerschossen und die funktion ist gut so. Hm, mal schauen, ich schlafe mal ne Runde und melde mich morgen wieder zu Wort Nachti^^
Hm ok das is crazy :O
ich kann das nicht testen ich schreibe ja libs, weil mein upload so scheiße ist
Ich brauch um ne game hochzuladen ca 20min ^^
xCPx is offline  
Old 07/17/2013, 09:52   #24
 
elite*gold: 32
Join Date: Dec 2010
Posts: 1,294
Received Thanks: 862
Quote:
Originally Posted by xCPx View Post
Das problem ist:
Es gibt mehr als einen Befehl, durch den man den Server downen kann.
Ich dachte mir ---> ich fixx einfach die function im Server, die die Serverdowns verursacht

btw:
Der Coredown ensteht nicht durch die negativen zahlen, sondern dadurch, dass im endeffekt durch 0 dividiert wird.

btw: Emily, du tust mir leid ^^ Ich denke mal dein "Fix" via dif hat zirca ne stunde gedauert:O
Meine lib war in nichtmal 5 minuten fertig ^^
Alles sagen es gibt andere Befehle, durch die man mit dieser Funktion den Server downen kann, aber niemand schreibt welche..
Kann mich jetzt endlich mal irgendwer aufklären?
√π. is offline  
Old 07/17/2013, 13:35   #25
 
Emily17's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 50
Received Thanks: 40
Quote:
Originally Posted by √π. View Post
Alles sagen es gibt andere Befehle, durch die man mit dieser Funktion den Server downen kann, aber niemand schreibt welche..
Kann mich jetzt endlich mal irgendwer aufklären?
Es gibt in der game 427 Verweise auf die number_ex Funktion
Es gibt ebenfalls die do_monarch_mob-Funktion. Also spätestens ein Kaiser könnte den Core abschalten. Auch die Cube und viele andere Funktionen können den Core superschnell runterziehen (z. B. mob)^^ Auch das Angeln usw. benutzt number_ex und wenn man es schafft nur irgendwie den Clienten ein wenig zu manipullieren, dass er Pakete mit negativen Zahlen raushaut, könnte das den Core sogar als normaler Spieler erledigen.

Dice ist aber so weit ich das bisher schon gesehen habe die einzige Funktion, die Spieler ohne Weiteres ausführen können. Aber wie gesagt, bei 427 Aufrufen gibt es sicher noch was anderes.^^
Emily17 is offline  
Thanks
3 Users
Old 08/02/2013, 12:20   #26
 
elite*gold: 20
Join Date: Nov 2006
Posts: 172
Received Thanks: 70
Also ich habe 2089M und bekomme folgenden err, wenn ich die lib mitladen möchte:

Illegal instruction (core dumped)

OS: FBSD8.32bit

Edit: Syserr schreibt keine Fehler deswegen.
german1337 is offline  
Old 08/02/2013, 16:17   #27
 
elite*gold: 0
Join Date: Nov 2009
Posts: 3,260
Received Thanks: 1,023
Kann mir es bitte erklären mit der Lib von xCPx?
Wie füge ich sie dort ein?
RandomName42 is offline  
Old 09/01/2013, 21:26   #28
 
elite*gold: 17
Join Date: Jan 2009
Posts: 2,538
Received Thanks: 2,404
Kann einer die dif für die 2089M umschreiben? meins klappt irgendwie nicht keine ahnung wieso hier meine

Code:
This difference file is created by The Interactive Disassembler

game_r2089M
002CDF95: 38 06
002CDF96: 8B 89
002CDF97: 45 F0
002CDF98: 14 89
002CDF99: 8B DE
002CDF9A: 4D 89
002CDF9B: 10 C3
002CDF9C: 89 74
002CDF9D: 74 17
002CDF9E: 24 85
002CDF9F: 10 DB
002CDFA0: 89 79
002CDFA1: 5C 05
002CDFA2: 24 BB
002CDFA3: 0C 00
002CDFA4: 89 00
002CDFA5: 44 00
002CDFA6: 24 00
002CDFA7: 18 85
002CDFA8: 89 F6
002CDFA9: 4C 79
002CDFAA: 24 23
002CDFAB: 14 BE
002CDFAC: C7 01
002CDFAD: 44 00
002CDFAE: 24 00
002CDFAF: 08 00
002CDFB0: 44 EB
002CDFB1: 0F 1C
002CDFB2: 47 00
002CDFB3: 08 00
002CDFB4: C7 00
002CDFB5: 44 B8
002CDFB6: 24 00
002CDFB7: 04 00
002CDFB8: 6A 00
002CDFB9: 01 00
002CDFBA: 00 89
002CDFBB: 00 EC
002CDFBC: C7 58
002CDFBD: 04 C3
002CDFBE: 24 00
002CDFBF: ED 00
002CDFC0: 0F 00
002CDFC1: 47 00
002CDFC2: 08 00
002CDFC3: 90 00
002CDFC4: 90 00
002CDFC5: 90 00
002CDFC6: 90 00
002CDFC7: 90 00
002CDFC8: 89 00
002CDFC9: F0 00
002CDFCA: 89 00
002CDFCB: DE 00
002CDFCC: 89 00
002CDFCD: C3 00
danke im vorraus
Perfection- is offline  
Thanks
1 User
Old 09/01/2013, 23:16   #29
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Beim durchlesen des ganzen Codes hier fällt mir auf, dass niemand auf die simpelste lösung kommt, wenn es darum geht, dass das teil nicht mit negativen Zahlen klar kommt. Folgende Funktion dürfte in der Theorie nicht crashen. Das ist jetzt nur Code direkt aus dem Kopf gezogen.

PHP Code:
uint32_t number_ex(int32_t a1int32_t a2)
{
  
int32_t v2;
  
int32_t v3;
  
int32_t v4;

  
v2 a1 0x7fffffff;
  
v3 a2 0x7fffffff;
  
v4 = (v2 v3 v2 v3) + - (v2 v3 v3 v2);

  return 
v2 thecore_random() % (v4 v4 1);
}; 
Tyrar is offline  
Old 09/01/2013, 23:20   #30
 
elite*gold: 20
Join Date: Aug 2012
Posts: 714
Received Thanks: 1,168
Quote:
Originally Posted by HeavyHacker View Post
Beim durchlesen des ganzen Codes hier fällt mir auf, dass niemand auf die simpelste lösung kommt, wenn es darum geht, dass das teil nicht mit negativen Zahlen klar kommt. Folgende Funktion dürfte in der Theorie nicht crashen. Das ist jetzt nur Code direkt aus dem Kopf gezogen.

PHP Code:
uint32_t number_ex(int32_t a1int32_t a2)
{
  
int32_t v2;
  
int32_t v3;
  
int32_t v4;

  
v2 a1 0x7fffffff;
  
v3 a2 0x7fffffff;
  
v4 = (v2 v3 v2 v3) + - (v2 v3 v3 v2);

  return 
v2 thecore_random() % (v4 v4 1);
}; 
Es geht nicht um negative Zahlen ich glaub das Problem war die Integer Grenze oder?
'ChuckNorris is offline  
Closed Thread


Similar Threads Similar Threads
[S]Youtube - Zusammenarbeit !
01/27/2013 - Call of Duty - 2 Replies
Hallo epvp! Ich suche jemanden der für mich Gameplays/Gute Kills mit Sniper oder Gute Killstreaks erspielt und dies aufnimmt und mir schickt um es zu Bearbeiten und auf Youtube veröffentlichen darf. Euer Kanal wird natürlich dazu verlinkt ...! Hoffe es meldet sich einer. MfG
[B] Meine Zusammenarbeit
01/31/2012 - Main - 0 Replies
Hallo Leute, ich suche mal wieder eine beschäftigung! also ich bin für alles offen, wenn ihr irgendein projekt habt, bei dem ihr einen kollegen gebrauchen könnt, pnt micht! egal um was es geht, youtube, keys, etc. ! lg
[Zusammenarbeit]Kriegskeiler
12/07/2010 - Metin2 PServer Guides & Strategies - 54 Replies
Hallo liebe e*PvP'ler, Die Leute von DE haben sich wieder ein neues Reittiere einfallen lassen. Der Kriegskeiler ist nun Public in DE. Wir wollen den mit sicherheit auch. Ich werd euch sagen, das es noch weitere Reittiere geben wird. DE hat nun Löwe 2x, Keiler 2x dann muss noch 2 kommen. Ob es noch weitere gibt ist bissher noch unklar. Fakt ist, 2 neue Reittiere sind dazu gekommen. Heute handelt es sich um den Kriegskeiler.
Mod Zusammenarbeit!
04/01/2010 - Combat Arms - 10 Replies
also ich wäre dafür das wir mal alle zusammen hier einen bzw. mehrere Mods machen :) also schreibt einfach drunter was ihr so könnt bzw schon gemacht habt und dan adden wir uns in allen möglichen messengern oder reden per ts2-3 muble etc hoffe da kommt was cooles bei rauss :mofo:



All times are GMT +1. The time now is 18:23.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.