Ich schreibe an einem programm, das mit der funktion "WriteASM" einen Byte in eine Bestimmte Addresse schreiben soll.
Dieser Byte, soll aus einer EditBox ausgelesen werden.
In die Editbox soll nun z.B. FD, FE, FC oder irgendein Byte geschrieben werden.
Dann soll WriteASM eben diesen byte so übernehmen und in die Addresse schreiben.
Mein problem ist, dass ich nicht weiß wie ich das anstellen soll :S
Wenn ich es so mache:
Code:
MessageBoxA(0,"Jetzt sollte Combo Beschrieben werden.","Yeah!",MB_ICONINFORMATION);
int combo = GetDlgItemInt(hwndDlg,IDC_EDIT1,0,0); //Hier sollte der Byte ausgelesen, und in Combo geschrieben werden.
WriteASM(ADR_COMBO, (DWORD)(PBYTE)combo, 1); //Nach dieser Zeile stürzt der Prozess ab :S
MessageBoxA(0,"Jetzt sollte Combo Beschrieben sein.","Yeah!",MB_ICONINFORMATION);
getdlgitemint holt eine dezimalzahl aus der dialogbox, das sind aber hexadezimalzahlen.
musst dir also den text holen, den als hex behandeln und umwandeln, und das dann reinschreiben.
wie deine WriteASM funktion aussieht weiß ich nicht, vermute aber mal, dass damit asm befehle geschrieben werden können und keine einzelnen bytes, dafür solltest du writeprocessmemory oder wenn du im programm bist memcpy benutzen.
Ein Byte ist eine zahl des bereichs 0..255, und das was du hast ist ein text (string).
trage den byte als byte ein und nicht als string und dann passt das
Ein Byte ist eine zahl des bereichs 0..255, und das was du hast ist ein text (string).
trage den byte als byte ein und nicht als string und dann passt das
Das verstehe ich nicht ganz.
Also dass ein Byte in Decimaler(?) sicht 1-255 ist weiß ich.
Und ich habe gemacht, dass die Editbox nur Zahlen annimmt, weil wie gesagt nur ein byte bereich von 1 - 50 eingetragen werden soll.
1-50 in hexdecimaler sicht.
Das Problem ist aber, dass GetDlgItemInt die Zahl als Dezimalzahl interpretiert! Hexadezimalzahlen werden nicht erkannt, die Buchstaben werden ignoriert!
Das Problem ist aber, dass GetDlgItemInt die Zahl als Dezimalzahl interpretiert! Hexadezimalzahlen werden nicht erkannt, die Buchstaben werden ignoriert!
Das ist schon klar.
12 oder 23 oder 50 ist ja in dem fall schon der byte in hexdecimaler sichtweise.
Es enthält keine Buchstaben, sondern nur 1-50.
Naja Smith du kennst doch in S4 die Combo Addresse.
Als byte hat diese standartmäßig den wert 01.
Und man kann ihn von 01 bis 50 ändern.
Und das möchte ich eben realisieren.
Ich möchte eine art Ingame Hack Panel per dlg box machen, weil d3d lw ist.
12 oder 23 oder 50 ist ja in dem fall schon der byte in hexdecimaler sichtweise.
Es enthält keine Buchstaben, sondern nur 1-50.
Damit überspringst du aber die ganzen Buchstaben-Zahlen.
Oder meinst du, dass man eine Dezimalzahl eingeben soll? (also sie wird nicht als 0x23, sondern als 23 interpretiert)
Das wäre aber ein Widerspruch, zu deinen bisherigen Posts.
Du sagtest ja, wenn man 50 eingibt, wird 0x50 geschrieben.
Wird es aber eben nicht, sondern 0x32!
Aber das sollte nichts mit deinem Crash zu tun haben. Hast du mal geprüft, ob am Ende dort eine valide Instruction steht? Vielleicht beschädigst du sie, weil du an eine falsche Stelle schreibst.
Lass die Leute das halt gleich im Zehnersystem in die Editbox eingeben. Das sind wir eh eher gewohnt als das 16er. Der Computer speichert das eh dual. Von daher ist es egal ob du es im 10er, 12er, 16er, 124er System einliest. Dann hast du aber weniger Probleme. Wenn es unbedingt im 16er System sein soll, dann lese den Inhalt der Editbox als String ein und wandle den String z.B. mithilfe des Hornerschemas in eine Zahl zur Basis Zehn um.
Cost of accessing a casted variable vs. assigning the casted variable? (C#) 01/05/2011 - CO2 Programming - 5 Replies I know that in unmanaged C++, casting is at compile-time, so it's better to avoid the assignment and simply access it for all instances. However, in C#, I have no idea since I'm pretty new to it.
Überprüfen ob Variable Eine Variable ist 10/16/2010 - AutoIt - 26 Replies Hey leute ich wollte fragen ob/wie man überprüfen kann
ob eine Variable eine Variable ist z.b. so
$k = 1
$i = $k
if $i = VARIABLE Then
msgbox(0,'$i ist eine variable!!','')
endif
PS:Wp releast man nochma TuT (z.b. für metin2??)
Problem error: Subscript used whit non-Array variable " 08/26/2010 - Last Chaos - 1 Replies hey leute,
seitdem mein laptop ein windows update gemacht hat funktioniert der ultra bot nicht.
es dann kommt immer die fehlermeldung " error: Subscript used whit non-Array variable "
vor diesem update ging der bot noch.
Problem with public static byte Authenticate 06/10/2010 - CO2 Private Server - 1 Replies database.cs line 1498
public static byte Authenticate(string UserName, string Password)
{
try
{
MySqlDataAdapter DataAdapter = new MySqlDataAdapter("SELECT * FROM `Accounts` WHERE `AccountID` = '" + UserName + "'", Connection);
DataSet DSet = new DataSet();
DataAdapter.Fill(DSet, "Account");