Funktionen aus DLL laden?
-
Dann heist das Zauberwort: EXE packer.
FSG packer ist freeware und richtig gut bei asm und cpp stuff. Einfach mal testen, das kommt man auch unter 1kb w32 exe

-
Schau mal auf meine Webseite unter Dll
http://members.inode.at/anton.zechner/az/index.html
PS: MessageBox gibt es nicht, sondern nur MessageBoxA bzw. MessageBoxW für Unicode !!!
-
Dann heist das Zauberwort: EXE packer.
FSG packer ist freeware und richtig gut bei asm und cpp stuff. Einfach mal testen, das kommt man auch unter 1kb w32 exe
Packer bringen bei 6KB-EXE nichts mehr - irgendwo müssen die ja auch ihre Entpackroutine installieren und die belegt mehr als so ein Packer wieder wett machen kann.Übrigens ist die 1-KB Exe nicht gepackt, enthält aber nur eine "bin eine kleine EXE" Meldung. Man könnte rein theoretisch noch etwas mehr rausholen wenn man am PE Header rumwurstelt, es ist dann aber nicht mehr gewährleistet dass die EXE auf jedem 32-bit windows läuft.
http://217.160.247.193/index.php?topic=14782.0
http://217.160.247.193/index.php?topic=3402.0
-
Ich wette mit FSG holst du noch was raus, schau ich hab den test gemacht:
#include <small.h> //linker setup #include <windows.h> int main() { MessageBox(0, "kleine anwendung", "test", 0); return 0; }Ungepackte EXE: 1024 bytes
Mit FSG gepackt: 733 bytes :: und immer noch ausführbar ohne probleme
-
Hi,
gibt es irgendwo eine Liste über alle Möglichkeiten eine TinyExe zu erstellen? Meine ist im Releasemodus mit aktivierten optimierung leider 250 KB groß

-
-
th1rte3n schrieb:
Ich wette mit FSG holst du noch was raus, schau ich hab den test gemacht:
#include <small.h> //linker setup #include <windows.h> int main() { MessageBox(0, "kleine anwendung", "test", 0); return 0; }Ungepackte EXE: 1024 bytes
Mit FSG gepackt: 733 bytes :: und immer noch ausführbar ohne problemewas issn <small.h>? Die hab ich in meinem VC++7 nicht?
-
Ja, hab ich als header datei im include ordner hinzugefügt, hier der code:
small.h
#pragma comment(linker,"/ENTRY:main") #pragma comment(linker,"/MERGE:.rdata=.data") #pragma comment(linker,"/MERGE:.text=.data") #pragma comment(lib,"msvcrt.lib") #if (_MSC_VER < 1300) #pragma comment(linker,"/IGNORE:4078") #pragma comment(linker,"/OPT:NOWIN98") #endif #define WIN32_LEAN_AND_MEAN
-
Frage, wenn ich eine Win32-Application erstelle und
das hier:
#pragma comment(linker,"/ENTRY:main")durch
#pragma comment(linker,"/ENTRY:WinMain")ersetze erscheint das Programmfenster nicht?

Was mach ich falsch?
-
Das brauchst du doch nicht zu ändern, weil es schon standart ist WinMain()
Einfach rausnehmen und wie gehabt WinMain verwenden...