Где можно почитать про создание конфигураторов?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by X-lord, 1 Aug 2007.

  1. X-lord

    X-lord Banned

    Joined:
    16 Dec 2006
    Messages:
    27
    Likes Received:
    4
    Reputations:
    1
    исходник (с\с++,дельфи) желательно...
     
  2. sni4ok

    sni4ok Elder - Старейшина

    Joined:
    4 Nov 2006
    Messages:
    115
    Likes Received:
    37
    Reputations:
    12
    что ты подразумеваешь под кофигураторами?

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

    а если тебе нужно и gui, то можешь например начать изучать wxWidgets или Qt.
     
  3. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    если про троев, то качай исходники Latinus...
    Delphi...
     
  4. X-lord

    X-lord Banned

    Joined:
    16 Dec 2006
    Messages:
    27
    Likes Received:
    4
    Reputations:
    1
    установка значений констант внутри подопытного
    возможно метаморф... если возможно...
     
  5. drmist

    drmist Member

    Joined:
    8 Oct 2005
    Messages:
    307
    Likes Received:
    94
    Reputations:
    80
    X-lord
    Пишите в программе
    DWORD dwConst = 0xAABBCCDD;

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

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

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    Реализуется кстати довольно банально

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

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

    da_ff Elder - Старейшина

    Joined:
    11 Jul 2006
    Messages:
    118
    Likes Received:
    22
    Reputations:
    26
    я кагда то так делал
    Code:
    #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;
    }
    
    а в подопытном должна быть строка "############################################################" =)
     
    #7 da_ff, 2 Aug 2007
    Last edited: 2 Aug 2007