Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 11:56

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

Advertisement



[Frage] C++ ASM Coding Change Values

Discussion on [Frage] C++ ASM Coding Change Values within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
ElotrineX™'s Avatar
 
elite*gold: 0
Join Date: Apr 2013
Posts: 12
Received Thanks: 4
Question [Frage] C++ ASM Coding Change Values

Hey epvp,

Ich habe mich gerade hier Registriert da ich mir hier viel hoffnug mache
Hilfe zu bekommen.

Fakten:
Es ist eine .DLL die ich in ein beliebigen Process Injecten werde um eine Value zu ändern. Mit OllyDBG komm ich an den ASM Befehlen dran.

Ich habe eine Function mit OllyDBG gefunden die mir Interessant vor kommt und nun sehe ich in dieser Function eine Value wo ich denke das die das bewirkt was ich im resultat haben möchte, nehmen wir mal an es ist 12F (hexadezimal), vor der Value ist noch die Befehlsreferenz ADD, das ganze würde dann so aus sehen:
PHP Code:
ADD     12F 
Jetzt kommt noch der Akkumulator EAX vor der Value.
PHP Code:
ADD     EAX12F 
Und hier dann noch der MOV:
PHP Code:
MOV     ECXDWORD PTR DS:[0x123FFF]
ADD     EAX12F 
Also jetzt zur eigentlichen Frage:
Ich möchte die 12F (hexadezimal) beispielsweise auf 50 (dezimal) setzen,
wie gehe ich da vor?

Dies ist den Code den ich benutze:


Dies hatte ich ohne Erfolg getestet:


Hoffentlich bin ich hier richtig.

MfG
ElotrineX
ElotrineX™ is offline  
Old 04/05/2013, 20:55   #2
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Du musst den Machinencode an der Stelle (entweder in der Datei selber oder im Arbeitsspeicher) umändern.

"ADD EAX, 12F" dürfte das hier sein:
05 2F 01 00 00

"ADD EAX, 32" (also 50 in hexadezimal) ist folgendes:
05 32 00 00 00


Siehe:
Nightblizard is offline  
Thanks
1 User
Old 04/05/2013, 21:01   #3




 
Omdi's Avatar
 
elite*gold: 1
Join Date: Apr 2010
Posts: 13,772
Received Thanks: 15,036
Du musst schon die Addresse angeben, anders funktioniert das ganze nicht (Außnahme : Hooks)

Beispiel :
Code:
FF98ED13 - 8B 0C 25 FF3F1200     - mov ecx,[00123FFF]
FF98ED1A - 05 2F010000              - add eax,0000012F
Da müsstest du wie folgt vorgehen um die 0x12F zu verändern.

Code:
void Funktion1()
{
DWORD dwAddress = 0xFF98ED1A;
DWORD dwNewValue = 50;

//1.Methode - memcpy
memcpy(((void*)(dwAddress + 1)), &dwNewValue, sizeof(DWORD));

//2.Methode - dereferenzieren
*(DWORD*)(dwAddress + 1) = dwNewValue;
}
Omdi is offline  
Thanks
1 User
Old 04/05/2013, 21:04   #4
 
ElotrineX™'s Avatar
 
elite*gold: 0
Join Date: Apr 2013
Posts: 12
Received Thanks: 4
Also brauch ich die Adresse doch o.O

Dein code ist für mich etwas undurchblickbar, das ist doch kein asm mehr.
Kannst du bitte noch erklären warum zb dwAdress + 1 ist?

Hat das was mit Offsets zu tun?
ElotrineX™ is offline  
Old 04/05/2013, 21:36   #5




 
Omdi's Avatar
 
elite*gold: 1
Join Date: Apr 2010
Posts: 13,772
Received Thanks: 15,036
Quote:
Originally Posted by ElotrineX™ View Post
Also brauch ich die Adresse doch o.O

Dein code ist für mich etwas undurchblickbar, das ist doch kein asm mehr.
Kannst du bitte noch erklären warum zb dwAdress + 1 ist?

Hat das was mit Offsets zu tun?
Das ganze kann man natürlich auch in ASM machen :P

