دوم: Dotfuscator
دومين ابزار سومندي كه معرفي مي‌كنم، برنامه مهمي است كه حلال مشكلات خيلي از برنامه‌نويسان خواهد بود. اگر مي‌خواهيد كاري كنيد كه سورس كد برنامه شما پس از كامپايل شدن قابل تشخيص نباشد و نتوان با استفاده از مهندسي معكوس آن را به حالت سورس كد بازگرداند، هيچ چاره‌اي نداريد جز اين‌كه سورس كامپايل شده خود را رمزنگاري كنيد. برنامه Dotfuscator كه نسخه Community Edition آن به‌طور رايگان همراه ويژوال استوديوي دات‌نت نصب مي‌شود، همين كار را برايتان انجام مي‌دهد. عجيب است كه برخي از برنامه نويسان نيمه حرفه‌اي اما كم حواس، متوجه حضور اين برنامه در كنار ويژوال استوديو نمي‌شوند و اين سو و آن سو دنبال ابزار مناسب مي‌گردند. نسخه حرفه‌اي Dotfuscator را بايد از سايت شركت سازنده آن، يعني ‌‌Preemptive به نشاني
www.preemptive.com دريافت كنيد.




برنامه Dotfuscator براي رمزنگاري سورس‌كد




اما اين برنامه رايگان نيست. اين شركت در حقيقت دو نوع Obfuscator دارد: يكي براي كاربران دات نت و ديگري براي كاربران جاوا و دومي DashO نام دارد كه در دنياي جاوا نامي آشنا است.

البته Obfuscatorهاي ديگري را نيز مي‌توانيد در اينترنت پيدا كنيد. به كمك يك‌ Obfuscator مي‌توانيد برنامه كامپايل شده را طوري رمزنگاري كنيد كه جز خود شما فرد ديگري نتواند به سورس برنامه دسترسي پيدا كند و اين يعني نقطه مقابل تفكر اپن سورس!

ولي واقعيت اين است كه در دنياي صنعت نرم‌افزار چنين ابزارهايي طرفداران زيادي دارد و خيلي از شركت‌هاي توليد كننده نرم‌افزار از Dotfuscator براي حفاظت از حقوق مالكيت معنوي نرم‌افزار خود استفاده مي‌كنند.‌

Dotfuscator براي غيرقابل فهم كردن سورس كامپايل شده (كه در دات نت به زبان MSIL است و در زبان جاوا به صورت‌ Bytecode) علاوه بر رمزنگاري، از طريق تزريق كدهاي گمراه‌كننده به درون برنامه موجب مي‌شود كه برنامه‌هاي مهندسي معكوس در تفسير سورس دچار اشتباه شوند و نتوانند به اصل آن پي‌ببرند.