Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Где можно почитать про создание конфигураторов? (https://forum.antichat.xyz/showthread.php?t=45803)

X-lord 01.08.2007 16:12

Где можно почитать про создание конфигураторов?
 
исходник (с\с++,дельфи) желательно...

sni4ok 01.08.2007 16:57

Цитата:

Сообщение от X-lord
исходник (с\с++,дельфи) желательно...

что ты подразумеваешь под кофигураторами?

если хранение настроек, то посмотри например на boost::serialization
http://www.boost.org/libs/serialization/doc/index.html

а если тебе нужно и gui, то можешь например начать изучать wxWidgets или Qt.

W!z@rD 01.08.2007 17:23

если про троев, то качай исходники Latinus...
Delphi...

X-lord 02.08.2007 02:58

Цитата:

Сообщение от sni4ok
что ты подразумеваешь под кофигураторами?

установка значений констант внутри подопытного
возможно метаморф... если возможно...

drmist 02.08.2007 11:35

X-lord
Пишите в программе
DWORD dwConst = 0xAABBCCDD;

потом открываете прогу в HexWorkshop, ищите смещение константы. Конфигуратору требуется только открыть программу на запись и по нужному смещению написать нужное значение.

Тоже самое со строками, только нужно дополнять их некоторым количеством нулей в конце, чтобы строки разной длины вписать можно было.

_Great_ 02.08.2007 11:55

Цитата:

Тоже самое со строками, только нужно дополнять их некоторым количеством нулей в конце, чтобы строки разной длины вписать можно было.
Реализуется кстати довольно банально

char szString[256] = "Hello, World";

После "Hello, World" будут нули.

da_ff 02.08.2007 12:30

я кагда то так делал
Код:

#include "stdio.h"
#include "windows.h"
#define LEN 64

void insert(char *str,FILE *in,FILE *out)
{
        long incurpos=ftell(in);
        long outcurpos=ftell(out);
        char *buf=new char[LEN];
        *buf='#';
        fread(++buf,1,LEN-2,in);
        buf--;
        buf[LEN-1]='\0';
        if(!strcmp(buf,"############################################################"))
        {
                strcpy(buf,str);
                fwrite(buf,1,LEN-2,out);
        }
        else
                fseek(in,incurpos,SEEK_SET);
        return;
}

int main(int argc, char *argv[])
{
        if(argc<3)return 0;
        char name[128],str[LEN],buf[1];
        strcpy(name,*(argv+1));//strcpy(name,"TestConsole.exe");
        strcpy(str,*(argv+2));//strcpy(str,"da_ff");
        FILE *in,*out;
        if(!(in=fopen(name,"rb")))return 0;
        if(!(out=fopen(strcat(name,".exe"),"wb")))return 0;
        while(fread(buf,1,1,in))
        {
                if(buf[0]=='#')insert(str,in,out);
                fwrite(buf,1,1,out);
        }
        fclose(in);
        fclose(out);
        printf("ok");
        return 0;
}

а в подопытном должна быть строка "################################################# ###########" =)


Время: 23:22