Quote:
Originally Posted by chibis
hmm ... mir fehlt vllt dass man über dein prog z.B. die Talisman ID nicht rausbekommt (oder bin ich zu unfähig oO), aber sowas kann man sich ja auch syntex oder bloodx sources klauen (©)
|
Sicher bekommt man die, man muss nur wissen wie.
Leute wollt ihr alles in den Arsch geschoben bekommen oder was?
Schaut euch den verdammten Source doch mal an.
Code:
int Naked SendDetour(DWORD type,LPCSTR format,...)
{
__asm
{
push ebp
mov ebp, esp
sub esp, 14h
}
Color(15);
//printf(SendText,type,format);
va_list args;
va_start(args, format);
int i,s;
char* something;
for (i=0;i<strlen(format);i++)
{
switch (format[i])
{
case 'b': //BYTE
temp=va_arg( args, BYTE);
// printf(" %d: %d\n",i+1,temp);
break;
case 'd': //DWORD
temp =(DWORD)va_arg( args, DWORD);
//printf(" %d: %d\n",i+1,temp);
break;
case 'w': //WORD
// printf(" %d: %d\n",i+1,(WORD)va_arg( args, DWORD));
break;
case 's': //STRING
something=va_arg( args, char*);
char* somethings;
//printf(" %d: %s\n",i+1,something);// wird ja garnet ausgegebn
break;
case 'm':
//printf(" %d: %d\n",i+1,(DWORD)va_arg( args, DWORD));
break;
}
}
va_end(args);
__asm
{
jmp MySendBack;
}
}
Was meinste wofür die printfs in der Send Funktion stehen? Möglicherweise um die Packete auszugeben, "//" wegmachen, hack starten und man bekommt alle Packete in der Konsole ausgegeben und kann ablesen, genauso kann man den Source erweitern und machen das die ID's aus den Packeten abgelesen werden und und dann ausgegeben wie ich bei meinem Private hack gemacht habe, das ist ne Arbeit von 2 min, logisches denken mehr nicht..
Und da ich mir sicher bin das 99% das obige nicht verstanden haben, hab ich für euch sogar die // weggemacht...
Code:
int Naked SendDetour(DWORD type,LPCSTR format,...)
{
__asm
{
push ebp
mov ebp, esp
sub esp, 14h
}
Color(15);
printf(SendText,type,format);
va_list args;
va_start(args, format);
int i,s;
char* something;
for (i=0;i<strlen(format);i++)
{
switch (format[i])
{
case 'b': //BYTE
temp=va_arg( args, BYTE);
printf(" %d: %d\n",i+1,temp);
break;
case 'd': //DWORD
temp =(DWORD)va_arg( args, DWORD);
printf(" %d: %d\n",i+1,temp);
break;
case 'w': //WORD
printf(" %d: %d\n",i+1,(WORD)va_arg( args, DWORD));
break;
case 's': //STRING
something=va_arg( args, char*);
char* somethings;
printf(" %d: %s\n",i+1,something);// wird ja garnet ausgegebn
break;
case 'm':
printf(" %d: %d\n",i+1,(DWORD)va_arg( args, DWORD));
break;
}
}
va_end(args);
__asm
{
jmp MySendBack;
}
}