Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Уменьшение размера exe, всеми способам 
:(
    Опции темы
Alexandr87
Дата 5.1.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: нет
Всего: 39



Как можно сделать размер готового exe,
я вот тут нашел такую

#pragma comment(linker, "/ENTRY:aWinMain")
Т.е. устанавливаем точку входа, минуя стандартную, а следовательно загрузку CRT

Но говорят можно достичь, чтоб экзешник весил чуть ли не килобайт???
Поделитесь пожайлуста информацией.
Заранее спасибо
PM Jabber   Вверх
Fixin
Дата 5.1.2005, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 8
Всего: 18



Можно на асме писать, но замучисси. Чистый WinAPI занимает довольно мало ~40Kb без ресурсов, но это редкость. Попробуй упаковщики, но я не пользовался не знаю насколько удобно и эффективно.
Добавлено @ 19:31
smile Прикольный аватар. Я тоже такой хочу сделать. smile
PM MAIL ICQ   Вверх
Alexandr87
Дата 5.1.2005, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: нет
Всего: 39



ухх, какую опцию линкера нашёл
/opt:nowin98
Уменьшение величины выравнивания файловых секций

PM Jabber   Вверх
Fixin
Дата 5.1.2005, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 8
Всего: 18



А где ты искал. Я тоже хочу посмотреть smile
PM MAIL ICQ   Вверх
Alexandr87
Дата 5.1.2005, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: нет
Всего: 39



Сейчас я добился, что скомпиленный exe, который просто загружает библиотеку и вызывает из нее функцию занимает у меня 1024 байт (и это без всяких асмов)
PM Jabber   Вверх
Fixin
Дата 5.1.2005, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 8
Всего: 18



Неплохо. А собственное окно не создает?
Добавлено @ 19:38
А по-подробнее о том что ты использовал для уменьшения smile
А какой компилятор?
PM MAIL ICQ   Вверх
Alexandr87
Дата 5.1.2005, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: нет
Всего: 39



Вобщем пощарился по открытым ресурсам и нашел следующее по интерисующему меня вопросу:
исполняемый файл можно уменьшить если, убрать "библиотеку" RTL, для чего мы переназначаем точку входа со стандартной на ту, которая нам нужна делается это следующим образом
#pragma comment(linker, "/ENTRY:aWinMain"), где aWinMain - ваша функция.

Кроме того можно уменьшить exe, путем добавления следующих строк:

#pragma comment(linker, "/MERGE:.rdata=.text")
#pragma comment(linker, "/MERGE:.data=.text")
#pragma comment(linker, "/SECTION:.text,EWRX")
#pragma comment(linker, "/IGNORE:4078")

Могу ошибаться так как новичок, но помоему первые три строки соединяют две секции rdata и data в text.
Четвертая строка делает игнор на варнинг, который возникае вследствии первый двух строк.

+ в завершении сия строчка кода
#pragma comment(linker, "/opt:nowin98")
Здесь мы уменьшаем велечину вырвнивания файловых секкций, так как в обычных условия они выравниваются по 512 байт

Ну вот, мож половина что я здесь наплел плод моей больной фантазии, но всеж.


PM Jabber   Вверх
Fixin
Дата 5.1.2005, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 8
Всего: 18



Супер!!!!!!!!!!!!!!!! smile smile smile smile
Класс!!!
Я б тебе репутацию поднял, если б мог.
PM MAIL ICQ   Вверх
Fixin
Дата 5.1.2005, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 8
Всего: 18



Код

#pragma comment(linker, "/ENTRY:aWinMain"), где aWinMain - ваша функция


А почему это во столько раз уменьшает размер проги?
И работать все перестает в проге. smile
PM MAIL ICQ   Вверх
Alexandr87
Дата 5.1.2005, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: нет
Всего: 39



Fixin
Работать перестает не всё, но к сожалению, многое(:

-Работа с числами с плавающей точкой
-Работа с дин памятью
-Улетает несколько стандартных функций

Просто в моем примере это всё не надо было, я щас свою длл с 36 до 2 кб сжал, не конечно суперская весчь

ЗЫ #pragma comment(linker, "/opt:nowin98") можно заменить на #pragma comment(linker,"/FILEALIGN:512")
PM Jabber   Вверх
S.A.P.
Дата 5.1.2005, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: нет
Всего: 71



PM MAIL   Вверх
Nicky
Дата 27.1.2005, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 18.12.2004
Где: Кишинёв

Репутация: нет
Всего: 1



Цитата(Perchilla @ 5.1.2005, 20:55)
http://www.rsdn.ru/article/cpp/crt.xml

Спосибо за ссылочку smile
PM MAIL ICQ   Вверх
chipset
Дата 27.1.2005, 03:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 165



У меня был рекорд - DLL 4 кб со всеми стандартными функциями smile


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
4udo
Дата 16.4.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: 1
Всего: -1



Привет,всем.
Суперская тема - вношу две лепты.

1.Можно влинковать свой Stub - делается так #pragma comment /STUB:stub.exe
Ещё вот кое-какие прагмы 
/ALIGN:4096 /NODEFAULTLIB /IGNORE:4078

2.Все эти оптимизациии сконцентрированы вот здесь - AggressiveOptimize.h:
Код

//////////////////////////////
// Version 1.40 
// October 22nd, 2002 - .NET (VC7, _MSC_VER=1300) support!
// Version 1.30
// Nov 24th, 2000
// Version 1.20
// Jun 9th, 2000
// Version 1.10
// Jan 23rd, 2000
// Version 1.00
// May 20th, 1999
// Todd C. Wilson, Fresh Ground Software
// ([email protected])
// This header file will kick in settings for Visual C++ 5 and 6 that will (usually)
// result in smaller exe's.
// The "trick" is to tell the compiler to not pad out the function calls; this is done
// by not using the /O1 or /O2 option - if you do, you implicitly use /Gy, which pads
// out each and every function call. In one single 500k dll, I managed to cut out 120k
// by this alone!
// The other two "tricks" are telling the Linker to merge all data-type segments together
// in the exe file. The relocation, read-only (constants) data, and code section (.text)
// sections can almost always be merged. Each section merged can save 4k in exe space,
// since each section is padded out to 4k chunks. This is very noticeable with smaller
// exes, since you could have only 700 bytes of data, 300 bytes of code, 94 bytes of
// strings - padded out, this could be 12k of runtime, for 1094 bytes of stuff! For larger
// programs, this is less overall, but can save at least 4k.
// Note that if you're using MFC static or some other 3rd party libs, you may get poor
// results with merging the readonly (.rdata) section - the exe may grow larger.
// To use this feature, define _MERGE_DATA_ in your project or before this header is used.
// With Visual C++ 5, the program uses a file alignment of 512 bytes, which results
// in a small exe. Under VC6, the program instead uses 4k, which is the same as the
// section size. The reason (from what I understand) is that 4k is the chunk size of
// the virtual memory manager, and that WinAlign (an end-user tuning tool for Win98)
// will re-align the programs on this boundary. The problem with this is that all of
// Microsoft's system exes and dlls are *NOT* tuned like this, and using 4k causes serious
// exe bloat. This is very noticeable for smaller programs.
// The "trick" for this is to use the undocumented FILEALIGN linker parm to change the
// padding from 4k to 1/2k, which results in a much smaller exe - anywhere from 20%-75%
// depending on the size. Note that this is the same as using /OPT:NOWIN98, which *is*
// a previously documented switch, but was left out of the docs for some reason in VC6 and
// all of the current MSDN's - see KB:Q235956 for more information.
// Microsoft does say that using the 4k alignment will "speed up process loading",
// but I've been unable to notice a difference, even on my P180, with a very large (4meg) exe.
// Please note, however, that this will probably not change the size of the COMPRESSED
// file (either in a .zip file or in an install archive), since this 4k is all zeroes and
// gets compressed away.
// Also, the /ALIGN:4096 switch will "magically" do the same thing, even though this is the
// default setting for this switch. Apparently this sets the same values as the above two
// switches do. We do not use this in this header, since it smacks of a bug and not a feature.
// Thanks to Michael Geary <[email protected]> for some additional tips!
//
// Notes about using this header in .NET
// First off, VC7 does not allow a lot of the linker command options in pragma's. There is no
// honest or good reason why Microsoft decided to make this change, it just doesn't.
// So that is why there are a lot of <1300 #if's in the header.
// If you want to take full advantage of the VC7 linker options, you will need to do it on a 
// PER PROJECT BASIS; you can no longer use a global header file like this to make it better.
// Items I strongly suggest putting in all your VC7 project linker options command line settings:
//            /ignore:4078    /RELEASE
// Compiler options:
//            /GL (Whole Program Optimization)
// If you're making an .EXE and not a .DLL, consider adding in:
//            /GA (Optimize for Windows Application)
// Some items to consider using in your VC7 projects (not VC6):
// Link-time Code Generation - whole code optimization. Put this in your exe/dll project link settings.
//            /LTCG:NOSTATUS
// The classic no-padding and no-bloat compiler C/C++ switch:
//            /opt:nowin98
//
// (C++ command line options:  /GL /opt:nowin98  and /GA for .exe files)
// (Link command line options: /ignore:4078 /RELEASE /LTCG:NOSTATUS)
//
// Now, notes on using these options in VC7 vs VC6.
// VC6 consistently, for me, produces smaller code from C++ the exact same sources,
// with or without this header. On average, VC6 produces 5% smaller binaries compared
// to VC7 compiling the exact same project, *without* this header. With this header, VC6
// will make a 13k file, while VC7 will make a 64k one. VC7 is just bloaty, pure and
// simple - all that managed/unmanaged C++ runtimes, and the CLR stuff must be getting
// in the way of code generation. However, template support is better, so there.
// Both VC6 and VC7 show the same end kind of end result savings - larger binary output
// will shave about 2% off, where as smaller projects (support DLL's, cpl's,
// activex controls, ATL libs, etc) get the best result, since the padding is usually
// more than the actual usable code. But again, VC7 does not compile down as small as VC6.
//
// The argument can be made that doing this is a waste of time, since the "zero bytes"
// will be compressed out in a zip file or install archive. Not really - it doesn't matter
// if the data is a string of zeroes or ones or 85858585 - it will still take room (20 bytes
// in a zip file, 29 bytes if only *4* of them 4k bytes are not the same) and time to
// compress that data and decompress it. Also, 20k of zeros is NOT 20k on disk - it's the
// size of the cluster slop- for Fat32 systems, 20k can be 32k, NTFS could make it 24k if you're
// just 1 byte over (round up). Most end users do not have the dual P4 Xeon systems with
// two gigs of RDram and a Raid 0+1 of Western Digital 120meg Special Editions that all
// worthy developers have (all six of us), so they will need any space and LOADING TIME
// savings they will need; taking an extra 32k or more out of your end user's 64megs of
// ram on Windows 98 is Not a Good Thing.
//
// Now, as a ADDED BONUS at NO EXTRA COST TO YOU! Under VC6, using the /merge:.text=.data
// pragma will cause the output file to be un-disassembleable! (is that a word?) At least,
// with the normal tools - WinDisam, DumpBin, and the like will not work. Try it - use the
// header, compile release, and then use DUMPBIN /DISASM filename.exe - no code!
// Thanks to Gлzim Pani <[email protected]> for discovering this gem - for a full writeup on
// this issue and the ramifactions of it, visit www.nopcode.com for the Aggressive Optimize
// article.

#ifndef _AGGRESSIVEOPTIMIZE_H_
#define _AGGRESSIVEOPTIMIZE_H_

#pragma warning(disable:4711)

#ifdef NDEBUG
// /Og (global optimizations), /Os (favor small code), /Oy (no frame pointers)
#pragma optimize("gsy",on)

#if (_MSC_VER<1300)
    #pragma comment(linker,"/RELEASE")
#endif

// Note that merging the .rdata section will result in LARGER exe's if you using
// MFC (esp. static link). If this is desirable, define _MERGE_RDATA_ in your project.
#ifdef _MERGE_RDATA_
#pragma comment(linker,"/merge:.rdata=.data")
#endif // _MERGE_RDATA_

#pragma comment(linker,"/merge:.text=.data")
#if (_MSC_VER<1300)
    // In VC7, this causes problems with the relocation and data tables, so best to not merge them
    #pragma comment(linker,"/merge:.reloc=.data")
#endif

// Merging sections with different attributes causes a linker warning, so
// turn off the warning. From Michael Geary. Undocumented, as usual!
#if (_MSC_VER<1300)
    // In VC7, you will need to put this in your project settings
    #pragma comment(linker,"/ignore:4078")
#endif

// With Visual C++ 5, you already get the 512-byte alignment, so you will only need
// it for VC6, and maybe later.
#if _MSC_VER >= 1000

// Option #1: use /filealign
// Totally undocumented! And if you set it lower than 512 bytes, the program crashes.
// Either leave at 0x200 or 0x1000
//#pragma comment(linker,"/FILEALIGN:0x200")

// Option #2: use /opt:nowin98
// See KB:Q235956 or the READMEVC.htm in your VC directory for info on this one.
// This is our currently preferred option, since it is fully documented and unlikely
// to break in service packs and updates.
#if (_MSC_VER<1300)
    // In VC7, you will need to put this in your project settings
    #pragma comment(linker,"/opt:nowin98")
#else

// Option #3: use /align:4096
// A side effect of using the default align value is that it turns on the above switch.
// Does nothing under Vc7 that /opt:nowin98 doesn't already give you
// #pragma comment(linker,"/ALIGN:512")
#endif

#endif // _MSC_VER >= 1000

#endif // NDEBUG

#endif //  _AGGRESSIVEOPTIMIZE_H_




3.Можно использовать  мини-библиотеку - LIBCTINY.LIB :



    
4.Кому интересно вот ещё находка , MiniCrt.h:
Код

////////////////////////////////////////
// This defines the headers for the mini C Runtime Lib.
// We use this instead of the usual one in order to cut down on the chaff
// and bloat that we don't need; for this project (RRLoginV3), doing so
// removed over 40k of C lib.
// Note that certain functions are not thread safe. These are flagged.
// Also note that if you cut out the CRT, you loose some things, such as
// automatic creation/destruction of objects that are made before the WinMain
// is hit; this is because we do not manage this area like CRT does (although
// we could, if we duplicate the code, but it's not 100% needed for RRLoginV3,
// so I left it out).
// If you delcare _USE_CRTLIB_, then the .cpp file will thunk into the crt.

#ifndef _minicrt_h_
#define _minicrt_h_

// Thread safe functions
unsigned long    GetCurrentSeconds();
void CopyMem(void *dest, const void *src, unsigned long size);
void ClearMem(void *dest,unsigned long size);
int Random(int range);

// Not thread safe functions; they use a static internal buffer. If you need a thread
// safe version, modify them or else make optional parms.
const char *StringNum(const int value);
const char *TimeAsWdMDYatHMS(const unsigned long thetime,bool shortform);
const char *PathFromFilename(const char *filename);

void InitMiniCRT(int heapsize=8192);
void KillMiniCRT();

bool GetSpecialFolderPath(HWND errWnd,char *pBuffer,int cisdl);    
char *AppendSlash(char *str);

bool SendMessageToRunningapp(UINT msg);
const char *FilenameInExePath(const char*addthis);
const char *GetCurrentAppPath();
void    LaunchApp(const char *appname,const char *command);
HKEY OpenUninstallKey(bool baseonly=false);

bool PumpMessages();

extern bool g_fQuitProgram;

#endif

 

Это сообщение отредактировал(а) 4udo - 17.4.2006, 07:55

Присоединённый файл ( Кол-во скачиваний: 58 )
Присоединённый файл  LIBCTINY.LIB 14,70 Kb
PM MAIL   Вверх
SergeCpp
Дата 17.4.2006, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 10
Всего: 124



Вот, писал в своё время...

Исходники и EXE-файлы — в архиве (проекты для VS6)

Размеры в байтах

Код
Коллекция мелочей, могущих пригодиться

beep  [count]        // 1024 // == beep [count]
find   directory     // 1024 // диалог поиска файлов
prop   name          // 1024 // == <AltEnter> in Explorer
run   [name]         // 1536 // диалог запуска программ
sleep [milliseconds] // 1024 // == sleep [milliseconds]

gpf                  // 1024 // == General Protection Fault /чтение по адресу 0/
sysmove          (!) // 1104 // переименование системных файлов NT-систем /SysMove.cpp/
 

Присоединённый файл ( Кол-во скачиваний: 95 )
Присоединённый файл  Tiny.rar 9,36 Kb
PM MAIL WWW ICQ   Вверх
4udo
Дата 21.4.2006, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: 1
Всего: -1



Наверно тема пролопачена от и до .
Осталось лишь сжимать exe - ки автоматом - пакерами , протекторами или ещё чем-то?????......... 
PM MAIL   Вверх
4udo
Дата 29.4.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: 1
Всего: -1



Существенно почему - то ни кто это ни пишет,а ведь реально прописать в опциях так:
                /FILEALIGN:0x10 /ALIGN:0x10
Это дает существенный сброс массы исполняемого файла то бишь .exe  
PM MAIL   Вверх
aleksLAN
Дата 29.4.2006, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 27.4.2006

Репутация: нет
Всего: нет



Цитата
Но говорят можно достичь, чтоб экзешник весил чуть ли не килобайт???

можно... почитай здесь
http://hack-expo.void.ru/groups/uinC/text/28/index.htm
 
PM MAIL   Вверх
4udo
Дата 29.4.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: 1
Всего: -1



aleksLAN , походи по форуму пользуясь поиском и найдешь .exe в 153 байта.
А то что в приведенной статье - все уже есть в топике читай внимательно.
Вот примеры:  
http://forum.vingrad.ru/index.php?showtopic=18307 
http://forum.vingrad.ru/index.php?showtopic=91814 

Это сообщение отредактировал(а) 4udo - 29.4.2006, 15:25
PM MAIL   Вверх
Wolf
Дата 13.6.2006, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.6.2006
Где: Нижневартовск

Репутация: нет
Всего: нет



Подскажите пожалуйсата, как мне уменьшить размер exe в компиляторе Borland C++ Builder 6, пишу на чистом API. В опциях проекта на вкладке Linker снимаю галочку Use dynamic RTL, но размер увеличивается с 10 Кб до 55 Кб, а если подключаю заголовочный файл fstream.h до вобще до 280 Кб. В чём причина? Возможно ли уменьшение в BCB6? 
PM MAIL ICQ   Вверх
rsm
Дата 14.6.2006, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 4
Всего: 62



Цитата(Wolf @  13.6.2006,  20:53 Найти цитируемый пост)
пишу на чистом API

Цитата(Wolf @  13.6.2006,  20:53 Найти цитируемый пост)
подключаю заголовочный файл fstream.h

Первая цитата со второй что-то никак не стыкуется smile Какая из них правильная?

З.Ы. Могу поискать свою приватную тулзу (кажись, должна была где-то сохраниться), позволяющую делать в C++ Builder самодостаточные ЕХЕшники размером от 7,5 Кб. Но она поможет только если пишешь на чистом WinAPI, без всяких там CRT и прочих VCL. 
PM MAIL   Вверх
Wolf
Дата 14.6.2006, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.6.2006
Где: Нижневартовск

Репутация: нет
Всего: нет



Да, понял, что я ламер  smile  Сёдня переделал программку, убрал fstream.h ну вот теперь то на чистом Win API (CreateFile WriteFile ReadFile), но всё равно 55 Кб не мало... Теперь подключаю только windows.h и gl.h По возможности поищи свою спасительную программку, которая поможет мне  smile  Буду примного благодарен 
PM MAIL ICQ   Вверх
rsm
Дата 15.6.2006, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 4
Всего: 62



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

// fixed: исправленный аттач см. ниже по теме 

Это сообщение отредактировал(а) rsm - 23.6.2006, 22:15
PM MAIL   Вверх
Wolf
Дата 15.6.2006, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.6.2006
Где: Нижневартовск

Репутация: нет
Всего: нет



rsm, огромное спасибо  smile  Программка просто супер, всё прекрасно работает... Описание, тоже прикольное, настроение поднимает...  smile  

Хе... Вот и вопрос возник, а что делать с dll, создаю библиотечку в ней только windows.h, в опциях также можно настраивать Use dynamic RTL и т. п. Неужели при загрузке dll, сама dll будет вызывать RTL? Короче как быть с библиотечками? 

Извеняюсь, если не по теме, хотя тоже с уменьшением размера связано, тока длл... 

Это сообщение отредактировал(а) Wolf - 16.6.2006, 15:01
PM MAIL ICQ   Вверх
Wolf
Дата 16.6.2006, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.6.2006
Где: Нижневартовск

Репутация: нет
Всего: нет



Думаю, если даже принцип удаления RTL из dll одинаковый, то точку входа надо всё равно изменять, хотя... Если DllEntryPoint заменить на WinMain )))) или не прокатит?  smile  
PM MAIL ICQ   Вверх
rsm
Дата 17.6.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 4
Всего: 62



