[RELEASE] Map Unlocker

09/27/2012 17:38 -STORM-#1
Angeregt durch [Only registered and activated users can see links. Click Here To Register...] habe ich mal nen kleinen Patcher gemacht, um Maps in Dungeons und Tempeln öffnen zu können.

[Only registered and activated users can see links. Click Here To Register...]
Beweis:
Features:
  • Unlock Map - Maps können überall (auch in Dungeons/Tempeln) angezeigt werden
    Lock Map - Maps können wieder nur draußen angezeigt werden
  • MultiClient Unterstützung
    Alle geöffneten LCs werden mit einem Klick gepatcht.
  • AntiAutoit Bypass ohne Patch oder Offsets
Wie finde ich die Addresse?
Da die Addresse bis zum nächsten Patch konstant ist, sind keine Offsets oder Pointer nötig.

Der Patcher funktioniert NICHT auf Versionen mit aktivem (bei Mytery z.B. ist es deaktiviert soweit ich weiß) xTrap.

VirusTotal: [Only registered and activated users can see links. Click Here To Register...][/B]
09/27/2012 18:16 Tarissuis#2
Wenn das so ist, release ich doch gleich mal einen Map-Patch für alle Dungeons ab Level 100+ (Also ab Theo's Tomb).
Dieser ist erst einmal nur für EP2-Server geeignet!


PS: Bitte vergesst nicht, eine Kopie der Datei Map.dta (zu finden im Data-Ordner) zu machen!

PPS: Auf EP2 bisher ungetestet, wie die Maps angezeigt werden, ich bitte um Feedback, damit ich Probleme, sollten denn welche auftreten, fixen kann!
09/27/2012 19:00 -STORM-#3
Achja, falls es jemanden interessiert, hier der Source:
Code:
#NoTrayIcon
#RequireAdmin
#include <Pointer.au3>
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Comment=by -STORM-
#AutoIt3Wrapper_Res_Description=Map Unlocker
#AutoIt3Wrapper_Res_LegalCopyright=© by -STORM-
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
$address = IniRead("MapUnlock.ini", "Address", "Address", "")
SetPrivilege("SeDebugPrivilege", 1)
Opt("GUIOnEventMode", 1)

GUICreate("Map Unlocker", 210, 90)
GUICtrlCreateButton("Unlock", 20, 20, 80, 50)
GUICtrlSetOnEvent(-1, "_unlock")
GUICtrlCreateButton("Lock", 110, 20, 80, 50)
GUICtrlSetOnEvent(-1, "_lock")
GUISetState()
GUISetOnEvent(-3, "_exit")

While 1
	Sleep(250)
WEnd

Func _unlock()
	_patch(True)
EndFunc

Func _lock()
	_patch(False)
EndFunc

Func _patch($onoff)
	Local $pidlist = ProcessList("Nksp.exe")
	For $i = 1 To $pidlist[0][0]
		Local $pid = $pidlist[$i][1]
		Local $open = _MemoryOpen($pid)
		If $onoff Then
			_MemoryWrite($address, $open, 5113433377500860560, 'int64')
		Else
			_MemoryWrite($address, $open, 5113274426942718991, 'int64')
		EndIf
		_MemoryClose($open)
	Next
EndFunc

Func _exit()
	Exit
EndFunc
09/28/2012 00:21 Kasus2008#4
kann ich zu euch beiden nur sagen

FETT DANKE :D
09/29/2012 12:48 Nev.#5
Hi, wozu braucht man sowas ? NPC's sieht man doch schon im Radar und ich denke das jeder der LC Spielt weiß wo der NPC steht den er baucht.
09/29/2012 13:44 -STORM-#6
Braucht man nicht unbedingt, aber ist halt ganz praktisch, wenn man sich irgenwo nicht auskennt. Außerdem werden Gruppenmitglieder auf der Map angezeigt.
09/29/2012 14:21 Dr.Kelso™#7
Kenne mich mit CE nicht aus kann mir jemand die Adresse von LC Usa posten? :)
09/29/2012 15:14 -STORM-#8
Du musst dafür keine Ahnung von CE haben.

