السلام عليكم ورحمة الله تعالى وبركاته
الطريقة التي سنتكلم عنها لا تعني اننا لن نستدعي الدالة main بل عكس دالك سنقوم باستدعائها لكن بطريقة غير مباشرة :happy:
اولا لنرى الكود :
#include <stdio.h>
#define decode(s,t,u,m,p,e,d) m##s##u##t
#define begin decode(a,n,i,m,a,t,e)
int begin()
{
printf(" ArabTeam2000 ");
return 0;
}طبعا استعمالنا الـDirective #define لتحقيق الخدعة ( ان صح التعبير :P )
#define decode(s,t,u,m,p,e,d) m##s##u##t
في هدا السطر نعلم المترجم بان يدمج لنا ( بالترتيب ) الحروف حسب مواقعها : الرابع ، الاول ، التالت ، التاني
الان الامر واضح فادا عملنا Decode للـ(a,n,i,m,a,t,e) ستنتج الكلمة main :P
int begin()
سيعوض begin بـmain
طريقة بسيطة يمكن استعمالها في تحقيق امور اخرى اشهرها Obfuscated Code