Цитата
Неужели при загрузке dll, сама dll будет вызывать RTL?

А почему нет? Тебя же не удивляет, что в DLL могут быть вызовы функций из системных библиотек (kernel32.dll и пр.).

Цитата(Wolf @  16.6.2006,  19:41 Найти цитируемый пост)
Если DllEntryPoint заменить на WinMain

Если бы еще тупой BСВ'шный линкер позволял переносить точку входа... нет у него такой опции, просто нет.

Цитата(Wolf @  16.6.2006,  00:49 Найти цитируемый пост)
Короче как быть с библиотечками?

Добавил поддержку DLL. 

Это сообщение отредактировал(а) rsm - 17.6.2006, 12:57

Присоединённый файл ( Кол-во скачиваний: 64 )
Присоединённый файл  boburs.zip 14,30 Kb
PM MAIL   Вверх
Wolf
Дата 17.6.2006, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.6.2006
Где: Нижневартовск

Репутация: нет
Всего: нет



Просто прекрасный вклад в программирование, неужели эти америкосы не понимают, что просто прекрасно писать маленькие программы с маленькими длл, нетребующими ничего. Просто раздражает то, что на ассме написанная прога весит гораздо меньше... Но всегда хочется оценить функциональность с занимаемым объёмом... Пасибо... Вот теперь то настоящее человеческое спасибо...  smile   