1. [Only registered and activated users can see links. Click Here To Register...] installieren und öffnen.

2. "Select Process" anklicken.
3. In der Process Liste LC (Nksp.exe) wählen und dann "Open" klicken.
4. "Add Address Manually" klicken.
5. Als Address "_SFunc+8AD9" (ohne "") eingeben und "OK" klicken.
6. Die nun angezeigte Address in der "MapUnlocker.ini" mit "0x" davor einfügen und speichern.
09/30/2012 14:15 Dr.Kelso™#9
Quote:
Originally Posted by -STORM- View Post
Du musst dafür keine Ahnung von CE haben.

1. [Only registered and activated users can see links. Click Here To Register...] installieren und öffnen.

2. "Select Process" anklicken.
3. In der Process Liste LC (Nksp.exe) wählen und dann "Open" klicken.
4. "Add Address Manually" klicken.
5. Als Address "_SFunc+8AD9" (ohne "") eingeben und "OK" klicken.
6. Die nun angezeigte Address in der "MapUnlocker.ini" mit "0x" davor einfügen und speichern.
Funktioniert einwandfrei, vielen Dank :)
09/30/2012 17:52 -STORM-#10
Fehler meinerseits: Die Addresse passt zwar auf vielen Versionen, aber nicht auf allen.
Hier ne Anleitung zum Finden der Addresse jetzt auf ALLEN Versionen:

1. [Only registered and activated users can see links. Click Here To Register...] installieren und öffnen.

2. "Select Process" anklicken.
3. In der Process Liste LC (Nksp.exe) wählen und dann "Open" klicken.
4. "Add Address Manually" klicken.
5. Als Address "g_slzone" (ohne "") eingeben und "OK" klicken.
6. Rechtsklick auf die Addresse -> "Find out what accesses this address"
Es öffnet sich folgendes Fenster:
Hier werden alle Stellen angezeigt, an denen LC auf die g_slzone zugreift. Dies ist die MapID. Uns wird also angezeigt, an welchen Stellen LC die MapID ausliest/benutzt.
Wichtig ist das, da LC die MapID mit den IDs der Dungeons/Tempel vergleichen muss, um zu wissen, ob wir in einem sind.

7. Wir öffnen also nun die Karte. Daraufhin kommen 2 neue Codestellen dazu.
Wichtig ist für uns die erste von beiden.
7.1. Erklärung (nicht zwingend nötig):
8. Zu der in "Find out what accesses" gefundenen Addresse müssen wir also 2D in Hex Form addieren. Das machen wir mit dem Windows Taschenrechner. Dazu Ansicht -> Programmierer und links Hex statt Dez auswählen.
Beispiel:
Code:
1038BCFC + 2D = 1038BD29
9. Die so berechnete Address in der "MapUnlocker.ini" mit "0x" davor einfügen und speichern.
10/03/2012 10:16 farikys#11
möglich für 777?
x-trap nicht
10/03/2012 10:25 -STORM-#12
Klar.
Hab doch ziemlich genau beschrieben, wie man die nötige Addresse findet.
10/04/2012 12:53 farikys#13
777:
[Address]
Address = 0x1039B919

mir sagen, wie die Theorie der Karte gesetzt und der Rest des Dungeons...

wie hier [Only registered and activated users can see links. Click Here To Register...]
10/04/2012 12:59 Nev.#14
Quote:
Originally Posted by -STORM- View Post
Braucht man nicht unbedingt, aber ist halt ganz praktisch, wenn man sich irgenwo nicht auskennt. Außerdem werden Gruppenmitglieder auf der Map angezeigt.
Gruppenmitglieder werden auch so in der Map+Radar Angezeigt.
10/04/2012 13:22 -STORM-#15
Aber in Dungeons kann man die Map normal nicht öffnen, man sieht also nur die Gruppenmitglieder im Radar, die dicht neben dir sind.
Auf der Map siehst du alle, wenn du sie öffnen kannst.