نوشتارهای تگ: .net

دیباگ کردن اسمبلی‌های دات نتی بدون داشتن سورس کد

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 3 دقیقه

امروز مساله‌ای برام پیش اومده بود که باید برنامه‌ای دات نتی رو علاوه بر دیکامپایل، دیباگ هم کنم. خب با استفاده از برنامه‌هایی مثل JetBrains dotPeek یا RedGate .NET Reflector میشه Assemblyهای برنامه رو در صورتی که Obfuscate نشده باشه دیکامپایل کرد. از بین این دو برنامه؛ به نظر من dotPeek ابزار مناسب‌تری برای دیکامپایل برنامه‌های Managed Code هست چون:

  1. رایگان
  2. قوی و سریع
  3. امکان استخراج فایل پروژه
  4. امکان ساخت فایل pdb
  5. فراهم آوردن امکان دیباگ سورس کد با بهره‌گیری از Symbol Sever

قبل از اینکه نحوه دیباگ کردن و شرح بدم، لازم میدونم که یکی دو مورد رو توضیح بدم:

  • Managed Code به کدهایی گفته میشه که توسط یکی از زبان‌های برنامه‌نویسی .Net Framework ( مثل سی شارپ و ... ) تولید شده باشه، کد نوشته شده در این زبان‌ها به زبان میانی (CIL) ترجمه و توسط دات نت روی سیستم‌ها اجرا میشه. (اطلاعات بیشتر)

  • pdb مخفف Program DataBase، فایل‌هایی هستند که اطلاعات دیباگ پروژه رو نگهداری میکنند و تنها زمانی که حالت کامپایل برنامه روی debug باشد تولید میشوند. (اطلاعات بیشتر)

  • Obfuscation یا مبهم‌سازی کد به روشی میگن که قبل از کامپایل کد ساختار کد ( مانند نام متغیر و ... ) را بهم میریزند تا وقتی توسط یک Decompiler یا Debugger کد کامپایل شده اون‌ها بررسی میشه خواندن اونها به آسانی میسر نباشه. (اطلاعات بیشتر)

چه چیزی و قرار هست بررسی کنیم؟ اینکه چطور یک برنامه دات نتی و بدون داشتن کد با استفاده از dotPeek و Visual Studio دیباگ کنیم ...

ادامه ...

چرا باید به استک مایکروسافت بیشتر از گذشته توجه کرد؟

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 4 دقیقه

Microsoft Stack

اگر به دلایل زیر توجه کنید:

  • SQL Server برروی لینوکس
  • توسعه و اجرای برنامه‌های .Net برروی لینوکس، مک
  • توسعه برنامه‌های Native موبایل با استفاده از Xamarin
  • متن باز شدن .Net Framework و Xamarin
  • ارائه ابزارهای رایگان و متن باز برنامه‌نویسی

حتماً نگاه دقیقتری به استک مایکروسافت برای برای توسعه برنامه‌های آینده/فعلی خود خواهید داشت. درصورتی که علاقه‌مند به این استک هستید ادامه مطلب را مطالعه کنید.


ادامه ...