الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أصغر برنامج على الإطلاق مكتوب بدلفي

بدأه dj-siba في 24 مايو 2006 · 45 رد · 8,473 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

مار أيكم أن يشارك جميع الأعضاء بتحدي أصغر برنامج مكتوب بدلفي

ليس مهم ما يفعله البرنامج، المهم أن يكون باصغر حجم ممكن

هيا يا شباب

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#2

السلام عليكم

قبل الضغط ولا بعد, وكام فورم الحد الأدنى, ومع تضمين الملفات الأساسية لتشغيل ملف مصنوع على دلفي ولا بدون.

حدد أساسيات أولاً ;)

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

#3

بدون أي شرط،

بدون فورم لو أردت

يمكنك استعمال برامج الضغط

أو برامج Hex

أو أي أداة تريد

المهم برنامج دلفي و الملف التنفيذي بأقل حجم ممكن

ترفق الملف التنفيذي فقط هنا

و 3 فائزين يشرحون الطريقة المتبعة لتعم الفائدة الجميع

هيا شباب شاركونا

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#4

باستعمال الديلفي والديلفي فقط دون ضغط ولا أي شيئ يمكنك تحصل على برنامج حجمه 17kb بالديلفي 2006 و أظن ستكون أصغر إذا استعمل إصدار قديم مثل 7 أو 4

program Project1;

procedure ExitProcess(uExitCode: LongWord); stdcall; external 'kernel32.dll' name 'ExitProcess';
function MessageBoxA(hWnd: LongWord; lpText, lpCaption: PAnsiChar; uType: LongWord): Integer;
										   stdcall;  external 'user32.dll' name 'MessageBoxA';

var
  hello:pchar = 'Hello Arabe Team 2000'#10'is the small application in a delphi programming'#0;
  title:pchar = 'Little application in delphi'#0;

asm
  push  0
  push  title
  push  hello
  push  0
  call  MessageBoxA
  push  0
  call  ExitProcess
end.

من لديه ديلفي إصدارة 7 أو اللتي قبلها فل يجربها ويرينا حجم البرنامج

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#5

السلام عليكم

ON Delphi7

Size

is

14.0 KB :o

;)

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

#6

جيد جدا أخ ikosann

لكن الهدف هو الحصول أصغر حجم بإستخدام أي طريقة كانت

ضغط أو غيره، ولا يوجد أي شرط، المهم حجم صغير

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#7

مع إني مش مبرمج دلفي يعني غريب على أرضكم :D

و لكني أظن أنه لا يوجد تحدي في هذا الموضوع

أظن أنه من الأفضل أن تطرح فكرة معينة و يكون التنافس في إيجاد أصغر و أسرع كود قادر على حل المشكلة

#9

السلام عليكم ورحمة الله

شكرا أخي dj-siba على هذه الفكرة الظريفة... لكن أظن أن الفكرة لا تتحمل توسع أكثر بعد شفرة الأخ إيكوسان... ربما فقط ب 1 كيلوبايت كما حدث معي عندما ضغطت الملف الناتج عن ديلفي 7 (14 كيلو بايت) باستعمال برنامج ضغط الملفات aspack فنتج معي ملف حجمه 13 كيلوبايت...

لكن الفائدة في اعتقادي تكون أكبر إذا اتفقنا على برنامج معين بمواصفات محددة نقوم بإنجازه ونتعلم منه مثلا البرمجة دون استعمال مكتبة VCL أو دوال مختصرة أو الأسمبلي كما فعل إيكوسان أو أي طريقة أخرى...

انا أقترح برنامج حاسبة بسيط مثل calc.exe الذي يأتي مع windows فقط جزء الـ standard منه (يعني دون جزء scientific)...

السلام عليكم

بسم الله الرحمن الرحيم " وقل رب زدني علما"

#10

لا يفرق هل إستعملت Assembly أو سطرين من دوال Api windows في الحصول على ملف تنفيذي صغير الحجم.

النكتة كلها في توابع وإجرائيات مخفية يقوم ديلفي بتنصيبها داخل الملف التنفيذي أهمها دوال وإحرائيات System.pas و SysInit.pas

مثل :

procedure _InitExe(InitTable: Pointer);

procedure RegisterModule(LibModule: PLibModule);

procedure InitializeModule;

procedure _StartExe(InitTable: PackageInfo; Module: PLibModule);

procedure SetExceptionHandler;

procedure InitUnits;

...

..

.

فهما السبب في رفع الحجم من 1.5kb إلى 14kb او 17kb.

يمكنك إستعمال ملفات تعويضية ليست من أصل ديلفي لهذين الملفين.

هذه محاولة أخرى لكن تستدعي بادئ الأمر أن تنفذ في سطر الأوامر لأنها تستعمل ملفين معدلين عن الملفات الأصلية لديلفي وهما الملفين الرئيسيين:

SYSTEM.PAS و SysInit.pas

حصلت على ملف صغير 4kb عوض 17kb كما في المثال السابق.

في المرفق مثال كامل لتطبيق بواجهة مرئية تقوم بحساب BMI معامل السمنة :D .

