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.
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.