Register for your free account! | Forgot your password?


Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 09:13

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

Advertisement



signatur + mask manuel erstellen

Discussion on signatur + mask manuel erstellen within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2007
Posts: 854
Received Thanks: 35
signatur + mask manuel erstellen

hey leute ich hab ein kleines problem, ich wollte auf eine adresse mit pattern scanning zugreifen aber mir fehlt die signatur+ die maske :S das problem ist olly kann ich nicht attachen und somit kein sigmaker benutzen und auch andere debugger nicht(ausser cheat engine) gibts da eine möglichkeit die sig+ mask rauszufinden? iein tutorial vllt, finde nichts im netz :S
Slade100 is offline  
Old 04/13/2015, 20:43   #2
 
elite*gold: 0
Join Date: Jul 2010
Posts: 179
Received Thanks: 182
- Addresse im Disassembler finden
- Bytes finden welche nicht statisch sind
- Mit ? ersetzen..

weißt du überhaupt was Byte Patterns und Masks genau sind?
Biesi is offline  
Thanks
1 User
Old 04/13/2015, 21:58   #3
 
elite*gold: 0
Join Date: Oct 2007
Posts: 854
Received Thanks: 35
Quote:
Originally Posted by Biesi View Post
- Addresse im Disassembler finden
- Bytes finden welche nicht statisch sind
- Mit ? ersetzen..

weißt du überhaupt was Byte Patterns und Masks genau sind?
komplett leider nicht, ich weiß nicht was mit nicht statischen bytes gemeint sind , also ich gehe davon das das die sind die nicht immer gleich sind aber woher weiß ich das? also welche nicht statisch sind
Slade100 is offline  
Old 04/13/2015, 22:21   #4
 
elite*gold: 58
Join Date: Jun 2008
Posts: 2,311
Received Thanks: 8,418
Statisch sind Instruktionen die mit Registern arbeiten, relative Sprünge, PUSH'es von Zahlen (nicht Adressen!) und solche Sachen.
Grob gesagt alles, das NICHT CALL,JMP,PUSH [...] PTR DS oder soetwas ist
Am einfachsten findest du raus was statisch ist (wenn du es nicht weißt), indem du die gleiche Funktion in zwei (oder mehr) verschiedenen Versionen des gleichen Programmes vergleichst

Padmak
Padmak is offline  
Thanks
2 Users
Old 04/14/2015, 00:07   #5
 
elite*gold: 0
Join Date: Oct 2007
Posts: 854
Received Thanks: 35
danke für eure hilfe, bin mir nicht sicher ob ichs jetzt richtig verstanden habe aber ich versuchs mal^^
Slade100 is offline  
Old 04/14/2015, 09:01   #6

 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,088
Received Thanks: 669
In dem von dir gezeigten Bereich wird kein Speicher absolut angesprochen. Wäre dies der Fall, könnten sich die absoluten Adressen unter Umständen von Start zu Start (zusammen mit der Basisadresse des Moduls) ändern (Stichwort: Relocations).
Der Call ruft direkt eine Funktion auf. Dieser Aufruf ist allerdings nicht absolut, sondern relativ. Und die relative Distanz zwischen diesem Code und der aufgerufenen Funktion sollte konstant sein, weswegen dort eig. auch keine Wildcards benötigt werden würden. Viele machen sie dennoch, um nach einem Patches das Pattern mit ein bisschen Glück seltener updaten zu müssen, da es ohne Wildcards an solchen Stellen unter Umständen schneller versagt, wenn sich halt die Adressen der Funktionen zueinander ändern.
Das in [] sind Speicherzugriffe; hier immer über Register und Offset. Das Offset bleibt in aller Regel konstant; maximal Patches ändern da was (die können dir das Pattern aber eh verhauen, egal, wie viel Wildcards du nutzt). Wildcards also hier eigentlich auch nicht wirklich nötig.
Wenn du dich doch entschließt, mehr Wildcards zu nutzen, stell auf jedenfall sicher, dass dein Pattern dann noch spezifisch genug ist, sonst findest du dann im Einsatz Stellen, die du eigentlich nicht finden wolltest.
Ich rate dazu mindestens die Basics von Assembler zu lernen
Mit freundlichen Grüßen
Jeoni
Jeoni is offline  
Thanks
1 User
Old 04/14/2015, 10:18   #7
 