Это сообщение отредактировал(а) Wolf - 18.6.2006, 19:59
PM MAIL ICQ   Вверх
rsm
Дата 17.6.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 4
Всего: 62



Цитата(Wolf @  17.6.2006,  21:46 Найти цитируемый пост)
просто прекрасно писать маленькие программы с маленькими длл, нетребующими ничего

Понимают, и даже целые сайты создают: 1 2 3 и т.д.
Тут дело в разделении программирования для себя (WinAPI) и для дяди (MFC, Qt и иже с ними), а так же по сложности (на чистом WinAPI писать сложнее и опыта нужно больше).

Цитата(Wolf @  17.6.2006,  21:46 Найти цитируемый пост)
Просто раздражает то, что на ассме написанная прога весит гораздо меньше...

Если еще и компилятор нормальный взять (врагу не пожелаю писать на чистом WinAPI в ВСВ), тогда размеры даже уравнять получится. 
PM MAIL   Вверх
Wolf
Дата 18.6.2006, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.6.2006
Где: Нижневартовск

Репутация: нет
Всего: нет




Цитата

Если еще и компилятор нормальный взять (врагу не пожелаю писать на чистом WinAPI в ВСВ), тогда размеры даже уравнять получится.


А какие компиляторы больше всего подходят для программирования на API? Что лучше? Говорили мне, что Visual C++ но так он мне не нравится, да и ктому же стоит много... И что лучше подходит WinAPI+OpenGL или WinAPI+Direct3D 
PM MAIL ICQ   Вверх
S.A.P.
Дата 18.6.2006, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: нет
Всего: 71