أعتذر إذا لم أترجم العبارات من اللغة الفرنسية للإنجليزية.

في المثال الثاني لم أعدل الملفين System وSysInit و لكن قمت بالتعديل على ملفين أخريين هما SysUtils و windows. وألغيت إستدعاء الوحدة SysConst.

إستطعت تقليص الحجم هذه المرة من تطبيق ديلفي يستعمل VCL بحجم 380kb إلى تطبيق يستعمل windows API و بعض الإجرائيات الخاصة لديلفي مثل strTofloat أو format string. بحجم نهائي 28Kb.

لم أستعمل أية وسيلة ضغط فقط ديلفي وديلفي وحدها.

B)

littleapp.rar

Win32BMI.rar

تم تعديل هذه المشاركة بواسطة ikossan في 27 مايو 2006 في 15:09

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#11

السلام عليكم

هناك موضوع مشابه في قسم C/C++

حجم الملف كبير فى السى بلس بلس

اقتباس

01- Use a EXE-Packer (UPX, ASPack,...)

02- Use KOL.

03- Write your application without VCL

04- Use the ACL (API Controls Library)

05- Use StripReloc.

06- Deactivate remote debugging information and TD32.

07- You might want to put code in a dll.

08- Don't put the same images several times on a form. Load them at runtime.

09- Use compressed images (JPG and not BMP)

10- Store less properties in DFM files(See Link below "How To Make Your EXE's Lighter")

11- Use the TStringList replacement by ~LOM~Use the Minireg - TRegistry replacement by Ben Hochstrasser

من هذه الصفحة:

Reduce the application EXE size?

d4baa0.gif
#12

up!! up!!

أين dj-siba؟

نريد طريقة بالكود وليس فقط exe

#13

هنا يا أخي

الفكرة واضحة

كل عضو ينجز أصغر ملف تنفيذي يمكنه الحصول عليه

يمكن إستعمال كل الطرق، أي التحدي مفتوح

يرفق الملف التنفيذس فقط

و أحسن 3 مشاركين يشرحون كيف عملو ذلك

للأسف لم أرى أي مشاركة حتى الأن

كلا فقط، و محاولة تغغير الفكرة الأساسية

سلام

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#14

:lol: :lol:

هل المشاركات السابقة مكتوبة بالحبر السري!!؟

ارنا مشاركتك و أرفق محاولتك, الفكرة يجب أن تكون تعليمية وليس التحدي من أجل التحدي, فالتحدي مخالف لقوانين المنتدى.

فإذا كان الهدف هو نشر العلم والبحث فهو كذلك أما إذا كان تحديا فأنا أسحب كل مشاركاتي المكتوبة بالحبر السري. ;)

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#15

لا حبر سري و لا شيئ

مشاركاتك فيها ملفات مصدرية

ولا يوجد ملف تنفيذي

ليس تحدي بمعنى تحدي

و انما لرفع معنويات الشباب

الهدف علمي

لنرى كيف يفكر الجميع

نفيد ونستفيد

أرفق ملفك التنفيذي و سأرفق ملفي أيضا

و ا صحاب اصغر 3 ملفات

يرفقون الملفات المصدرية و كل الادوات المستعملة

ويشرحون كيف وصلو لاصخر حجم

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#16

اظن ان الأمر لا يحتاج لملف تنفيذي ولكن يحتاج للكود, ما دمنا نتناقش في منتدى للبرمجة وفي قسم مخصص لديلفي فلا أظن ان من سيشارك في هذا الموضوع لا يملك ديلفي( إصدارة من إصداراتها من ديلفي2 إلى ديلفي 2006). يمكنك القيام بتجميع الكود إلى ملف تنفيذي!!

فكما جاء في اول مشاركة أن الكود لما جمع بديلفي 2006 اعطى ملف تنفيذي 17kb وعند تجميعه بديلفي 7 كا حجمه 14kb.

اما الوسائل الخارجية كبرامج الضغط فلا تهم لأن الملف التنفيذي لا يضغط إلا إذا كان به مجموعة كبيرة من الموارد( كالمتسلسلات المحرفية resource string او صور jpeg او bmp او صوت و فيديو...).

إذا قمت بضغط ملف تنفيذي ليس فيه موارد فإنك لن تنقص من حجمه بل ستزيد فيه!

في إنتظار محاولاتك.

أو كما إقترح الإخوة نضع تطبيق كامل بلغة ديلفي يستعمل vcl ونقوم كل على حدة بالتعديل على الكود للتقليص من حجم الملف التنفيذي الأخير دون التعديل على الصورة النهائية الوضيفية للتطبيق الأولي. فالتقترح تطبيق بسيط كبرنامج لحل المعادلات من الدرجة الأولى أو الثانية... يكون النمودج

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#17

الملف المصدري سيطرح في النهاية

انظر للأمر من هذه الزاوية

عندما تكتب تطبيق فانك لا تعطي الملفات المصدرية

بل الملف التنفيذي فقط

ان كان ولا بد الا تفاق على شيئ يقوم به البرنامج

