۱۳۸۷/۰۸/۲۹

فشرده سازي اسمبلي‌هاي دات نت


ابزارهاي زيادي براي محافظت و يا فشرده سازي و رمزنگاري اسمبلي‌هاي دات نت موجود هستند كه اكثر آنها تجاري هستند. برنامه netz نمونه‌اي است سورس باز و رايگان كه تنها كار فشرده سازي اسمبلي موجود را انجام مي‌دهد. همچنين با استفاده از آن سورس اسمبلي شما به‌وسيله برنامه reflector قابل مرور نخواهد بود. هر چند اين برنامه سورس باز است و امكان unpack كردن نتيجه آن نيز احتمالا با اندكي سعي ميسر خواهد بود اما باز هم يك مرحله پيشرفت محسوب مي‌شود! خصوصا اينكه مي‌توان براي آن Custom Compression Provider نوشت و براي مثال فايل زيپ شده نهايي را رمزنگاري نيز كرد.

قبل از عمل:



بعد از عمل:


نحوه استفاده:

فشردن كردن يك فايل exe توسط آن
netz app.exe

الحاق كردن فايل zip.dll همراه با فايل exe (بدون نياز به توزيع فايل zip.dll):
netz -z app.exe

يكي كردن تمام dll هاي برنامه با فايل exe در قالب يك فايل نهايي:
netz -s app.exe lib1.dll lib2.dll

نكته:
در اينجا به صورت پيش فرض از فايل zip.dll براي فشرده سازي استفاده مي‌شود (كه براي تمام نگارش‌هاي دات نت قابل استفاده است). در نگارش‌هاي جديد دات نت، فشرده سازي نيز به كلاس‌هاي استاندارد اضافه شده است كه امكان استفاده از آن نيز در اينجا مهيا است (و ديگر نيازي به استفاده از zip.dll آن نخواهد بود).
netz.exe -r net20comp.dll  app.exe

نحوه برنامه نويسي يك compression provider سفارشي براي آن در آدرس زير توضيح داده شده است. (اعمال موارد امنيتي دلخواه و استفاده از آن)
http://madebits.com/netz/compress.php

و موارد ديگري كه در راهنماي سايت آن توضيح داده شده‌اند.