Увеличить вес программы.
От: nazavrik Россия  
Дата: 31.10.10 12:59
Оценка: :)
Добрый день!

Есть программа, весом 32 Кб, нужно её увеличить хотя бы до 100 Кб, т.е. навесить балласт, который не влиял бы на действие самой программы, но утяжелял бы её.

Желательно что-нибудь попроще, чтобы любой смог её собрать.
Re: Увеличить вес программы.
От: jazzer Россия Skype: enerjazzer
Дата: 31.10.10 13:01
Оценка: 3 (1) +1 :)
Здравствуйте, nazavrik, Вы писали:

N>Добрый день!


N>Есть программа, весом 32 Кб, нужно её увеличить хотя бы до 100 Кб, т.е. навесить балласт, который не влиял бы на действие самой программы, но утяжелял бы её.


N>Желательно что-нибудь попроще, чтобы любой смог её собрать.



static char ballast[100*1024];
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Увеличить вес программы.
От: nazavrik Россия  
Дата: 31.10.10 13:05
Оценка:
Здравствуйте, jazzer, Вы писали:

J>
J>static char ballast[100*1024];
J>


На вес программы это не повлияло.
Re[2]: Увеличить вес программы.
От: nazavrik Россия  
Дата: 31.10.10 13:08
Оценка:
Здравствуйте, jazzer, Вы писали:

J>
J>static char ballast[100*1024];
J>


Нужно увеличить размер исполняемого файла.
Re[3]: Увеличить вес программы.
От: _nn_  
Дата: 31.10.10 13:12
Оценка: 3 (1)
Здравствуйте, nazavrik, Вы писали:

N>Здравствуйте, jazzer, Вы писали:


J>>
J>>static char ballast[100*1024];
J>>


N>На вес программы это не повлияло.


Возможно его надо где-то использовать, чтобы оптимизатор не выкинул его.
Там скажем:
if (ballast[0] == 1) puts(balast);
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: Увеличить вес программы.
От: kpcb Россия  
Дата: 31.10.10 13:12
Оценка: 3 (1)
Здравствуйте, nazavrik, Вы писали:

N>Здравствуйте, jazzer, Вы писали:


J>>
J>>static char ballast[100*1024];
J>>


N>На вес программы это не повлияло.


Добавь ссылку в коде на этот массив
Re[4]: Увеличить вес программы.
От: nazavrik Россия  
Дата: 31.10.10 13:25
Оценка: 1 (1)
Здравствуйте, _nn_, Вы писали:

__>Возможно его надо где-то использовать, чтобы оптимизатор не выкинул его.

__>Там скажем:
__>
__>if (ballast[0] == 1) puts(balast);
__>


static char ballast[100*1024]={0};

int APIENTRY _tWinMain( HINSTANCE hInstance, HINSTANCE, LPTSTR lpCmdLine, int )
{

char* ptr = ballast;
char* ptr_end = ballast + strlen( ballast );

while(1)
{
if( ptr == ptr_end )
{
ptr = ballast;
}

//do Somtehing

if( *ptr == 0 )
goto M1;

M1:

ptr++;
}
}

увеличивает вес исполняемого файла ровно на 1 Кб.
Re[4]: Увеличить вес программы.
От: nazavrik Россия  
Дата: 31.10.10 13:26
Оценка:
Здравствуйте, kpcb, Вы писали:

K>Добавь ссылку в коде на этот массив



int APIENTRY _tWinMain( HINSTANCE hInstance, HINSTANCE, LPTSTR lpCmdLine, int )
{

   char* ptr = ballast;
   char* ptr_end = ballast + strlen( ballast );

    while(1)
    {
        if( ptr == ptr_end )
        {
           ptr = ballast;
        }

        //do Somtehing

        if( *ptr == 0 )
            goto M1;

        M1:

        ptr++;
    }
}



увеличивает вес исполняемого файла ровно на 1 Кб.
Re: Увеличить вес программы.
От: _gopher_ Россия  
Дата: 31.10.10 13:33
Оценка: 3 (1)
Здравствуйте, nazavrik, Вы писали:

N>Добрый день!


N>Есть программа, весом 32 Кб, нужно её увеличить хотя бы до 100 Кб, т.е. навесить балласт, который не влиял бы на действие самой программы, но утяжелял бы её.


N>Желательно что-нибудь попроще, чтобы любой смог её собрать.



возможно:

static volatile char balast[4 * 1024 * 1024] = "balast";
Re[5]: Увеличить вес программы.
От: dilmah США  
Дата: 31.10.10 13:34
Оценка: 3 (1)
N>увеличивает вес исполняемого файла ровно на 1 Кб.

