|
06/02/2012, 11:39
|
#46
|
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,524
Received Thanks: 5,444
|
Btw, sieht aus als wärst du in Tarian, es wird nur als Belfist angezeigt (vlcht iwie Zonenzuordnung geändert?), ein Screen im Belfist auf EP2 ohne Hacks mit Map wär was feines (hab dir mal im Skype ne Nachricht geschrieben).
|
|
|
06/02/2012, 13:07
|
#47
|
elite*gold: 20
Join Date: Sep 2009
Posts: 2,095
Received Thanks: 4,917
|
Habe jetzt mal alle Maps hinzugefügt:
Habe immer Tarian kopiert, da es bei der Map am schnellsten ging. Ich kann bei jeder Map die Auflösung, NPC Coordinaten, Detailmaps (z.B. Städte wie Randol) und Dungeoneingänge hinzufügen/löschen.
Habe den Screen in Juno gemacht, die anzeige der Map läuft folgendermaßen ab:
Tastendruck M -> Überprüfung ob Map = "ZONE_FIELD" (gibt noch "ZONE_DUNGEON" und "ZONE_SDUNGEON") -> Laden der Mapinformationen aus einer .lod
Das ganze findet in der Engine.dll statt, d.h. man muss jedes mal wenn eine neue Engine kommt neu patchen. Ich teste gerade noch etwas rum wie man das ganze umgehen könnte.
|
|
|
06/02/2012, 13:17
|
#48
|
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,524
Received Thanks: 5,444
|
Quote:
Originally Posted by » Fabi202cool
Habe jetzt mal alle Maps hinzugefügt:
Habe immer Tarian kopiert, da es bei der Map am schnellsten ging. Ich kann bei jeder Map die Auflösung, NPC Coordinaten, Detailmaps (z.B. Städte wie Randol) und Dungeoneingänge hinzufügen/löschen.
Habe den Screen in Juno gemacht, die anzeige der Map läuft folgendermaßen ab:
Tastendruck M -> Überprüfung ob Map = "ZONE_FIELD" (gibt noch "ZONE_DUNGEON" und "ZONE_SDUNGEON") -> Laden der Mapinformationen aus einer .lod
Das ganze findet in der Engine.dll statt, d.h. man muss jedes mal wenn eine neue Engine kommt neu patchen. Ich teste gerade noch etwas rum wie man das ganze umgehen könnte.
|
Gut, für sowas fehlt mir einfach das technische Wissen, aber da die engine ja soweit ich weis bei jedem update gepatcht wird, wäre das nur für p-server interessant, bei denen nicht jede woche ein update kommt.
|
|
|
06/02/2012, 15:09
|
#49
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Wäre es nicht möglich, einen kleinen Patcher zu machen, der das nach jedem Update automatisch patcht?
|
|
|
06/05/2012, 01:23
|
#50
|
elite*gold: 21
Join Date: Mar 2010
Posts: 206
Received Thanks: 272
|
Pyramap ist echt nice *.*
|
|
|
06/05/2012, 14:04
|
#51
|
elite*gold: 3324
Join Date: May 2011
Posts: 926
Received Thanks: 983
|
das ist ne super idee
|
|
|
06/08/2012, 18:38
|
#52
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Wie gehts voran?
|
|
|
06/08/2012, 20:05
|
#53
|
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,524
Received Thanks: 5,444
|
Langsam, zum einen bin ich grad in andere Projekte verwickelt, zum anderen fehlt einfach die Motivation, für unsere Section zu releasen, solange derartige Zustände anhalten. Es fehlt zwar nicht mehr viel, aber ich werde erst releasen, wenn alles komplett fertig ist und ich der Meinung bin, dass sich ein free-Release lohnt.
MfG, Tarissuis
PS: Mittwoch ist mein letztes Abitur-Fach, wenn danach die Zeit und Motivation stimmt, kann das ganze locker zum Wochenende fertig sein
|
|
|
08/19/2012, 16:01
|
#54
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Was ist eigentlich daraus geworden?
Ich hab inzwischen nen Weg gefunden, wie man die Karte überall öffnen kann, ohne die g_slzone zu ändern.
Man könnte dafür nen Patcher machen, sodass es dauerhaft geht und kein Memoryhack nötig ist. Ginge also auch mit xTrap Versionen.
Code:
_SFunc+8AD9 - 0F84 02010000 - je _SFunc+8BE1
Hier wird, nachdem die aktuelle MapID (Wert der g_slzone) mit den zum Anzeigen der Karte nicht zugelassenen verglichen wurde, ein conditional jump ausgeführt, falls sie gleich sind (Jump if Equal).
D.h. ist man in nem Dungeon/Tempel, wird der conditional jump ausgeführt und somit der Code, der die Karte öffnet, übersprungen.
Was macht man also?
Richtig, man verhindert einfach, dass der conditional jump ausgeführt werden kann. Dazu muss man nur an dieser Stelle einen Code einsetzen, der gar nichts macht (NOP).
Der gepatchte Code sieht also so aus:
Code:
_SFunc+8AD9 - 90 - nop
_SFunc+8ADA - 90 - nop
_SFunc+8ADB - 90 - nop
_SFunc+8ADC - 90 - nop
_SFunc+8ADD - 90 - nop
_SFunc+8ADE - 90 - nop
Es sind 6 Zeilen, da der originale Befehl eine Länge von 6 Bytes hatte. NOPs werden in einzelnen Zeilen dargestellt, die Länge ist dieselbe.
Dafür nen Patcher zu machen, wäre ne Sache von ein paar Minuten.
Edit: Ganz so einfach ist es anscheinend doch nicht.
Zur Laufzeit geht es mit OllyDbg oder CE ohne Probleme, aber halt nicht bei xTrap.
Wegen VMProtect kann man das aber nicht einfach in der Engine.dll patchen. Man könnte zwar per MemoryDump mit LordPE o.ä. die Protection entfernen, und in die gedumpte Engine patchen, aber mit der unverschlüsselten Datei kann LC dann wiederum nichts anfangen.
Hat jemand ne Idee, was man da machen könnte?
|
|
|
09/26/2012, 16:40
|
#55
|
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,524
Received Thanks: 5,444
|
Quote:
Originally Posted by -STORM-
Was ist eigentlich daraus geworden?
Ich hab inzwischen nen Weg gefunden, wie man die Karte überall öffnen kann, ohne die g_slzone zu ändern.
Man könnte dafür nen Patcher machen, sodass es dauerhaft geht und kein Memoryhack nötig ist. Ginge also auch mit xTrap Versionen.
Code:
_SFunc+8AD9 - 0F84 02010000 - je _SFunc+8BE1
Hier wird, nachdem die aktuelle MapID (Wert der g_slzone) mit den zum Anzeigen der Karte nicht zugelassenen verglichen wurde, ein conditional jump ausgeführt, falls sie gleich sind (Jump if Equal).
D.h. ist man in nem Dungeon/Tempel, wird der conditional jump ausgeführt und somit der Code, der die Karte öffnet, übersprungen.
Was macht man also?
Richtig, man verhindert einfach, dass der conditional jump ausgeführt werden kann. Dazu muss man nur an dieser Stelle einen Code einsetzen, der gar nichts macht (NOP).
Der gepatchte Code sieht also so aus:
Code:
_SFunc+8AD9 - 90 - nop
_SFunc+8ADA - 90 - nop
_SFunc+8ADB - 90 - nop
_SFunc+8ADC - 90 - nop
_SFunc+8ADD - 90 - nop
_SFunc+8ADE - 90 - nop
Es sind 6 Zeilen, da der originale Befehl eine Länge von 6 Bytes hatte. NOPs werden in einzelnen Zeilen dargestellt, die Länge ist dieselbe.
Dafür nen Patcher zu machen, wäre ne Sache von ein paar Minuten.
Edit: Ganz so einfach ist es anscheinend doch nicht.
Zur Laufzeit geht es mit OllyDbg oder CE ohne Probleme, aber halt nicht bei xTrap.
Wegen VMProtect kann man das aber nicht einfach in der Engine.dll patchen. Man könnte zwar per MemoryDump mit LordPE o.ä. die Protection entfernen, und in die gedumpte Engine patchen, aber mit der unverschlüsselten Datei kann LC dann wiederum nichts anfangen.
Hat jemand ne Idee, was man da machen könnte?
|
Ich "pushe" diesen Beitrag nun einfach mal, denn ich hätte die erste Version für Maps ab level 100 bereits fertig, ich werde diese Sammlung jedoch erst releasen, wenn das ganze vernünftig nutzbar ist.
Also an diejenigen, die etwas tiefer im Programming stecken: Wem eine Idee kommt, wie man das ganze lösen kann, meldet euch bitte per PN bei mir!
MfG, Tarissuis
|
|
|
09/26/2012, 17:50
|
#56
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Bin immer noch so weit, wie bei der letzten PN.
Als Memoryhack wäre das für mich kein Problem.
Könnte das ganze auchh multi-fähig gestalten, sprich einmal klicken und alle geöffneten LC-Fenster werden gepatcht.
Die Datein direkt zu patchen, kriege ich aber wegen VMProtect nicht hin.
D.h. per Memoryhack läuft es auf allen Versionen, auf denen man xTrap umgehen kann. Per Logs wäre es von Aeria o.ä. auch nicht nachweisbar.
|
|
|
09/26/2012, 23:32
|
#57
|
elite*gold: 20
Join Date: Sep 2009
Posts: 2,095
Received Thanks: 4,917
|
Man könnte das dann z.B. mit einer DLL realisieren, die dann beim start geladen wird.
|
|
|
09/27/2012, 15:56
|
#58
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Gute Idee. Kann mit AutoIt leider keine Dlls kompilieren, ansonsten wäre es nur ein Script von ein paar Zeilen.
Kannst dich ja mal dran versuchen.
Kurzversion:
Folgende Codezeile muss durch NOPs ersetzt werden:
Code:
_SFunc+8AD9 - 0F84 02010000 - je _SFunc+8BE1
|
|
|
09/27/2012, 16:02
|
#59
|
elite*gold: 1
Join Date: Oct 2011
Posts: 1,609
Received Thanks: 2,189
|
AutoIt wäre halt nur eine Lösung für non-x-Trap versionen viel besser wäre etwas in C/C++ oder PB das würde dann auch nicht geblockt werden^^
|
|
|
09/27/2012, 16:09
|
#60
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Ich würde den Patcher mit einem AntiAutoit Bypass ausstatten, der keine Offsets braucht.
Damit wäre es wiederum kein Unterschied gegenüber C++ o.ä.
Klar ist in solchen Sprachen mehr möglich, aber für nen simplen Patcher reicht AutoIt vollkommen.
Die mit C++ erstellte .exe würde von xTrap genau so erkannt. Nur durch ne Dll wird xTrap umgangen und das ist halt in AutoIt nicht möglich.
|
|
|
Similar Threads
|
[RELEASE] Loads of queries, maps files for last maps and dungeons and more
05/14/2012 - Shaiya PServer Guides & Releases - 16 Replies
Hey there,
Here is my first submission, loads of queries and loads more of stuff in there.
If you know what these are, you will know how to use it =]
Like i said, if you know what these stuff are and from whom, you will make good use of it, i'm pretty sure of that
FileFactory Folder view
|
All times are GMT +1. The time now is 17:12.
|
|