elite*gold: 0
Join Date: Oct 2007
Posts: 854
Received Thanks: 35
danke für die hilfe, ja das mti asm bin ich schon dran, im gegensatz zu dem was ich vor einer woche wusste sind welten ^^
habe schon rausgefunden das "55 8B EC 51 56 57 8D 75 FC E8 F2 F9 FF FF" diese bytes mich immer zu meiner adresse führen( habe cheat engine array of bytes scan genutzt) das problem ist wenn ich findpattern nutze, kriege findet der die anderesse iwie nicht :/ aber die ist ja da xD sonst würde die ce die auch nicht finden
hier der code habe den pattern scanner code von fleeps genommen

#pragma region PATTERN SCANNING
//Get all module related info, this will include the base DLL.
//and the size of the module
MODULEINFO GetModuleInfo(char *szModule)
{
MODULEINFO modinfo = { 0 };
HMODULE hModule = GetModuleHandle(szModule);
//if (hModule == 0)
// return modinfo;
GetModuleInformation(GetCurrentProcess(), hModule, &modinfo, sizeof(MODULEINFO));
return modinfo;
}


DWORD FindPattern(char *module, char *pattern, char *mask)
{
//Get all module related information
MODULEINFO mInfo = GetModuleInfo(module);
DWORD base = (DWORD)mInfo.lpBaseOfDll;
DWORD size = (DWORD)mInfo.SizeOfImage;

//Get length for our mask, this will allow us to loop through our array
DWORD patternLength = (DWORD)strlen(mask);
for (DWORD i = 0; i < size - patternLength; i++)
{
bool found = true;
for (DWORD j = 0; j < patternLength; j++)
{
//if we have a ? in our mask then we have true by default,
//or if the bytes match then we keep searching until finding it or not
found &= mask[j] == '?' || pattern[j] == *(char*)(base + i + j);
}

//found = true, our entire pattern was found
//return the memory addy so we can write to it
if (found)
{
return base + i;
}
}

return NULL;
}

#pragma endregion
Slade100 is offline  
Old 04/14/2015, 12:30   #8




 
elite*gold: 0
The Black Market: 259/0/0
Join Date: Apr 2010
Posts: 10,293
Received Thanks: 3,604
Bist du dir denn sicher, dass dein Pattern innerhalb der Adresse und deiner angegeben Größe liegt?
Hast du das mit CE mal überprüft?

Ansonsten kannst du dir mal meine C# Version anschauen, vielleicht hilft dir das etwas weiter.

Lg
Shawak is offline  
Old 04/14/2015, 13:25   #9
 
elite*gold: 0
Join Date: Oct 2007
Posts: 854
Received Thanks: 35
Quote:
Originally Posted by Shawak View Post
Bist du dir denn sicher, dass dein Pattern innerhalb der Adresse und deiner angegeben Größe liegt?
Hast du das mit CE mal überprüft?

Ansonsten kannst du dir mal meine C# Version anschauen, vielleicht hilft dir das etwas weiter.

Lg
also sicher bin ich mir nicht ich gehe aber davon aus das das in der modulinfo von der engine.exe liegt, das ding ist ich habe auch noch andere patternscanner ausprobiert aber entweder crashen die mein spiel oder finden nix.... danke trotzdem werde mir mal den link anschauen
Slade100 is offline  
Old 04/14/2015, 16:02   #10
 
elite*gold: 0
Join Date: Dec 2014
Posts: 428
Received Thanks: 203
Schau mal : , das ist ein super tutorial, da gezeigt wird wie man manuell zu der Signature Mask gelangt .
_asm is offline  
Old 04/14/2015, 17:52   #11
 
elite*gold: 0
Join Date: Oct 2007
Posts: 854
Received Thanks: 35
Quote:
Originally Posted by _asm View Post
Schau mal : , das ist ein super tutorial, da gezeigt wird wie man manuell zu der Signature Mask gelangt .
danke dir aber die maske ab ich schon mir fehlt der scanner, :S
den scanner habe ich probiert
nur war ich mir bei diesen werten nicht wirklich sicher

DWORD Base = (DWORD)GetModuleHandleA("metin2client.bin");
DWORD PEOffset = *(DWORD*)(Base + 0x3C); //Anfang des PE-Headers auslesen
DWORD SizeOfCode = *(DWORD*)(Base + PEOffset + 0x1C) + Base; //SizeOfCode auslesen

habe daher einfach
DWORD Offset = FindPattern( 0x5000000,
0x1000000,
Mask,
"xxxxxxxxxxx---xxxxxx---xx---xx",
0);