Цитата(Wolf @  18.6.2006,  20:27 Найти цитируемый пост)
Говорили мне, что Visual C++ но так он мне не нравится,

а чем он не нравится? WinAPI он и в Африке WinAPI.

есть еще бесплатный MinGW. Простое OpenGL приложение в 12 килобайт укладывается. 
PM MAIL   Вверх
rsm
Дата 18.6.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 4
Всего: 62



Цитата(Wolf @  18.6.2006,  22:27 Найти цитируемый пост)
А какие компиляторы больше всего подходят для программирования на API? Что лучше?

Лично мне более всего нравится и полностью устраивает Pelles C for Windows - маленькая (дистрибутив 6,5 Мб), бесплатная (в т.ч. и для коммерческого применения), удобная IDE со встроенным редактором диалогов и подсветкой аргументов WinAPI-функций. Однако, есть у нее и недостатки:
- выдаваемый компилятором код очень и очень посредственный в плане оптимизации, для задач с высоким быстродействием применять его категорически нельзя;
- поддерживается только наш родной нормальный чистый Си, без всяких там плюсов и решеток - для любителей С++ это смертельное препятствие;
- нет автодополнения;
Для моих задач Pelles C for Windows подходит идеально, но подойдет ли тебе, я не знаю.

Цитата(Wolf @  18.6.2006,  22:27 Найти цитируемый пост)
Говорили мне, что Visual C++ но так он мне не нравится, да и ктому же стоит много...

