|
You last visited: Today at 15:14
Advertisement
Eure größten Programmier Fails!
Discussion on Eure größten Programmier Fails! within the General Coding forum part of the Coders Den category.
09/29/2009, 15:12
|
#16
|
elite*gold: 4
Join Date: Aug 2008
Posts: 6,786
Received Thanks: 4,992
|
Eure größten Programmier Fails!
|
v
ROCPBF, ROIGBF ;O
|
|
|
10/07/2009, 19:59
|
#17
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,283
|
Ich hab vor ner Woche ne dll injeziert und wollte die ingame variablen per writeprocessmemory umschreiben
Und nein, es war nicht meine 1. Mal..
|
|
|
10/07/2009, 20:15
|
#18
|
elite*gold: 20
Join Date: Mar 2008
Posts: 1,455
Received Thanks: 140
|
Quote:
Originally Posted by u-coRe
Ich hab vor ner Woche ne dll injeziert und wollte die ingame variablen per writeprocessmemory umschreiben
Und nein, es war nicht meine 1. Mal..
|
wie willse die dennn sonst umschreiben XD
|
|
|
10/07/2009, 20:36
|
#19
|
elite*gold: 0
Join Date: Mar 2008
Posts: 747
Received Thanks: 245
|
Quote:
Originally Posted by Gianotti
wie willse die dennn sonst umschreiben XD
|
Mit der memcpy funktion kann man auch speicherstellen im eigenen speicherbereich umschreiben. Und nach einer injection befindet sich die DLL ja im selben speicherbereich des programmes in dem injectiert wurde.
|
|
|
10/07/2009, 20:39
|
#20
|
elite*gold: 20
Join Date: Mar 2008
Posts: 1,455
Received Thanks: 140
|
Quote:
Originally Posted by Akorn
Mit der memcpy funktion kann man auch speicherstellen im eigenen speicherbereich umschreiben. Und nach einer injection befindet sich die DLL ja im selben speicherbereich des programmes in dem injectiert wurde.
|
ja das stimmt danke für die aufklärung damit gehts einfacher
|
|
|
10/07/2009, 20:45
|
#21
|
elite*gold: 360
Join Date: Jan 2008
Posts: 1,127
Received Thanks: 522
|
Would be so much better if you posted your Q in ENG!
|
|
|
10/07/2009, 21:27
|
#22
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,283
|
Quote:
Originally Posted by Gianotti
ja das stimmt danke für die aufklärung damit gehts einfacher
|
So zum Beispiel..
Code:
#include "stdafx.h"
#include <limits>
#include <windows.h>
DWORD WINAPI ChangePts()
{
//Memories
while(true)
{
if(GetAsyncKeyState(0x22))
{
while(GetAsyncKeyState(0x22))
{
Sleep(100);
}
*(unsigned long*) (0x08237810) = (*(unsigned long*) (0x08237810)+1000);
}
}
return 1;
}
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
CreateThread(
NULL,
NULL,
(LPTHREAD_START_ROUTINE)ChangePts,
NULL,
NULL,
NULL
);
}
else{
return TRUE;
};
return TRUE;
}
|
|
|
10/07/2009, 21:54
|
#23
|
elite*gold: 20
Join Date: Mar 2008
Posts: 1,455
Received Thanks: 140
|
Quote:
Originally Posted by u-coRe
So zum Beispiel..
Code:
#include "stdafx.h"
#include <limits>
#include <windows.h>
using namespace std;
HWND hWnd;
HANDLE hProcess;
DWORD numBytesRead;
DWORD ProcessId;
DWORD WINAPI ChangePts()
{
//Memories
while(true)
{
if(GetAsyncKeyState(0x22))
{
while(GetAsyncKeyState(0x22))
{
Sleep(100);
}
*(unsigned long*) (0x08237810) = (*(unsigned long*) (0x08237810)+1000);
}
}
return 1;
}
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
CreateThread(
NULL,
NULL,
(LPTHREAD_START_ROUTINE)ChangePts,
NULL,
NULL,
NULL
);
}
else{
return TRUE;
};
return TRUE;
}
|
that works ? cool
|
|
|
10/08/2009, 21:14
|
#24
|
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
|
Man sollte für CreateThread eine richtige Thread Routine anlegen, das kann sonst zu unerwarteten Problemen führen.
Code:
#include "stdafx.h"
#include <limits>
#include <windows.h>
DWORD __stdcall ChangePts(LPVOID lpThreadParameter)
{
//Memories
while(true)
{
if(GetAsyncKeyState(0x22))
{
while(GetAsyncKeyState(0x22))
{
Sleep(100);
}
*(unsigned long*) (0x08237810) = (*(unsigned long*) (0x08237810)+1000);
}
}
return 1;
}
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
CreateThread(
NULL,
NULL,
ChangePts,
NULL,
NULL,
NULL
);
}
else{
return TRUE;
};
return TRUE;
}
|
|
|
10/08/2009, 21:39
|
#25
|
elite*gold: 20
Join Date: Mar 2008
Posts: 1,455
Received Thanks: 140
|
Quote:
Originally Posted by Bot_interesierter
Man sollte für CreateThread eine richtige Thread Routine anlegen, das kann sonst zu unerwarteten Problemen führen.
Code:
#include "stdafx.h"
#include <limits>
#include <windows.h>
DWORD __stdcall ChangePts(LPVOID lpThreadParameter)
{
//Memories
while(true)
{
if(GetAsyncKeyState(0x22))
{
while(GetAsyncKeyState(0x22))
{
Sleep(100);
}
*(unsigned long*) (0x08237810) = (*(unsigned long*) (0x08237810)+1000);
}
}
return 1;
}
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
CreateThread(
NULL,
NULL,
ChangePts,
NULL,
NULL,
NULL
);
}
else{
return TRUE;
};
return TRUE;
}
|
unerwartete probleme ? welche z.b. . bei mir sind noch nie welche aufgetaucht
|
|
|
10/09/2009, 15:20
|
#26
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,283
|
Ich hatte damit bisher auch noch keine Probleme
|
|
|
10/09/2009, 18:39
|
#27
|
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
|
Man kann Probleme mit dem Stack bekommen, weil CreateThread einen lpThreadParameter Pointer übergibt und wenn die Funktion keinen lpThreadParameter pointer übernimmt ist das verhalten undefiniert.
Solange man keine ThreadParameter übergibt sollte es aber keine Probleme machen, nur gehört es zu einem guten Programmierstiel dazu FunktionPointer nicht unnötig zu casten, also lieber gleich den Funktions Prototypen richtig programmieren als irgendwann später mal ärger damit zu haben.
|
|
|
10/09/2009, 19:47
|
#28
|
elite*gold: 20
Join Date: Mar 2008
Posts: 1,455
Received Thanks: 140
|
Quote:
Originally Posted by Bot_interesierter
Man kann Probleme mit dem Stack bekommen, weil CreateThread einen lpThreadParameter Pointer übergibt und wenn die Funktion keinen lpThreadParameter pointer übernimmt ist das verhalten undefiniert.
Solange man keine ThreadParameter übergibt sollte es aber keine Probleme machen, nur gehört es zu einem guten Programmierstiel dazu FunktionPointer nicht unnötig zu casten, also lieber gleich den Funktions Prototypen richtig programmieren als irgendwann später mal ärger damit zu haben.
|
solange es funktioniert ist mir das egal programmiere ja nicht für geld
|
|
|
10/15/2009, 11:16
|
#29
|
elite*gold: 4
Join Date: Aug 2008
Posts: 6,786
Received Thanks: 4,992
|
Quote:
Originally Posted by Gianotti
solange es funktioniert ist mir das egal programmiere ja nicht für geld
|
Wieso nen Porsche fahren wenn man auch n Trabbi haben kann ;O
|
|
|
10/15/2009, 19:58
|
#30
|
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 451
|
Ich bin mit meinem Trabant 601LX Deluxe ein dicker Bonner Bonze :>
|
|
|
All times are GMT +2. The time now is 15:14.
|
|