|
You last visited: Today at 07:08
Advertisement
[Help] C++ YangDrop Dll
Discussion on [Help] C++ YangDrop Dll within the C/C++ forum part of the Coders Den category.
07/31/2010, 09:06
|
#1
|
elite*gold: 0
Join Date: Nov 2008
Posts: 182
Received Thanks: 132
|
Plz löschen
Guten morgen E*Pvp Community,
Ich wollte mir gestern eine kleine Dll erstellen, die ununterbrochen Yang droppt.
Die Dll lies sich wunderbar compilen, doch als ich die dann injectet hatte, wurde 1 Yanghäufchen gedroppt kurz dannach kaam eine Errormeldung (An exception (C0000005) occurred during DllEntryPoint or DllMain in module c:\dokumente und einstellungen\name\desktop\project1.dll)
Hier mein Source :
Code:
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
void DropYang(DWORD yang)
{
DWORD dwDropYang = 0x0041DF50;
__asm
{
MOV ECX,DWORD PTR DS:[0x5F1D34]
PUSH yang
PUSH 0
CALL dwDropYang
}
}
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long _Reason, void* lpReserved)
{
if(DLL_PROCESS_ATTACH == _Reason)
{
while(1==1)
{
DropYang(1);
}
}
return 0;
}
Was mache ich falsch?
PS : Ich benutze den C++Builder von RAD.
Lg Dez~
|
|
|
07/31/2010, 21:08
|
#2
|
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,537
|
In DLL_PROCCESS_ATTACH. Würde ich lieber CreateThread( null, 0, dropyangthread, Null, 0); einfügen kp obs genau richtig so ist schreib it handy und dann halt. DWORD WINAPI dropyangthread(LPVOID Args) { while(true){DropYang(1);}} ist aufjedefall besser.
|
|
|
07/31/2010, 22:31
|
#3
|
elite*gold: 0
Join Date: Nov 2008
Posts: 182
Received Thanks: 132
|
Wäre dir sehr dankbar wenn du es mir besser erklären würdest - wie gesagt bin blutiger Anfänger.
Aber ein Thx bekommst du aufjedenfall :P
Lg Dez~
|
|
|
07/31/2010, 23:25
|
#4
|
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,537
|
Code:
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
void DropYang(DWORD yang)
{
DWORD dwDropYang = 0x0041DF50;
__asm
{
MOV ECX,DWORD PTR DS:[0x5F1D34]
PUSH yang
PUSH 0
CALL dwDropYang
}
}
DWORD WINAPI YangDropThread(LPVOID Args)
{
while(true){
DropYang(1);
}
}
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long _Reason, void* lpReserved)
{
if(DLL_PROCESS_ATTACH == _Reason)
{
CreateThread( 0, NULL, YangDropThread, NULL, 0, NULL);
}
return 0;
}
Finde es so viel besser oO du erstellst halt einen Thread für YangDrop ist besser aufjedenfall..
wenn du fragen hast frag hier oder MSDNS
|
|
|
08/01/2010, 00:18
|
#5
|
elite*gold: 0
Join Date: Nov 2008
Posts: 182
Received Thanks: 132
|
Hmm wenn ich die Dll injecte stürtzt Metin ab ._.
Both injection-methods failed !
(RemoteLoadLibrary ans Detourlinjection)
YangDroper.dll -> metin.exe
Target ist protectet? err:0
Lg Dez~
|
|
|
08/01/2010, 00:42
|
#6
|
elite*gold: 1
Join Date: Feb 2009
Posts: 6,379
Received Thanks: 7,998
|
Sicher, dass in DropYang alles korrekt ist? Hast du das irgendwo kopiert? Eventuell ist es nach dem Call noch nötig den Stack aufzuräumen (add esp, 0x8). Kommt drauf an, ob die Funktion das selber tut oder nicht.
|
|
|
08/01/2010, 02:42
|
#7
|
elite*gold: 0
Join Date: Nov 2008
Posts: 182
Received Thanks: 132
|
Quote:
Originally Posted by Ende!
Sicher, dass in DropYang alles korrekt ist? Hast du das irgendwo kopiert? Eventuell ist es nach dem Call noch nötig den Stack aufzuräumen (add esp, 0x8). Kommt drauf an, ob die Funktion das selber tut oder nicht.
|
Hab es einfach direkt aus OllyDBG koppiert.
Ich versuch es mal mit ADD ESP, 0x8
Lg Dez~
EDIT : Jetzt werden ~7 Häufchen Yang gedropt und anschliesend kommt eine Errormeldung (Die selbewie im ersten Post)
|
|
|
08/01/2010, 18:40
|
#8
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Du bist in der Lage Funktionen im Client zu lokalisieren, aber schaffst es nicht dein Programm zu debuggen? Mhmmmm...
|
|
|
08/01/2010, 19:11
|
#9
|
elite*gold: 0
Join Date: Nov 2008
Posts: 182
Received Thanks: 132
|
Das Problem ist behoben ^^
Ich hatte eine Funktion übersehen direkt unter dem eigentlichen YangDrop.
Kann geclosed werden, thx an alle die geholfen haben!
Lg Dez~
|
|
|
08/01/2010, 21:13
|
#10
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
|
Quote:
Originally Posted by ~Dezion~
Guten morgen E*Pvp Community,
Ich wollte mir gestern eine kleine Dll erstellen, die ununterbrochen Yang droppt.
Die Dll lies sich wunderbar compilen, doch als ich die dann injectet hatte, wurde 1 Yanghäufchen gedroppt kurz dannach kaam eine Errormeldung (An exception (C0000005) occurred during DllEntryPoint or DllMain in module c:\dokumente und einstellungen\name\desktop\project1.dll)
Hier mein Source :
Code:
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
void DropYang(DWORD yang)
{
DWORD dwDropYang = 0x0041DF50;
__asm
{
MOV ECX,DWORD PTR DS:[0x5F1D34]
PUSH [COLOR="Red"][yang][/COLOR]
PUSH 0
CALL dwDropYang
}
}
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long _Reason, void* lpReserved)
{
if(DLL_PROCESS_ATTACH == _Reason)
{
while(1==1)
{
DropYang(1);
}
}
return 0;
}
|
eigentlich sollte es so heißen.
wenn nicht, bitte korrigieren, mich verwirren lokale variablen bei inline asm immer
Quote:
Originally Posted by ~Dezion~
Wäre dir sehr dankbar wenn du es mir besser erklären würdest - wie gesagt bin blutiger Anfänger.
Aber ein Thx bekommst du aufjedenfall :P
Lg Dez~
|
für solche ist das aber gar nichts
|
|
|
08/01/2010, 22:41
|
#11
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Quote:
Originally Posted by MrSm!th
eigentlich sollte es so heißen.
wenn nicht, bitte korrigieren, mich verwirren lokale variablen bei inline asm immer
|
Nein, [x] ist in dem Fall wie eine Dereferenzierung und würde auf den Wert an Adresse x zugreifen.
|
|
|
08/02/2010, 00:01
|
#12
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
|
jop schon klar.
und soweit ich weiß, greift man doch so auf variablen per asm zu oder nicht?
nur der variablenname müsste doch nur die adresse bedeuten.
ich muss zb. folgendes machen
__asm mov [abc], 5;
um 5 in abc zu bekommen.
|
|
|
08/02/2010, 00:27
|
#13
|
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,344
|
Code:
int global = 0;
int global2 = 0;
int _tmain(int argc, _TCHAR* argv[])
{
int local = 0;
int local2 = 0;
__asm
{
mov global, 1
mov [global2], 1
mov local, 1
mov [local2], 1
}
printf("global:%d\nglobal2:%d\nlocal:%d\nlocal2:%d\n", global, global2, local, local2);
system("PAUSE");
return 0;
}
unter Visual C++
Code:
global:1
global2:1
local:1
local2:1
Press any key to continue . . .
Scheint wohl keinen Unterschied zu machen.
btw, SmackJew = schlurmann? ;O
|
|
|
08/02/2010, 00:34
|
#14
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
|
Hm, welche VS Version nutzt du denn?
Ich weiß nicht mehr recht, aber ich meine mich erinnern zu können, dass ich für die Version ohne [] mal nen Compilerfehler bekam.
Hast du es denn auch umgekehrt versucht? Dass du die Quelle einmal mit und einmal ohne [] nutzt? Würde man es dann wirklich als Pointer nutzen, müsste es ja bei der Version mit [] crashen oder nix passieren, da man ja auf Adresse 0x1 zugreifen würde...
Code:
int local1 = 1;
__asm mov eax, [local1];
Falls es schlurmann ist, willkommen zurück ;O
|
|
|
08/02/2010, 00:44
|
#15
|
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,344
|
2010 Ultimate
Code:
int *global = new int(0);
int *global2 = new int(0);
int _tmain(int argc, _TCHAR* argv[])
{
__asm
{
mov global, 1
mov [global2], 1
}
printf("global:%d\nglobal2:%d\n", global, global2);
system("PAUSE");
return 0;
}
Edit: Beide Pointer werden auf 1 gesetzt, nicht die Variable, auf die gezeigt wird.
|
|
|
|
|
Similar Threads
|
[RELEASE] Yangdrop / Exp Easy einstellen!
07/30/2010 - Metin2 PServer Guides & Strategies - 6 Replies
Hallo liebe E*pvpers,
als ich meine mop_proto bearbeiten wollte dauerte es mir zulange alles einzustellen, also habe ich mir ein script geschrieben das ich jetzt hier Pub stellen will.
Was macht dieses Script?
Das Script basiert auf PHP, also kann man es ganz einfach vom Internetbrowser aus starten.
Danach hat man 6 verschiedene auswählen an Veränderungen, alle Veränderungen werden an der mob_proto verändert.
Man kann die gold_max, gold_min, exp anheben oder verringern.
Einfach die...
|
Yangdrop
05/21/2010 - Metin2 Private Server - 0 Replies
Hallo,
Ich suche eine Mob_proto die komplett übersetzt ist und wo der Yangdrop
angepasst wurde das man nicht zu viel droppt.
Suche auch eine Quest um beim Stalli Pferd und Mg für Yang kaufen kann.
Lg
Fr33ak
|
Yangdrop????
02/15/2010 - Metin2 Private Server - 7 Replies
Hey leute ich hab nen neuen server und immer wenn ich yang rate auf 1000 mache gehts aber i wie nicht man kirgt nur 120 yang
|
All times are GMT +2. The time now is 07:08.
|
|