kawa operand
перерывпятьминут
- 602
- 333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну так поделись же своим бесценным опытом, чтобы таких вопросов больше не было ;DПонял как фиксануть...
Ну так поделись же своим бесценным опытом, чтобы таких вопросов больше не было ;DПонял как фиксануть...
Самодельное![]()
Это на какой штуке замутили? название GUI
Есть в открытом доступе? Или функции SF?Самодельное
char pStartData[] = { 0x02, 0x00, 0x01 };
char pPackData[] = { 0xC6, 0x0A, 0x01, 0xF9, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x06, 0x00, 0x03, 0x01, 0x00, 0x01 };
char pPackData2[] = { 0x06, 0x00, 0x03, 0x02, 0x00, 0x04, 0x00, 0x85, 0x00, 0x03, 0x05, 0x00, 0x03, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x05, 0x00, 0x04, 0x07, 0x2D, 0x80, 0x03, 0x02, 0x00, 0x03, 0x01, 0x00, 0x4D, 0x00, 0x01 };
char pPackData3[] = { 0x8D, 0x0A, 0x03, 0x00, 0x00, 0x04, 0x01, 0x04, 0x01, 0x03, 0x03, 0x00, 0x12, 0x0B, 0x03, 0x03, 0x00, 0x04 };
char pPackData4[] = { 0x03, 0x04, 0x00, 0x00, 0x00, 0x8C, 0x0A, 0x03, 0x05, 0x00, 0x04, 0x01, 0x03, 0x04, 0x00, 0x04, 0x01, 0x0A, 0x00, 0x03, 0x00, 0x00, 0x04, 0x01, 0x0A, 0x00, 0x03, 0x02, 0x00, 0x04, 0x01, 0x0A, 0x00, 0x03, 0x05, 0x00, 0x04, 0x01, 0x02, 0x00, 0x01 };
char pPackData5[] = { 0x9F, 0x0A, 0x03, 0x00, 0x00, 0x8E, 0x0A, 0x03, 0x00, 0x00, 0x04, 0x10, 0x03, 0x01, 0x00, 0x8D, 0x0A, 0x03, 0x01, 0x00, 0x04, 0x04, 0x04, 0x01, 0x03, 0x02, 0x00, 0x0A, 0x00, 0x03, 0x01, 0x00, 0x04, 0x04, 0x8C, 0x0A, 0x03, 0x01, 0x00, 0x04, 0x04, 0x03, 0x02, 0x00, 0x04, 0x01 };
#include <iostream>
#include <fstream>
#include <windows.h>
#include <vector>
void error(char* t)
{
std::cout << "Error: " << t << "\n";
system("pause");
exit(-1);
}
char pStartData[] = { 0x02, 0x00, 0x01 };
char pPackData[] = { 0xC6, 0x0A, 0x01, 0xF9, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x06, 0x00, 0x03, 0x01, 0x00, 0x01 };
char pPackData2[] = { 0x06, 0x00, 0x03, 0x02, 0x00, 0x04, 0x00, 0x85, 0x00, 0x03, 0x05, 0x00, 0x03, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x05, 0x00, 0x04, 0x07, 0x2D, 0x80, 0x03, 0x02, 0x00, 0x03, 0x01, 0x00, 0x4D, 0x00, 0x01 };
char pPackData3[] = { 0x8D, 0x0A, 0x03, 0x00, 0x00, 0x04, 0x01, 0x04, 0x01, 0x03, 0x03, 0x00, 0x12, 0x0B, 0x03, 0x03, 0x00, 0x04 };
char pPackData4[] = { 0x03, 0x04, 0x00, 0x00, 0x00, 0x8C, 0x0A, 0x03, 0x05, 0x00, 0x04, 0x01, 0x03, 0x04, 0x00, 0x04, 0x01, 0x0A, 0x00, 0x03, 0x00, 0x00, 0x04, 0x01, 0x0A, 0x00, 0x03, 0x02, 0x00, 0x04, 0x01, 0x0A, 0x00, 0x03, 0x05, 0x00, 0x04, 0x01, 0x02, 0x00, 0x01 };
char pPackData5[] = { 0x9F, 0x0A, 0x03, 0x00, 0x00, 0x8E, 0x0A, 0x03, 0x00, 0x00, 0x04, 0x10, 0x03, 0x01, 0x00, 0x8D, 0x0A, 0x03, 0x01, 0x00, 0x04, 0x04, 0x04, 0x01, 0x03, 0x02, 0x00, 0x0A, 0x00, 0x03, 0x01, 0x00, 0x04, 0x04, 0x8C, 0x0A, 0x03, 0x01, 0x00, 0x04, 0x04, 0x03, 0x02, 0x00, 0x04, 0x01 };
void pushar(std::vector<char> & v, void* memptr, size_t size)
{
for (size_t i = 0; i < size; i++)
v.push_back(((char*)memptr)[i]);
}
int random()
{
int r = rand() * rand() / rand() + rand();
srand(GetTickCount() + r);
srand(rand() - r);
return rand();
}
void loadfl(std::vector<char> & vec, char* fname)
{
std::ifstream f(fname, std::ios::binary);
while (!f.eof())
vec.push_back(f.get());
vec.pop_back();
f.close();
}
void savefl(std::vector<char> & vec, char* fname)
{
std::ofstream f(fname, std::ios::binary);
for (unsigned int i = 0; i < vec.size(); i++)
f << (unsigned char)vec[i];
f.close();
}
void packscript(std::vector<char> & vecdata, std::vector<char> & vecresult)
{
int fsize = vecdata.size();
unsigned char xorvalue = (random() % 12 + 2) * 16 + random() % 12 + 2;
int jumpaddr = -(fsize + 7);
pushar(vecresult, pStartData, sizeof(pStartData));
pushar(vecresult, &jumpaddr, sizeof(jumpaddr));
for (unsigned int i = 0; i < fsize; i++)
vecresult.push_back(vecdata[i] ^ xorvalue);
pushar(vecresult, pPackData, sizeof(pPackData));
pushar(vecresult, &fsize, sizeof(int));
pushar(vecresult, pPackData2, sizeof(pPackData2));
jumpaddr = -(fsize + 128);
pushar(vecresult, &jumpaddr, sizeof(jumpaddr));
pushar(vecresult, pPackData3, sizeof(pPackData3));
pushar(vecresult, &xorvalue, sizeof(xorvalue));
pushar(vecresult, pPackData4, sizeof(pPackData4));
jumpaddr = -(fsize + 49);
pushar(vecresult, &jumpaddr, sizeof(jumpaddr));
pushar(vecresult, pPackData5, sizeof(pPackData5));
}
int main(int argc, char** args)
{
if (argc < 2)
error("need more arguments");
int cnt;
if (argc == 3)
cnt = atoi(args[2]);
else
{
std::cout << "Enter count of packer cycles: ";
std::cin >> cnt;
}
std::vector<char> vecdata;
std::vector<char> vecresult;
loadfl(vecresult, args[1]);
if (!vecresult.size())
error("empty file or cannot open file");
for (int i = 0; i < cnt; i++)
{
for (int i = 0; i < vecresult.size(); i++)
vecdata.push_back(vecresult[i]);
vecresult.clear();
packscript(vecdata, vecresult);
vecdata.clear();
}
static char nefname[512];
strcpy_s(nefname, args[1]);
strcat_s(nefname, "crypted.cs");
savefl(vecresult, nefname);
std::cout << "COMPLETED\n";
system("pause");
return 0;
}
Это куски клео скриптаНа просторах тырынета нашел пакер могайки, решил изучить, но так и не понял зачем там
GAME->IsPaused() пойдет?Есть какая-нибудь проверка на то, что игрок в афк? Именно локальный игрок, что бы не выполнялись функции при выходе с АФК
Попробую, если че отпишуGAME->IsPaused() пойдет?
Он такое не умеет. Юзай CD3DFont из соба, но он вроде не умеет в сложные шрифты.Как обозначить подстроки в строке разным цветом в функции ID3DXFont:: DrawTextA,
как это было в клео "{ffffff}Привет, {00cc00}Мир!". сукп все перерыл, а в собейте такое не используется
надо брать указатель на шрифт из структур сампа (stFontRenderer вроде), там модифицированный ID3DXFont который как раз атки и умеет в эти цветотэгиКак обозначить подстроки в строке разным цветом в функции ID3DXFont:: DrawTextA,
как это было в клео "{ffffff}Привет, {00cc00}Мир!". сукп все перерыл, а в собейте такое не используется
using namespace std;
using std::string;
const char *stristr(const char * s1, const char * s2)
{
string ss1 = _tolower(s1);
string ss2 = _tolower(s2);
const string::size_type index = ss1.find(ss2);
if(index == string::npos)
{
return NULL;
}
return &s1[index];
}
Исходник - SRString(https://blast.hk/threads/18698/)У кого есть функция stristr ? Проще говоря, strstr без учета регистра.
Есть такая хрень, но она чет не работает))
C++:using namespace std; using std::string; const char *stristr(const char * s1, const char * s2) { string ss1 = _tolower(s1); string ss2 = _tolower(s2); const string::size_type index = ss1.find(ss2); if(index == string::npos) { return NULL; } return &s1[index]; }
int stristr(SRString one, SRString two){
return one.toLower().indexOf(two.toLower());
}