die adresse liegt immer zwischen 0x50000000 und 0x60000000 das crasht wenn ich das mache immer :S
Slade100 is offline  
Old 04/14/2015, 17:57   #12
 
elite*gold: 0
Join Date: Dec 2014
Posts: 428
Received Thanks: 203
In Olly 1.10 packen -> Asssembler-Code makieren -> Rechtsklick -> Make Sig -> Test Sig.
_asm is offline  
Old 04/14/2015, 18:52   #13
 
elite*gold: 0
Join Date: Oct 2007
Posts: 854
Received Thanks: 35
Quote:
Originally Posted by _asm View Post
In Olly 1.10 packen -> Asssembler-Code makieren -> Rechtsklick -> Make Sig -> Test Sig.
danke aber, ich sagte doch
ich habe die sig doch schon ^^
nur haben die ganzen patterfind codes nichts gefunden :S mit der cheat engine find ich die jedesmal
Slade100 is offline  
Old 04/15/2015, 00:25   #14
 
elite*gold: 220
Join Date: Jun 2007
Posts: 3,768
Received Thanks: 1,124
du kannst mit ollydbg die pattern ja auch ohne runtime machen... außer der code ist noch nicht generiert.

Und die pattern finden nichts wenn du zu früh suchst, bevor alles geladen ist..

pack die Pattern mal in eine func und ruf diese auf wenn du sie mit CE findest.
meak1 is offline  
Old 04/15/2015, 10:56   #15
 
elite*gold: 0
Join Date: Oct 2007
Posts: 854
Received Thanks: 35
Quote:
Originally Posted by meak1 View Post
du kannst mit ollydbg die pattern ja auch ohne runtime machen... außer der code ist noch nicht generiert.

Und die pattern finden nichts wenn du zu früh suchst, bevor alles geladen ist..

pack die Pattern mal in eine func und ruf diese auf wenn du sie mit CE findest.
ok werde das mal probieren mit dem in funktion auf rufen wenn ich zuhause bin danke euch

edit: funktioniert leider auch nicht, kann es daran liegen das die base engine.dll ist?
Slade100 is offline  
Reply


Similar Threads Similar Threads
Signatur erstellen
04/15/2014 - General Art - 2 Replies
Ahoi Community, ich weiß nicht ob ich hier richtig bin, deswegen versuche ich es einfach mal. Wollte fragen ob mir einer, eine Signatur erstellen kann. Regards
Signatur erstellen
10/20/2011 - Technical Support - 6 Replies
Hallo Epvp Forum hier ist mal wieder SchattenXXX mit einer Frage, Undzwar wollte ich eine neue Signatur machen.Meine alte soll weg weil die net so gut aussieht .Jedenfalls kennt ihr vll Programme womit ich gut so Signaturen erstellen kann b.z.w könnt ihr mir ein empfehlen? Lg SchattenXXX
[HowTo]Manuel Gilden erstellen und verändern
08/16/2011 - Metin2 PServer Guides & Strategies - 12 Replies
Also da ich noch nichts gefunden habe das dieses Thema betrifft eröffne ich mal einen Thread also es geht los :) Neue Gilde erstellen 1.Öffnet die Tabelle Guild und Guild_Member 2.Wenn ihr noch keine Gilde erstellt habt sollte in der Tabelle Guild nichts stehen und in der Guild_member auch nicht 3.Wenn ihr jetzt eine Neue Gilde erstellen wollt drückt in der Tabelle Guild unten auf das +
Signatur erstellen
10/15/2010 - General Art - 4 Replies
Hey Leute, ich suche jemand der mir kostenlos ein paar coole signatur bilder machen könnte und Profilbilder. auf der Signatur und auf dem Profilbild muss der name -Inspiret sein. Wäre echt nett natürlich bekommt man ein Thanks^^ MfG Inspiret
[Tutorial] Gas-Mask Signatur+Userpic
05/13/2010 - Artist Tutorials - 2 Replies
Outcome Signature: http://www.imagebanana.com/img/adzew16z/gas_sig.p ng Outcome Userpic: http://www.imagebanana.com/img/l2w8j4w/gas_userpi c.png Als erstes macht ihr euch einen Gradient, der ungefähr so aussieht: http://www.imagebanana.com/img/s6zus7lx/gas_tutor ial_1.png Dann setzt ihr den Render in die Mitte und dupliziert ihn, vergrößert ihn ein bischen, aber haltet die "Shift" Taste beim Vergrößern, dann nehmt ihr die Ebenenkopie und geht auf...



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


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