нулевые данные не помещаются в бинарник. http://en.wikipedia.org/wiki/.bss
Re[6]: Увеличить вес программы.
От: nazavrik Россия  
Дата: 31.10.10 13:42
Оценка:
Здравствуйте, dilmah, Вы писали:

D>нулевые данные не помещаются в бинарник. http://en.wikipedia.org/wiki/.bss


Да, но даже если убрать инициализацию нулями, результат тот же.
Re[2]: Увеличить вес программы.
От: nazavrik Россия  
Дата: 31.10.10 13:44
Оценка:
Здравствуйте, _gopher_, Вы писали:

__>возможно:


__>
__>static volatile char balast[4 * 1024 * 1024] = "balast";
__>


Да, спасибо! Это вариант подошёл:

static volatile char balast[70*1024] = "balast";

int APIENTRY _tWinMain( HINSTANCE hInstance, HINSTANCE, LPTSTR lpCmdLine, int ) {


    while(1)
    {        
        if( balast[0] == 'b' )
            goto M1;

        M1:

        //Do something

    }

    return( 0 );
}


Только balast[4 * 1024 * 1024] увеличивает размер до 4 Мб.
Re[2]: Увеличить вес программы.
От: 0xDEADBEEF Ниоткуда  
Дата: 31.10.10 13:46
Оценка: 3 (1) +1
Здравствуйте, jazzer, Вы писали:

J>
J>static char ballast[100*1024];
J>

Не сработает. Т.к. переменная не инициализирована. Она уйдет в секцию не инициализированных данных, которая в екзкшнике места не занимает совсем.

Чтобы сработало, надо проинициализироваться:
static char ballast[] = "ballastballastballastballastballastballastballast";
__________
16.There is no cause so right that one cannot find a fool following it.
Re: Увеличить вес программы.
От: irbis3003  
Дата: 31.10.10 13:48
Оценка: :)
Здравствуйте, nazavrik, Вы писали:

N>Добрый день!


N>Есть программа, весом 32 Кб, нужно её увеличить хотя бы до 100 Кб, т.е. навесить балласт, который не влиял бы на действие самой программы, но утяжелял бы её.


N>Желательно что-нибудь попроще, чтобы любой смог её собрать.


если есть окно программы — добавь картинку нужного размера и сделай ее visible = false
Re[7]: Увеличить вес программы.
От: dilmah США  
Дата: 31.10.10 14:05
Оценка: 3 (1)
D>>нулевые данные не помещаются в бинарник. http://en.wikipedia.org/wiki/.bss

N>Да, но даже если убрать инициализацию нулями, результат тот же.


глобальные явно неинициализированные данные автоматически инициализируются нулями
Re[8]: Увеличить вес программы.
От: nazavrik Россия  
Дата: 31.10.10 14:21
Оценка:
Здравствуйте, dilmah, Вы писали:

D>глобальные явно неинициализированные данные автоматически инициализируются нулями


Спасибо!
Re[3]: Увеличить вес программы.
От: nazavrik Россия  
Дата: 31.10.10 14:23
Оценка:
Здравствуйте, 0xDEADBEEF, Вы писали:

DEA>Чтобы сработало, надо проинициализироваться:

DEA>
DEA>static char ballast[] = "ballastballastballastballastballastballastballast";
DEA>


Спасибо за разъяснение!
Re[2]: Увеличить вес программы.
От: Nik_1 Россия  
Дата: 31.10.10 15:17
Оценка: +1
Здравствуйте, irbis3003, Вы писали:
I>если есть окно программы — добавь картинку нужного размера и сделай ее visible = false
нече се извраты
достаточно просто добавить ее в ресурсы
Re: Увеличить вес программы.
От: RonWilson Россия  
Дата: 31.10.10 15:29
Оценка: :)
Здравствуйте, nazavrik, Вы писали:

N>Добрый день!


N>Есть программа, весом 32 Кб, нужно её увеличить хотя бы до 100 Кб, т.е. навесить балласт, который не влиял бы на действие самой программы, но утяжелял бы её.


N>Желательно что-нибудь попроще, чтобы любой смог её собрать.


добавь юнит, главное чтобы оптимизатор не сожрал типа такого:


int a = 0;
if( a = 20)thena := 123;
int b = 30;
if(a && b)then b:= 231;
...


легко написать прогу, генерирующую такой говнокод в былое время на msvc компиляторе да и в borland
Re: Увеличить вес программы.
От: c-smile Канада http://terrainformatica.com
Дата: 31.10.10 21:56
Оценка: :))) :)))
Здравствуйте, nazavrik, Вы писали:

N>Есть программа, весом 32 Кб, нужно её увеличить хотя бы до 100 Кб, т.е. навесить балласт, который не влиял бы на действие самой программы, но утяжелял бы её.


Работать в MS готовишься?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.