PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TeamSpeak 2 Multiple Instance Patch



blackberry
18.07.2008, 18:19
Das wird den "teamspeak_multipleInstanceBlocker" entfernen, welcher ein mehrfaches starten des ts clients verhindert.

Der Quellcode sollte unter jedem C++ compiler kompellierbar sein (getestet: g++ mit Dev-C++).
Das Programm hat wunderbar auf der Version 2.0.32.60 funktioniert, sollte es aber auch auf älteren Versionen, bzw. der neuren (sofern mit UPX entpackt) tun.

Quellcode:

/*
Win32 TeamSpeak 2 Multiple Instance Patch
by BlackBerry
In the TeamSpeak.exe you will find something called
teamspeak_multipleInstanceBlocker.
For example in version 2.0.32.60 this functionname
begins after 1062876 charcters.
We simply overwrite it with NULL-bytes.
Note: This can also be done with a simple Hex-Editor.

The final size of this program is about 20 KB.
*/

#include <cstdio>

size_t strlen(const char*);
void exit(int);
void putError(const char*);

FILE* fp;
char data[31];

int main()
{
printf("Win32 TeamSpeak 2 Multiple Instance Patch\n"
" by BlackBerry\n\n");
if ((fp = fopen("TeamSpeak.exe", "rb+")) == NULL)
putError("- Could not find/open TeamSpeak.exe\n");
char tsmib[34] = "teamspeak_multipleInstanceBlocker";
char buffer;
int x = -1;
int pos = -34;
while(!feof(fp))
{
if (x == strlen(tsmib))
break;
fread(&buffer, 1, sizeof(buffer), fp);
if (buffer != tsmib[++x])
x = -1;
}
if (feof(fp))
putError("- No multiple instance blocker found (already patched?)\n");
pos += ftell(fp);
if (fseek(fp, pos, SEEK_SET) != 0)
putError("- Could not set writing position\n");
for(int i=0;i<31;i++)
data[i] = 0;
fwrite(data, 1, 31, fp);
fclose(fp);
printf(" [DONE] TeamSpeak.exe");
return 0;
}

void putError(const char* errmsg)
{
printf("%s", errmsg);
fclose(fp);
exit(0);
}

Quellcode + .EXE (wer der .EXE nicht traut -> vom Quellcode komellieren):

http://rapidshare.com/files/130677037/ts2mip.rar.html 5.63 KB



Hoffe das Programm ist nützlich.

sp1nny
19.07.2008, 14:21
Man kann auch einfach im Hexeditor den Blocker entfernen. :roll:
Dafür braucht man nicht unbedingt ein Programn.

blackberry
19.07.2008, 15:39
Das mag zwar wahr sein, nun habe ich aber zur Zeit keinen hex-editor und Notepad.exe öffnet und schreibt dateien nur im textmodus und nicht im binärmodus... aber ich habe einen C/C++ compiler :)

Außerdem kannst du auch fragen wozu man einen Webbrowser braucht wenn man auch über telnet bzw. netcat oder allgemein mit tcp-socket clients eine Webseite anschauen kann, letztendlich ist doch sowieso nur der Text auf der Seite wirklich wichtig.

Verbleiben wir einfach dabei, dass ich Spaß am Programmieren habe und ich das alles mehr als Selbsttraining mache und dann eben hier poste für den Fall das es Jemanden interessiert.