فما رايكم جميعا في برنامج به message فقط، وليكن كلمة arabteam2000

تم تعديل هذه المشاركة بواسطة dj-siba في 30 مايو 2006 في 16:14

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#18

هذه محاولتي بإستعمال ديلفي وديلفي فقط حصلت على برنامج تطبيقي يعرض رسالة hello arabteam2000 بحجم 3.5ko وإذا إزلت الموارد الإضافية من exe فنصل إلى 3ko.

في الملف المرفق ستجد: الكود البرمجي + الملف التنفيذي النهائي + ديلفي 6 . لن تحتاج لديلفي مثبث في حاسوبك فكل شيء في هذا المرفق :P

mini_app.rar

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#19

مثال آخر هذه المرة بواجهة مرئية: التطبيق بسيط يقوم بحساب القاسم المشترك الأكبر لعددين صحيحين PGCD أو ما يعرف بالإنجليزي ب GCD = Greatest Common Divisor.

إعتمدت في برمجته على windows API بدل VCL Library.

حجم البرنامج صغير 4,5Kb!!!

حظا موفقا B)

GCDWin32.rar

تم تعديل هذه المشاركة بواسطة ikossan في 31 مايو 2006 في 03:08

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#20

يا حبيبي شوهاد يا ايكوسان

كنت ناوي ادخل في المنافسة ولكن بعد البرامج التي وضعتها انا انسحبت :huh: :huh: :blink:

بالمصري: ابقى ورجينا عرض كتافك يا dj-siba هل عندك اصغر؟ :lol: :lol: :lol:

يبدو انّ المنافسة محسومة سلفا

نتظر رد الاخ dj-siba

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#21

يا أخي وائل الباب مازال مفتوحا, لأني لم أستعمل إلا ديلفي فقط. والأخ السائل أعطى كل الصلاحيات لإستعمال كل الوسائل للحصول على ملف صغير الحجم.

يعني يمكن إستعمال طرق أخرى قد تسهل تصغير الحجم أكثر من 3.5kb.

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#22

أخيرا مشاركة :)

كنت افضل لو لم يطرح الاخ ikossan الملفات المصدرية الان، بل عند النهاية

مشاركتي مرفقين، الأول بتعديل فقط

و الثاني الأول + ضغط = 700 فقط

طبعا السورس غير مرفق الان

سارفقه في النهاية مع الشرح

700 فقط

من يزيد ؟

2751b_exe.rar

700b_exe.rar

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#23
waeldalol كتب:
بالمصري: ابقى ورجينا عرض كتافك يا dj-siba هل عندك اصغر؟ :lol: :lol: :lol:

يبدو انّ المنافسة محسومة سلفا

نتظر رد الاخ dj-siba

ما هذا !

تحيز كبير لikossan :D هل لانه مشرف ؟

اين باقي الشباب

نريد مشاركات :P

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#24
waledalol كتب:
بالمصري: ابقى ورجينا عرض كتافك يا dj-siba هل عندك اصغر؟

هي بقولوها بالسوري معناها "اتفضل مع السلامة بلا مطرود" :^)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#25
dj-siba كتب:
أخيرا مشاركة :)

كنت افضل لو لم يطرح الاخ ikossan الملفات المصدرية الان، بل عند النهاية

مشاركتي مرفقين، الأول بتعديل فقط

و الثاني الأول + ضغط = 700 فقط

طبعا السورس غير مرفق الان

سارفقه في النهاية مع الشرح

700 فقط

من يزيد ؟

فعلا حجم صغير بعد التعديل!! كيف قمت بضغط 2.7kb إلى 700bytes فقط. متشوق وفي إنتظار معرفة ملف الضغط المستعمل؟

لأن أفضل برامج الضغط هي upx و aspack لا تتعدى كمعدل ضغط قصوي 70% من الملف الأصلي. لكن بالنسبة إليك وصلتا لنسبة ضغط 380%

أرجو أن لا تكون قمت بعملية hack وتعديل جدري على بنية PE وباقي segments code أو data .

هناك موضوع مشابه مفتوح في قسم C++ قدم فيه الأخ delta ملف تنفيذي صغير جدا:برنامج صغير538bytes يعمل فقط في .Wind0ws XP

dj-siba كتب:
ما هذا !

تحيز كبير لikossan :D هل لانه مشرف ؟

اين باقي الشباب

نريد مشاركات :P

أرجو أن لا يأخذ على أنه تحيز, ولا دخل للإشراف في هذا فليس بعهد بعيد كنت عضوا وما أزال. ما الإشراف إلا خدمة للأعضاء وليست شرفا أتطاول به ;) .

فخادم القوم سيدهم.

في إنتظار المزيد, أما أنا فقط وضعت سلاحي :lol:

__________________________________________________

lملاحظة: الملف الثانتي المضغوط تعرف عليه برنامج مضاد للفيروسات على أنه مصاب بفيروس: win32.p2p.small.d.dr

تم تعديل هذه المشاركة بواسطة ikossan في 31 مايو 2006 في 22:06

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

مواضيع مشابهة