Code:
[COLOR=Red]FF98ED1A[/COLOR] - [COLOR=Red]05[/COLOR] [COLOR=DarkSlateBlue]2F010000 [/COLOR]             - [COLOR=Red]add eax[/COLOR],[COLOR=DarkSlateBlue]0000012F[/COLOR]
[COLOR=DarkSlateBlue]FF98ED1B[/COLOR]
FF98ED1A hat den Wert 05, kann man oben auch schön sehen.
Da du aber nur die 12F ändern willst und nicht die ganze Instruction musst du die Addresse um 1 erhöhen. FF98ED1A + 1 (FF98ED1B) hat nun den Wert 12F (siehe oben). Nun kannst du der Addresse einfach einen neuen Wert zuweisen.
Omdi is offline  
Thanks
2 Users
Old 04/05/2013, 21:49   #6
 
ElotrineX™'s Avatar
 
elite*gold: 0
Join Date: Apr 2013
Posts: 12
Received Thanks: 4
Vielen Danke.

Aber wie wird das in ASM geschrieben ?

Ahhh jetzt hab ichs! Glaub ich

So?:
Code:
Das vorher irgendwo definieren...
DWORD adresse1 = 0xFF98ED1B
Code:
[COLOR=Red][COLOR=Black]mov ecx,[0x123FFF]
add eax, 32
call [/COLOR][/COLOR]adresse1
richtig oder?
ElotrineX™ is offline  
Old 04/05/2013, 21:57   #7




 
Omdi's Avatar
 
elite*gold: 1
Join Date: Apr 2010
Posts: 13,772
Received Thanks: 15,036
Nein, so müsste das aussehen :

Code:
mov eax, [addresse1]
mov edi, 0x32 //50
mov [eax], edi
Omdi is offline  
Thanks
1 User
Old 04/14/2013, 10:54   #8
 
elite*gold: 0
Join Date: Sep 2012
Posts: 24
Received Thanks: 5
darkorbit cheat me, would you?
reis0718 is offline  
Old 04/15/2013, 10:23   #9
 
elite*gold: 104
Join Date: Oct 2012
Posts: 2,720
Received Thanks: 593
das ganze kannst gut mit BYTE Patching machen mein lieber^^
Dazu einfach die Bytecodes für die Asm befehle nehmen, dir die Adresse an der sie stehen suchen und mit Memory Write überschreiben (patching). So kannst das gut machen, hab so Damals auch mein Metin hack gemacht (noclip)^^

Zur verdeutlichung wie ich das meine -> <-

p.s: Offsets vom Hack sind sau alt, gut 1-2 Jahre alt.. schreibt mir also bitte keine Pm´s mit "Dein Hack funktioniert nicht!!?!!!".. das dient nur zur verdeutlichung des prinzip des Patchen für den TE..ja?Gut
Cambios is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
help when i change values
10/03/2011 - S4 League - 5 Replies
i change bat to katana, cs to vital shock and plasma to lucifer. when i enter in a match, the players frezze and the match dont continue, but i can move .-. sry for my bad english xD
[Help] I Can't Change Values
10/02/2011 - S4 League - 10 Replies
First, Starts S4 Client and Starts Procces Hacker 2, Then Suspend HGWC And Xtarp and Termined Aegis. Start CE6 Open S4 Client and write 2000000 but not change :(:rtfm::( Note : I'm Italian. Bad English. Help Me ! Pls
[HOWTO]Change ID's&Values
06/01/2011 - S4 League Hacks, Bots, Cheats & Exploits - 55 Replies
Video is UP! Volume needs to be on I made like one mistake in the video by searching 40001 instead of 20101... Do NOT do search for the FP code! http://www.youtube.com/watch?v=D_j_wh5GFS4 *Getting an error message while searching values? :
Is it possible to change values that are server sided?
06/17/2009 - Shaiya - 1 Replies
I was able to hack the GG fairly easy but the changes are only visual/client sided. is there anyway to make these register on the server, infinite gold would be great :mofo:
Change Armor & Weapon Values
05/05/2008 - RF Online - 1 Replies
okay im fairly new here. after looking some topics i managed to change some armor values, for example changed the def. value of armor from 986 into 1500.but when i wear the amor i still get the same def. value (986)So, i think these values arent cilent side. i managed to change potion cast delays its working nice.than i try to change the cast delays of the force spells , lvls and durations of force buffs etc.. but im totally lost it wasnt easy like changing the value of pots :/ im using...



All times are GMT +1. The time now is 11:57.


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.