Правильно говорили - Visual C++ это, пожалуй, лучшая IDE, со всеми новомодными фишками (автодополнение, подсветка функций всплывающими подсказками и пр.) и очень хорошо оптимизирующим компилятором (лучше разве что только у Intel). Насчет цены можно не беспокоиться если не собираешься использовать ее в коммерческих целях - с сайта MS можно свободно утянуть бесплатную VC++ 2005 Express Edition. Добавишь к ней PSDK, редактор диалогов по вкусу - и будет отличная вещь!

Цитата(Wolf @  18.6.2006,  22:27 Найти цитируемый пост)
И что лучше подходит WinAPI+OpenGL или WinAPI+Direct3D

VC++ или еще лучше Intel C++ Compiler. Отличная оптимизация по размеру и скорости, плюс в отличие от ВСВ не будет ультра-геморроя с подключением хидеров и библиотек DirectX. 
PM MAIL   Вверх
Toohtik
Дата 5.12.2006, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 142
Регистрация: 30.1.2006
Где: Харьков

Репутация: нет
Всего: нет



Я в этой теме новичок, но недавно нашел прогу под названием ASPack, которая офигенно сжимает exe. Для примера: после написания мной проги она весила - 160кб, а псоле сжатия ASPack`ом - 33Кб. Почему бы не использовать её для сжатия exe?
PM ICQ   Вверх
Solomon
Дата 5.12.2006, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



rsm, Assembler рулит  smile 


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
rsm
Дата 5.12.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 4
Всего: 62



Цитата(Toohtik @  5.12.2006,  13:38 Найти цитируемый пост)
которая офигенно сжимает exe
Ты просто еще не видел в деле NsPack... smile

Цитата(Solomon @  5.12.2006,  13:40 Найти цитируемый пост)
 Assembler рулит
Когда как, иной раз на С писать удобнее и быстрее.

PM MAIL   Вверх
Toohtik
Дата 6.12.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 142
Регистрация: 30.1.2006
Где: Харьков

Репутация: нет
Всего: нет



Цитата

Ты просто еще не видел в деле NsPack... 

Действительно. Ту же прогу сжало до 25.7 кб:-)
PM ICQ   Вверх
neosapient
Дата 6.12.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: 3
Всего: 4



Цитата

Действительно. Ту же прогу сжало до 25.7 кб:-) 

А твоя прога Relese или Debug, а то во втором случае много лишнего имеется...
PM MAIL   Вверх
nerezus
  Дата 27.5.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



cl.exe /nologo /TC сырец.c  /link msvcrt.lib /ALIGN:32 /FIXED /MERGE:.rdata=.text /NODEFAULTLIB /MERGE:.data=.text /RELEASE /MACHINE:IX86 /ENTRY:main /out:прога.exe

;) около 600 байт для хеллоуорлдов.

При этом хеллоуорлд на Python'е - 700байт(да, скомпилил), но требует dll питона.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
jonie
Дата 27.5.2007, 14:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



Цитата

Ты просто еще не видел в деле NsPack... 
ну раз пошла такая пьянка то.. FSG тоже не плох (но на win2003 server проги такие не пашут изза настроек безопасности , равно как и с другими пакерами).


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Dem_max
Дата 27.5.2007, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



Цитата

Если еще и компилятор нормальный взять (врагу не пожелаю писать на чистом WinAPI в ВСВ), тогда размеры даже уравнять получится.


Не скажи я программирую в среде Borland C++ Builder, счас изучаю чистый WinAPI на нем, так вот готовый exe чистого окна весит 4 кБ.  (при этом секции выравниваются по 512 байт), так что не надо говорить что билдер плохой, все зависит от кривости рук. 

Цитата

Говорили мне, что Visual C++ но так он мне не нравится,


Мне он тоже не нравиться из-за трудности восприятия кода, возможно там и используется WinAPI, только вот синтаксис этого API изменен. Хотя в этом компиляторе можно использовать и стандартный синтаксис.


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
nerezus
Дата 27.5.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

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


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Любитель
Дата 28.5.2007, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Цитата(Dem_max @  27.5.2007,  18:04 Найти цитируемый пост)
Мне он тоже не нравиться из-за трудности восприятия кода, возможно там и используется WinAPI, только вот синтаксис этого API изменен.

WinAPI он и в Африке ВинАПИ это раз.
MS придумали ВинАПИ и тяжело сказать, что в ихнем компилер синтаксис ВинАПИ изменён 0 это два smile 

Цитата(nerezus)

Мне тебя жалко, если ты "хорошесть" компилятора считаешь по размеру получаемого бинарника

Угу.



--------------------
PM MAIL ICQ Skype   Вверх
Dem_max
Дата 28.5.2007, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



Мне вообще Fortran нравиться... и считает он лучше..


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
Toohtik
Дата 28.5.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 142
Регистрация: 30.1.2006
Где: Харьков

Репутация: нет
Всего: нет



Dem_max,  я слыхал что это язык для мат вычислений?
PM ICQ   Вверх
Dem_max
Дата 28.5.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



Я не слыхал, я даже на нем программировал.


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
dizzy1984
Дата 30.5.2007, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: нет
Всего: 25



Я не сравнивал программы сжатия екзешников по "крутизне", но регулярно пользуюсь тулзой UPX.
Побочным эфектом сжатия является то, что программа станет немного более устойчивой к взлому, т.к будет в запакованном виде.
Приятно греет душу то, что малолетние хакеры не смогут с наскока поломать код  smile 
PM MAIL   Вверх
nerezus
  Дата 30.5.2007, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



dizzy1984, даже я, как полный ноль в крякинге, могу снять всякие ваши фсг и прочие ;)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Любитель
Дата 2.6.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Цитата(dizzy1984 @  30.5.2007,  10:48 Найти цитируемый пост)
Я не сравнивал программы сжатия екзешников по "крутизне", но регулярно пользуюсь тулзой UPX.Побочным эфектом сжатия является то, что программа станет немного более устойчивой к взлому, т.к будет в запакованном виде.

Мдя, считать upx (в чистом виде - без всяких скрамблеров) защитой от взлома... Даже побочной... Как то странно.


--------------------
PM MAIL ICQ Skype   Вверх
W4FhLF
Дата 2.6.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 12
Всего: 121



Цитата(Любитель @  2.6.2007,  12:35 Найти цитируемый пост)
Мдя, считать upx (в чистом виде - без всяких скрамблеров) защитой от взлома... Даже побочной... Как то странно.


Скажу больше, сам же upx имеет опцию распаковки файлом сажтых им же smile 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Любитель
Дата 5.6.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Дык про то и речь. upx -d <file_name>.


--------------------
PM MAIL ICQ Skype   Вверх
jonie
Дата 5.6.2007, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



[off]
Цитата

dizzy1984, даже я, как полный ноль в крякинге, могу снять всякие ваши фсг и прочие ;)
как насчет последний версий Armadillo или ASProtect ?)
[/off]
и может хватит оффтопить...?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
progstone
Дата 9.8.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 9.8.2007

Репутация: нет
Всего: нет



Цитата

Alexandr87 
-Работа с дин памятью

Динамическая память и классы никуда не делись просто надо переопределить new и delete через VirtualAlloc
единственное что не надо использовать это статические глобальные экземпляры классов вместо них нужно использовать глобыльные указатели на классы и память выделять динамически
PM MAIL   Вверх
evkwarrior
Дата 22.11.2007, 09:05 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 15.3.2007

Репутация: 1
Всего: 1



Ребят, давайте перестанем спорить, какой компилятор лучше, а будем дальше сжимать екзешник!)))

Вот я, например, учился и до сих пор пишу на BCB6, давно хотел освоить VC7, но всё руки не доходят.
Если сравнивать только компиляторы, т.е., к примеру, bcc32.exe и ilink32, то, наверное билдер проиграет.
Но а если говорить об IDE и всех его наворотах?
Компоненты рулят, если уметь их использовать, потому что они очень глючные. 
Если вы не знаете, что в AnsiString нельзя хранить большие строки, если не знаете, что TImage мерцает, а TPaintBox нет, то вы всегда будете считать VCL и BCB гавном.
Таких нюансов очень много, поэтому ещё неизвестно, что сложнее - выучить API или компоненты.

Но вот, что я хотел добавить:
уменьшение размера EXE в BCB его же средствами:
- включаем "Use dynamic RTL"
- вкл. "Build with runtime packages"
- удаляем файлы формы
- удаляем файлы ресурсов
И прога с WinAPI-ным окошком будет занимать 11k (как кто-то получил 4k - я не понимаю...)
Включаем всё это, и прога весит около 500k (я проводил тестирование)
Опции компилятора, компоновщика, паскаля можно настроить в файле проекта (*.BPR), но не во внешнем редакторе (это бессмысленно), а выбрав Project->Edit Open Source.
Я почти всё перепробовал, но меньше файл не стал. В итоге вообще борланд перестал создавать екзешник))))
Почему-то в хелпе написано, что можно поиграться с опциями выравнивания компоновщика -Af:512 и -Ao:4096, и сделать их меньше, но на деле меньше сделать их нельзя!!!
Может, кто-нибудь знает, в чем проблема?

Потом я предпринял отчаянную попытку создать екзешник из командной строки.
bcc32 -c -O1 file1.cpp file2.cpp
ilink32 -aa -c -Gn -Af:512 -Ao:4096 file1.obj C0W32.OBJ  file2.obj, , ,IMPORT32.LIB CW32.LIB, ,
И получил екзешник размером в 50К, который работает!!!!)))) ( я был уже этому рад)
Без CW32.LIB, C0W32.OBJ (это наш враг - RTL) нифига не работает. Точнее, работает:
создается файл размером в 2К, у которого размер секции text = 0 )))))
Но создаётся))))
И, конечно, программа начинается со __startup, в неё добавляются всякие RTL-кие примочки и т.д. и т.п.
Вот. 
Может, кто-нибудь знает ещё что-то о компиляторе и линкере от Borland?
PM MAIL   Вверх
dumb
Дата 22.11.2007, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 27
Всего: 158



это, простите, бред. от начала и до конца.
PM MAIL   Вверх
nerezus
  Дата 22.11.2007, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

(как кто-то получил 4k - я не понимаю...)
 А я к примеру получил мешьше килобайта. И что с того?

Какая разница, какой размер, если он небольшой?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
evkwarrior
Дата 24.11.2007, 03:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 15.3.2007

Репутация: 1
Всего: 1



nerezus
Цитата

 А я к примеру получил мешьше килобайта. И что с того?

Я писал о BCB6.


dumb
Цитата

это, простите, бред. от начала и до конца.

Простите, что?
PM MAIL   Вверх
WM_SASHA
Дата 30.1.2008, 09:44 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 12.4.2007
Где: Узбекистан г.Ташк ент

Репутация: нет
Всего: нет



 а у меня получилась программа весом 848 байт.она в принципе ничего не делает: выводит текст на дисплее и тихо кончает. и всего 848 байт ля-ля-ля )))) 
PM MAIL   Вверх
dizzy1984
Дата 1.2.2008, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: нет
Всего: 25



Цитата(Любитель @  2.6.2007,  14:35 Найти цитируемый пост)
Мдя, считать upx (в чистом виде - без всяких скрамблеров) защитой от взлома... Даже побочной... Как то странно.

Ну я вот, к примеру, могу взломать незапакованный экзешник и ломал как минимум один коммерческий продукт, но мой дизасемблер w32dasm показывает кашу (запакованный код) в случае когда он упакован и я так слету не скажу что же сделать по этому поводу. Хотя делается это довольно просто, да и размер уменьшается. UPX имеет опцию распаковки, это я знаю, но 1) Еще надо как-то определить, что это upx 2) Другие упаковщики могут и не иметь опций распаковки.
PM MAIL   Вверх
MAKCim
Дата 1.2.2008, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Цитата(WM_SASHA @  30.1.2008,  09:44 Найти цитируемый пост)
а у меня получилась программа весом 848 байт.она в принципе ничего не делает: выводит текст на дисплее и тихо кончает. и всего 848 байт ля-ля-ля ))))  

ну а у меня есть рабочая программа 78 байт
и что?  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Любитель
Дата 1.2.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Цитата(dizzy1984 @  1.2.2008,  08:39 Найти цитируемый пост)
Хотя делается это довольно просто, да и размер уменьшается. UPX имеет опцию распаковки, это я знаю, но 1) Еще надо как-то определить, что это upx 2) Другие упаковщики могут и не иметь опций распаковки. 

Блин, а PeID и прочее зачем придуманы? smile Первый этап любого исследования, как говорится!  smile 


--------------------
PM MAIL ICQ Skype   Вверх
WM_SASHA
Дата 2.2.2008, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 12.4.2007
Где: Узбекистан г.Ташк ент

Репутация: нет
Всего: нет



Цитата(MAKCim @ 1.2.2008,  11:43)
ну а у меня есть рабочая программа 78 байт
и что?  smile

круто! как сделал? без упаковщика надеюсь?
PM MAIL   Вверх
GoldFinch
Дата 2.12.2008, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



Цитата(MAKCim @ 1.2.2008,  11:43)
ну а у меня есть рабочая программа 78 байт

гон. минимальный PE-файл - 97 байт
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.2536 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.