رفتن به مطلب
بازگشایی انجمن! ×
GuardIran

Reza.Black

کاربر تازه‌وارد
  • ارسال ها

    92
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    16

فعالیت های امتیازی

  1. Thanks
    Reza.Black از 3od4y یک واکنش گرفت در جارو کردن شبکه   
    به نام خدای بزرگ
    با سلام
    این اصطلاح به طور خلاصه یعنی کشف آی پی های زنده در شبکه و تفکیک اون ها.
    که معمولا از طریق دستور ping و ارسال پکت های موسوم به icmp صورت می گیره.
    البته خیلی از فایروال ها این نوع پکت ها رو فریز می کنن.
    یک اسکریپت ساده به زبان پایتون تهیه کردم که می تونه مفید باشه.
     

    This is the hidden content, please ورود یا ثبت نام  
     

    This is the hidden content, please ورود یا ثبت نام
  2. Thanks
    Reza.Black از johnjones یک واکنش گرفت در شناسایی متدهای http با موتور اسکریپت نویسی انمپ   
    به نام خدا
    با سلام
    وقتی که درخواستی از کلاینت به سرور ارسال میشه باید سرور از نحوه ی کاری که باید انجام بشه توسط کلاینت آگاه باشه.
    و متد ها در واقع تعیین می کنند که داده ها چطور باید انتقال پیدا کنن.
    برای مثال متد معروفی مثل GET داده رو از طریق URL به اپلیکیشن وب سرور ارسال می کنه که از نظر امنیتی خیلی جالب نیست.
    ما چندین متد داریم مثل :
    GET, POST, HEAD, TRACE, OPTIONS, DELETE, PUT
    که هر کدوم تعریف خاص خودشون رو دارن.
    و ما می تونیم با استفاده از موتور اسکریپت نویسی قدرتمند انمپ پی به این موضوع ببریم.
    که من بر روی OWASP یه تست ساده انجام دادم.
     

    This is the hidden content, please ورود یا ثبت نام  
    و اینکه من در تست و نفوذ وب خیلی فعال نیستم.
    اگه دوستان اطلاعات کاملتر و بهتری دارن می تونن تاپیک رو کامل کنن.
    موفق باشید.
  3. Like
    Reza.Black از Balcon یک واکنش گرفت در آسیب پذیری Rfi و Lfi   
    به نام خدای بزرگ
    سلام
    این دو آسیب پذیری شباهت ها و البته تفاوت هایی نسبت به هم دارن.
    سعی کردم که یک ویدیوی خوب در این زمینه تهیه کنم که کاربردی باشه.
    خود ویدیو گویای همه چیز هست و احتیاج به توضیحات اضافه نداره.
     
     

    This is the hidden content, please ورود یا ثبت نام
  4. Thanks
    Reza.Black از johnjones یک واکنش گرفت در ابزار Raven   
    به نام خدا 
    با سلام خدمت دوستان
    قبلا یه ابزار در مورد حملات Dos برای انجمن گارد ایران تهیه کرده بودم.
    ولی اشکالاتی داشت و اون رو دوباره بازنویسی کردم با یه اسم متفاوت.
    سعی کردم که این هم سبک تر باشه و هم سریع تر.
    یه ویدیوی آموزشی هم در کنارش قرار دادم.
    (این ابزار فقط جنبه ی تستی داره و نه عملیاتی)
    موفق باشید.
     
     

    This is the hidden content, please ورود یا ثبت نام
  5. Like
    Reza.Black از johnjones یک واکنش گرفت در ابزار Raven   
    سلام
    کجاش مشکل داره؟
    این که داره کار می کنه.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
  6. Like
    Reza.Black از johnjones یک واکنش گرفت در ابزار Raven   
    سلام
    نمی دونم مشکل کار از کجاست.
    اگه بقیه ی دوستان هم این مشکل رو دارن حتما به من بگن.
    سعی می کنم که ابزار رو دوباره باز نویسی کنم و باگ های احتمالی رو رفع کنم.
    موفق باشید.
  7. Thanks
    Reza.Black از johnjones یک واکنش گرفت در ابزار Raven   
    با سلام
    دوباره ابزار رو از نو بازنویسی کردم.
    امیدوارم که مشکل حل شده باشه.
     

    This is the hidden content, please ورود یا ثبت نام  
     

    This is the hidden content, please ورود یا ثبت نام
  8. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    به نام خدای بزرگ
    با سلام
     

    This is the hidden content, please ورود یا ثبت نام  
    خیلی وقت بود که قصد داشتم یک تاپیک جامع ایجاد کنم.
    البته بین C و python دو دل بودم که در نهایت تصمیم گرفتم که C رو آموزش بدم.
    در این تاپیک با پایه های این زبان به خوبی آشنا میشید و گام محکمی برای مفاهیم پیچیده تر این زبان بر می دارید.
    مخاطب این تاپیک همگان هستن به خصوص افرادی که قصد دارن برنامه نویسی رو شروع کنن چه خوب هست که مفاهیم رو از دریچه ی C نگاه کنن.
    به هر حال یادگیری این زبان به ویژه در مباحث مربوط به هک یک اصل محسوب میشه.
     
    این هم لیست عناوین :
    آشنایی با ساختار کلی زبان C
    آشنایی با متغیرها و ثوابت
    ورودی و خروجی استاندارد
    آشنایی با عملگرها
    دستور شرطی switch و if
    حلقه ی تکرار for و while
    توابع
    آرایه ها
    اشاره گرها
    کار با رشته ها
    ساختارها
     
    فکر می کنم که یکی از تاپیک های خوب در این زمینه باشه و دارای نکات فنی خوبی هم باشه.
    این تاپیک به مرور زمان کامل میشه.
    فعلا یا علی
  9. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    زبان C در اوایل دهه ی 1970 توسط Thompson و Ritchie ابداع شد.
    این زبان ارتباط بسیار نزدیکی با سیستم عامل یونیکس داره چون هر دو به صورت همزمان در طول زمان تکامل پیدا کردند.
    زبان C یک زبان میانی هست یعنی هم به زبان محاوره ای ما و هم به زبان ماشین نزدیک هست و برای اجرا احتیاج به کامپایل داره.
    (فرایند ترجمه ی کد به زبان ماشین رو کامپایل میگن)
    من در این آموزش از سیستم عامل کالی لینوکس و ویرایشگر متن nano استفاده می کنم و برای کامپایل برنامه ها هم از gcc که به صورت پیش فرض نصب هست.
     
    {ساختار کلی زبان C}
    به این برنامه ی ساده دقت کنید.
     

    This is the hidden content, please ورود یا ثبت نام  
    این ساده ترین برنامه به زبان C هست که فقط عبارت in the name of God رو برای ما چاپ می کنه.
    خط اول مربوط به پیش پردازنده هست در واقع برای وارد کردن فایل های هدر کتابخونه ای.
    ()main تابع اصلی ما هست و نقطه ی ورود ما به برنامه محسوب میشه.
    تابع ()printf برای چاپ پیام هست.
    و n\ یک کاراکتر کنترلی هست که رفتار عادی یک دستور رو تغییر میده و در اینجا به معنی خط جدید هست.
    ;0 return همون نتیجه ی ما هست که از جنس عدد صحیح هست به خاطر جنس خود تابع int main
    و 0 به معنای موفقیت هست.
    تمام دستورات C به ; ختم میشن
    خوب برنامه رو کامپایل و اجرا می کنیم.
     

    This is the hidden content, please ورود یا ثبت نام  
    برای کامنت های تک خطی هم از // استفاده می کنیم که برای نمایش توضیحات در کد به کار میره و می تونه خیلی مفید باشه.
     

    This is the hidden content, please ورود یا ثبت نام  
  10. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {آشنایی با متغیر ها و ثوابت}
    متغیر در واقع بخشی از حافظه هست که ما مقداری رو در داخل اون قرار میدیم.
    و این مقدار می تونه دستخوش تغییر بشه در طول اجرای برنامه
    برای مثال دریافت نام یک کاربر و یا ضرب دو عدد همه ی این مقادیر باید در داخل متغیرها قرار بگیرن.
    در زبان C یک متغیر با نوع و نام و مقدار در رابطه هست و از این نظر بسیار سخت گیر هست.
    برای تعریف یک متغیر در زبان C به این شکل عمل می کنیم.
     

    This is the hidden content, please ورود یا ثبت نام  
    که متغیر age از نوع عدد صحیح با مقدار 25 هست انواع دیگر از متغیرها نیز وجود داره 
    مثل float برای اعداد اعشاری و یا char برای نوع کاراکتری
    برای نامگذاری متغیرها از حروف بزرگ و کوچک استفاده می کنیم و همین طور اعداد ولی به شرطی که عدد در ابتدای نام نباشه.
     
    ثابت : قوانین نامگذاری ثابت هم مثل متغیر هاست با این تفاوت که نمیشه مقدار اون رو تغییر دادو این هم باعث افزایش کارایی و هم امنیت میشه.
    برای تعریف یک ثابت از کلمه ی کلیدی const استفاده می کنیم البته روش های دیگه ای هم وجود داره.
     

    This is the hidden content, please ورود یا ثبت نام  
  11. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {ورودی و خروجی استاندارد}
    زمانی که از ورودی و خروجی استاندارد صحبت می کنم در واقع اشاره می کنم به کنترل جریان ورودی و خروجی
    که معمولا ورودی مربوط میشه به صفحه کلید و خروجی به مانیتور (کاری به خطای استاندارد ندارم)
    ساده ترین دستور برای خروجی و چاپ پیام دستور printf هست که یک عبارتی رو برای ما چاپ می کنه.مثل برنامه ی اولی که نوشتیم.
    ما با متغیر ها آشنا شدیم و برای چاپ مقدار اون ها می تونیم از این دستور یا بهتر بگم تابع استفاده کنیم.
    ولی باید از پارامتر فرمت که نشون دهنده ی نوع متغیر و همین طور نام متغیر در انتها استفاده کنیم که متناظر هم باشن.
    معروف ترین پارامترهای فرمت در زبان C
    d% برای اعداد صحیح
    f% برای اعداد با ممیز شناور
    c% برای کاراکترها 
    s% برای رشته ها
    این هم یک مثال ساده :
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    ولی این یک برنامه ی یک طرفه هست و تعاملی با کاربر نداره و برای این کار باید از ورودی استاندارد استفاده کنیم.
    منظورم تابع معروف scanf هست این طوری می تونیم یک رابط کاربری ایجاد کنیم.
    این تابع اشاره به آدرس متغیر در حافظه داره این نکته رو یاد داشته باشید که موقع نوشتن یک متغیر باید به آدرس اون اشاره کنیم.
    البته با اشاره گرها اشتباه نشه 
    و همین طور نوع متغیر این که از چه جنسی هست.
    یه مثال دیگه :
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
  12. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {آشنایی با عملگرها}
    ما با استفاده از عملگرها و یا اپراتورها می تونیم اعمالی رو بر روی داده ها انجام بدیم.
    و چندین نوع عملگر مختلف در C وجود داره که مهم هاش رو توضیح میدم.
    عملگرهای محاسباتی که برای انجام اعمال محاسباتی مثل ضرب و تقسیم و ... به کار میرن.
     

    This is the hidden content, please ورود یا ثبت نام  
    عملگرهای مقایسه ای که برای مقایسه ی مقادیر مثل کوچکتر و بزرگتر مساوی و عدم تساوی و ... کاربرد دارن.
     

    This is the hidden content, please ورود یا ثبت نام  
    و همین طور عملگر های منطقی.
     

    This is the hidden content, please ورود یا ثبت نام  
    فعلا کاری با این ها نداریم همین که سطحی هم بشناسید اون ها رو کافی هست.
     
    عملگر مهم sizeof 
    این عملگر برای تعیین طول یک متغیر به کار میره و در معماری های گوناگون سیستم می تونه متفاوت باشه.
    برای مثال من می خوام بدونم که طول متغیر از نوع int که تعریف کردم چقدر هست.
    دقت کنید.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    بله معمولا عددصحیح 4 بایت هست.
  13. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {دستور شرطی switch و if}
    ساده ترین دستور شرطی if هست که با استفاده از اون ما می تونیم جهت جریان یک برنامه رو کنترل کنیم.
    فرض کنید که ما درون یک چهارراه قرار داریم و این که باید کدوم مسیر رو انتخاب کنیم. دستور if هم به این شکل هست.
    دستور if همیشه دارای یک شرط هست که در داخل پرانتز قرار می گیره این شرط می تونه مثبت و یا منفی باشه.
    اگه شرط ما درست باشه دستوراتی برای ما اجرا میشن.
    برای مثال من یک متغیر ست کردم و یک شرط ساده تعیین می کنم و اگه شرط من درست بود عبارتی برای من چاپ بشه.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    من می تونم چند شرط چند خطی با else if و همین طور یک else تنها در انتها برای عدم صحت شرط خودم تعیین کنم.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    دستور switch
    اگه تعداد زیادی دستور else و if داشته باشم بهتر هست که از switch استفاده کنم.
    این طوری می تونم به طور متمرکز بر روی یک متغیر کار کنم و خوانایی برنامه هم افزایش پیدا می کنه.
    درون دستور switch ما کیس های مختلفی (شرط) های گوناگونی داریم.
    البته در پایان هر کیس باید از کلمه ی کلیدی break استفاده کنیم تا کیس های بعدی اجرا نشن.
    بهتر هست یک کیس default هم در نظر بگیریم تا یک شرط پیش فرض هم داشته باشیم.
    این هم یک مثال ساده.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
  14. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {حلقه ی تکرار for و while}
    یکی از اصلی ترین مفاهیم در برنامه نویسی تکرارها هستند.
    و ما در زبان C با دستورات for و while سر و کار داریم که همانند دستور if دارای یک شرط هستند.
    و اینجا اگه شرط ما درست بود یکسری کار ها برای ما تکرار میشن.
    معمولا زمانی از حلقه ی while استفاده می کنیم که شرط ما مشخص نیست که کی به پایان میرسه.
    و یک کانتر برای کنترل حلقه و یا آپدیت اون به کار می بریم که می تونه هم کاهشی باشه و هم افزایشی.
    این هم یه مثال ساده :
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    حلقه ی for 
    زمانی که ما از شرط خاتمه آگاه هستیم می تونیم از حلقه ی for استفاده کنیم.
    هر چند که این دو حلقه همدیگر رو به خوبی پوشش میدن.
    ولی فرق حلقه ی for این هست که مقدار دهی اولیه و شرط و همین طور آپدیت همگی در یکجا قرار دارن.
    و این کنترل روی مقادیر رو افزایش میده و دستورات داخل پرانتز رو با ; از هم جدا می کنیم.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام
  15. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {توابع}
    یکی از بلوک های اصلی برنامه نویسی توابع هستن و بدون اون ها واقعا برخی از برنامه ها دچار مشکل میشن.
    مثلا اگه قرار بود تابعی مثل scanf رو دستی بنویسیم واقعا چقدر دچار مشکل میشدیم و توابع کار رو برای ما آسون کردن.
    توابع برنامه ها رو ساده تر و خواناتر و قابلیت انعطاف به اون ها بخشیدن.
    یک تابع حاوی بدنه هست که در واقع یکسری دستورات هست.
    یک تابع می تونه یک یا چند آرگومان داشته باشه و برای اشاره به یک تابع به نام اون اشاره می کنیم.
    برای مثال من می خوام یک تابع بنویسم که یک عدد رو دو برابر کنه و در خروجی به من نشون بده.
    اسم تابع من multi هست.
    دقت کنید.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
  16. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {آرایه ها}
    یکی از مهم ترین بخش های یک برنامه آرایه ها هستن.
    آرایه ها در واقع مجموعه ای از داده ها هستن که در قالب یک اسم ذخیره میشن و البته با نوع یکسان.
    برای دسترسی به مقادیر یک آرایه از اندیس ها استفاده می کنیم این اندیس ها zero base هستن یعنی از صفر شروع میشن و تا n-1 ادامه دارن.
    برای تخصیص یک آرایه از براکت استفاده می کنیم [ ]
    مثل :
     

    This is the hidden content, please ورود یا ثبت نام  
    که پنج خونه از حافظه رو در واقع برای مقادیر خودم تخصیص میدم.
    و برای مقدار دهی اون ها
     

    This is the hidden content, please ورود یا ثبت نام  
    خوب ما می خواهیم یک سری فیبوناچی رو با استفاده از آرایه ها ایجاد کنیم.
    سری فیبوناچی در واقع هر جمله مجموع دو جمله ی قبل هست.
    8 5 3 2 1 1 0
    اول خود آرایه با اندیس دلخواه رو تعیین می کنیم مثلا 10 تا عدد
    مقدار دهی اولیه بر روی اندیس های صفر و یک برای شروع سری
    با یک حلقه ی for بر روی جملات حرکت می کنیم.
    از دو شروع می کنیم تا n-1 چون اندیس ها از صفر شروع میشن.
    و یکی به هرحال در انتها کم میشه
    یک حلقه ی for دیگه هم برای چاپ پیام با این شباهت که از الگوی یکسان استفاده می کنیم.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    عالیه.
  17. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {اشاره گر ها}
    یکی از ویژگی های قدرتمند زبان C اشاره گرها یا pointers هستن.
    اشاره گرها در واقع یک ابزار قدرتمند برای کار با حافظه هستن و با استفاده از اون ها ما می تونیم مستقیم با حافظه کار کنیم.
    و راندمان رو افزایش بدیم و یکی از اشکالات برخی از برنامه نویس های داخلی همین درک درست اشاره گرها هست.
    چون با درک اون ها ما تا حدود زیادی می تونیم به علم برنامه نویسی مسلط بشیم.
    البته پیش نیاز درک . در واقع درک خود حافظه و اجزای اون هست.
    وقتی که صحبت از اشاره گرها می کنم دارم به محل ذخیره سازی متغیر ها و داده ها در حافظه اشاره می کنم.
    بالاخره هر خونه از حافظه دارای یک شماره و یا اندیس هستش.
    این شماره همون آدرس ما هست.
    برای نشون دادن آدرس داده ها از عملگر & و برای نشون دادن یک اشاره گر از کاراکتر * استفاده می کنیم.
    مثل :
     

    This is the hidden content, please ورود یا ثبت نام  
    که به آدرس متغیر age اشاره می کنم و نه خود متغیر ok
    و با اشاره به آدرس می تونم تغییرات خودم رو هر جور که دوست دارم اعمال کنم.
    مثل :
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    و این واقعا عالیه مگه نه؟
  18. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {کار با رشته ها}
    رشته ها در واقع آرایه ای هستند از کاراکترها و خو کاراکترها یک نوع داده ی عددی هستن این نکته رو لازم بود که بگم.
    و برای تعریف یک رشته به این شکل عمل می کنیم.
     

    This is the hidden content, please ورود یا ثبت نام  
    البته در انتهای رشته ی ما یک کاراکتر نال وجود داره که انتهای رشته ی ما رو تعیین می کنه 0\
    آرایه ها می تونن به طور معادل با رشته ها هم توصیف بشن و در واقع اشاره گر به کاراکتر همون رشته هست.
     

    This is the hidden content, please ورود یا ثبت نام  
    دقت کنید که از ترکیب داده ی char هست که رشته ها ایجاد میشن.
    برای دریافت یک رشته از ورودی هم به این شکل عمل می کنیم.
    ابتدا طول کاراکتری رو تعیین میکنیم که میتونه دینامیکی هم باشه.
    با دستور scanf ورودی رو دریافت می کنیم و از دادن آدرس امتناع می کنیم چون خودش رفتاری شبیه به اشاره گر به کاراکتر داره.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    البته این کد ناامن هست و باعث overflow در حافظه میشه و برای امن کردنش باید طول رو مشخص کنیم.
    (اگه شد یک تاپیک درباره ی حملات overflow و همین طور جلوگیری از اون ها در انجمن ایجاد می کنم.)
     
  19. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {کتابخونه ی string.h}
    این کتابخونه به طور اختصاصی برای کار با رشته ها تعیین شده.
    و اول باید اون رو در قسمت هدر کد include کنیم <include  <string.h#
    و درون اون توابعی برای کپی و الحاق و مقایسه و همین طور بدست آوردن طول رشته ها وجود داره.
    که چند تا مهم هاش رو توضیح میدم.
    تابع strcpy که برای کپی کردن رشته ها به کار میره و ترتیبش به این شکل هست که سورس رو در مقصد و مقصد رو در خروجی قرار میده.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    تابع strcat که برای الحاق رشته ها به کار میره.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    و همین طور برای بدست آوردن طول یک رشته از تابع strlen استفاده می کنیم.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
  20. Like
    Reza.Black از johnjones یک واکنش گرفت در آموزش برنامه نویسی C   
    {ساختارها}
    ساختارها در واقع نوعی از ساختمان داده هستن.
    و پایه ی برنامه نویسی شی گرا رو ایجاد می کنن و درک اون ها خیلی می تونه به حل اون مفاهیم کمک کنه.
    ساختارها مثل آرایه ها داده ها رو در یک جا جمع می کنن ولی با مقادیر مختلف و این اصلی ترین تفاوت آرایه با ساختار هست.
    اگه یادتون باشه در آرایه ها ما به اندیس ها اشاره می کردیم ولی در ساختارها به نام.
    برای تعریف یک ساختار به این شیوه عمل می کنیم :
    مثلا برای ذخیره ی اطلاعات یک فرد اول سن و بعد نام و همین طور نام خانوادگی .
    این سه ویژگی هست و موجودیت یک فرد شامل این سه ویژگی هستش.
    اول کلمه ی کلیدی struct رو داریم و بعد یک نام که می تونه هر چیزی باشه و داخل بلوک ویژگی ها رو تعریف می کنیم.
    ولی هنوز مقداری برای ویژگی ها و اعضای داخلی ست نشده از عملگر . استفاده می کنیم که مقداری رو در هر زیر مجموعه قرار میده.
    البته راههای دیگه ای هم وجود داره.
    این هم یک مثال ساده :
    دقت کنید :
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
    بالاخره تموم شد.
    در پایان :
    زبان C واقعا یک زبان قدرتمند هست که در علوم کامپیوتری مثل مهندسی و مباحث مربوط به هک و همین طور مقاصد آموزشی بسیار مهم هست.
    صد البته این آموزش کامل نبود و قطعا دارای نواقصی بود.
    ولی با وجود تمام مشکلاتی که داشتم سعی خودم رو کردم که تاپیک خوبی باشه و دور هم یه چیزی یاد گرفته باشیم.
    نکته ی اصلی این هست که اصلا مهم نیست که شما سال ها در این زمینه مشغول هستید و یا همین امروز وارد دنیای هک شدید.
    مهم تلاش شماست و این رمز پیروزی و موفقیت هست.
    پس امیدوارم که همیشه موفق باشید.
    با احترام Reza.Black
    یا علی
  21. Thanks
    Reza.Black از johnjones یک واکنش گرفت در ساخت برنامه ی ساده !Hello, world با اسمبلی در لینوکس   
    به نام خدای بزرگ
    با سلام خدمت اساتید
    ما در کنار دستورات اسمبلی یکسری تابع تحت عنوان فراخوانی سیستمی یا system call داریم که توسط این دو می تونیم با اسمبلی کد بزنیم.
    من از کالی استفاده می کنم و اگه یادم باشه لیست این فراخوان ها در مسیر زیر هست.
    usr/include/asm-generic/unistd.h/
    ما قصد داریم عبارت !Hello, world رو بر روی صفحه چاپ کنیم.
    پس به دو تابع از فراخوان های سیستمی یعنی ()write برای نوشتن و ()exit برای خروج از برنامه احتیاج داریم.
    با سه آرگومان کار داریم اولی که یک توصیفگر فایل هست که دارای مقدار صحیح 1 هست برای چاپ پیام بر روی صفحه که همون خروجی استاندارد هست.
    آرگومان بعدی یک اشاره گر به بافر کاراکتری هست که خود رشته ی ما هست و آخرین آرگومان هم نشون دهنده ی طول رشته ی ما هست.
    از ثبات های EAX, EBX, ECX, EDX می تونیم برای تعیین تابع و آرگومان های مورد نظرمون استفاده کنیم.
    و برای فراخوانی تابع هم از وقفه ها کمک می گیریم مثل وقفه ی int 0x80 برای فراخوانی هسته مربوط به کرنل.
    رشته ی مورد نظر ما بر روی سگمنت داده وجود داره و کدهای ما بر روی قطعه ی کد در مکانی از حافظه.
    فراخوان سیستم تابع ()write شماره ی 4 هست پس این مقدار رو در ثبات EAX قرار میدیم و بعد مقدار 1 رو در EBX چون اولین آرگومان یک عدد صحیح بود.
    آدرس رشته در ثبات ECX و در نهایت طول رشته که 14 بایت هست در ثبات EDX قرار میدیم.
    بعد از اجرای وقفه ی مورد نظر تابع ()write به درستی فراخوانی میشه.
    اما برای خروج صحیح از برنامه باید به تابع ()exit رجوع کنیم فراخوان سیستم این تابع برابر با 1 هست و این مقدار رو در ثبات EAX قرار میدیم.
    این تابع یک آرگومان مخصوص برابر با صفر رو قبول می کنه به معنای موفقیت و این مقدار رو در ثبات EBX قرار می دیم و بعد وقفه بار دیگه تابع دوم ما رو اجرا می کنه.
    برای ایجاد یک فایل باینری قابل اجرا در لینوکس باید کد رو اسمبل و بعد لینک کنیم که به صورت برنامه ی باینری تحت عنوان ELF کافی هستش.
    فایل های مربوطه رو هم قرار دادم.
     

    This is the hidden content, please ورود یا ثبت نام  

    This is the hidden content, please ورود یا ثبت نام  
     

    This is the hidden content, please ورود یا ثبت نام
  22. Confused
    Reza.Black از johnjones یک واکنش گرفت در آشنایی با چند مفهوم ساده در توسعه ی اکسپلویت ها   
    فقط مونده بود یه مردیکه ی گراز تکلیف ما رو مشخص کنه.
     
  23. Thanks
    Reza.Black از johnjones یک واکنش گرفت در کدام یک بهتر است دوره PWK یا CEH   
    سلام
    هر دوی این دوره ها خوب و لازم هستن.
    ولی فکر می کنم که دوره ی pwk مزایای بهتری داره چون که بخش زیادی از اون به صورت عملی هست.
    البته این نظر من هست و هر دوره ایی یه سری مزایا و معایب خودش رو داره.
  24. Thanks
    Reza.Black از johnjones یک واکنش گرفت در تفاوت های RDP Login و Interactive Login و Network Login و Service Login ؟   
    یا علی.
  25. Thanks
    Reza.Black از johnjones یک واکنش گرفت در شنود شبکه با ابزار Tcpdump   
    به نام خدا
    با سلام
    ابزار tcpdump برای آنالیز و تحلیل داده ها و نیز ترافیک شبکه مورد استفاده قرار می گیره.
    با tcpdump میشه بسته های شبکه رو با دقت بررسی کرد.وبخش های هدر و تریلر و خود محتوای بسته ها رو ازهم تفکیک کرد.
    چه به صورت اسکی و چه به صورت هگز
    البته با این ابزار میشه کارهای زیادی رو انجام داد. به خصوص اگه در لبه ی شبکه قرار بگیره که خیلی خوبه.
    ابزارهای گرافیکی هم مثل وایرشارک وجود داره که من خیلی باهاش کار نکردم ولی اون هم خوبه.
    ولی شخصا ابزارهای خط فرمانی رو ترجیح میدم.(این یه نظر شخصیه)
     
    پسورد فایل ها  guardiran.org

    This is the hidden content, please ورود یا ثبت نام
    This is the hidden content, please ورود یا ثبت نام
×
×
  • ایجاد مورد جدید...