کافیه به جای فقط خوندن آخرین پست و بعد اظهار نظر کردن، حداقل 5 پست آخر رو بخونی. به این ترتیب می تونی خودت نتیجه گیری کنی. فکر نکنم کار سختی باشه.نقل قول:
آخر یکی یه جواب درست و حسابی نداد ببینیم چی شد.
Printable View
کافیه به جای فقط خوندن آخرین پست و بعد اظهار نظر کردن، حداقل 5 پست آخر رو بخونی. به این ترتیب می تونی خودت نتیجه گیری کنی. فکر نکنم کار سختی باشه.نقل قول:
آخر یکی یه جواب درست و حسابی نداد ببینیم چی شد.
سلام بچه ها ..
لابد تا حالا اسم Binder به گوشتون خورده، Binder به برنامه هایی میگن که چند فایل اجرایی رو با هم ترکیب میکنه و در قالب یک فایل اجرایی واحد روی هارد دیسک ذخیره میکنه . من به همچین برنامه ای نیاز دارم، نمونه ی این برنامه در سایت SoflarSoft عزیز هست ولی متاسفانه همش فایل هارو با مشکل Bind میکنه، اگه کسی همچین بایندری مثل نمونه ی SalarSoft عزیز داره به منم بده ...
مرسی ... اینم لینک SalarSoft :
http://salarsoft.somee.com/magaleh/m..._part_help.htm
با سلام خدمت همگی دوستان .
میخواستم بدونم چه نرم افزاری به صورت قطعی فایل های exe تولید شده توسط دات نت را از تبدیل شدن به سورس جلوگیری میکنه . البته به همراه خود دات نت یک نرم افزار برای این کار است که یکسرس معایب از جمله تاثیر بر اجرای گزارشات چاپی را دارد و ضمنا تنها کاری که تا اون جایی که من دیدیم فقط متغیر هایی را که تعریف کرده بودم را تغییر نام داده بود و جالب اینجا بود که سورس برنامه یعنی روند برنامه نویسیس را دوباره میشد مشاهده نمود . :متفکر:
حالا با این اوصاف اگه ممکنه یه حرفه ای در این مورد جواب بده و یه نرم افزار جالب رو معرفی کنه
با تشکر و سپاس قبلی
:چشمک:
شما میتونید با استفاده از Ngen فایلهای اجرایی و کتابخانه ایتونو از IL به نیتیو تبدیل کنید تا این مشکل حل شه.
reza.palang عزیز ممنون ولی باز هم این اونی که من میخوام نیست، چیزی که من میخوام اصلا ربطی به دات نت نداره، من میخوام چند فایل Exe رو با هم ترکیب کنم و به صورت یه فایل در بیارم، حالا ممکنه این فایلها اصلا دات نت نباشه.
در جواب rasoul_ras عزیز هم باید بگم که من نمیخوام کسی به فایلهای اجرایی دسترسی داشته باشه.
این موضوع برگرداندن فایل exe به سورس اصلی تقریبا تو خانواده .net وجود داره ,
شما می تونید برای امتحان یک Reflector از اینترنت دانلود نمایید . سپس یه فایل exe یا dll که
با دات نت نوشته شده رو در اون رفلکتور باز کنید , میبینید که تمام کلاس ها , متدها و ... رو مشاهده خواهید کرد .(البته اگه اون برنامه با برنامه هایی مثل XenoCode محافظت نشده باشه)
موفق باشید
لطفا قبل از سوال پرسیدن، توی سایت جستجو کنید.
اگه dll برای دات نت باشه میتونی با برنامه ی Reflector، سورس اونو ببینی :
http://www.dnzone.com/ShowDetail.asp?NewsId=31
ولی یادت باشه حق کپی رایت نویسنده ی dll رو زیر پا نگذاری(این فقط یه تعهد اخلاقیه)
شما از سایت اصلیش دانلود کن!
نقل قول:
ممنون از همه دوستان,مشکل دان لودم حل شد.الان دارم سورس دی ال ال را می بینم,حالا می خوام بدونم که ابزاری هست که توسط اون بشه این سورس را به صورتی تبدیل کرد که بشه توی سورس فایلهاش تغییری ایجاد کرد و ذخیره کرد و از این دی ال ال تغییر یافته,در برنامه استفاده کرد؟
ممنون میشم اگه کسی بتونه پاسخ سوالم را بده.
فکر نمیکنم به این راحتی باشه، ولی میتونی سورس برنامه رو از اونجا برداری و توی یه پروژه ی جدیدی که خودت ساختی کپی کنی، البته باید ببینی دقیقه از چه کلاسهای دیگه ای استفاده کرده.
سلام.
من این پست رو تصادفی دیدم. به چنین برنامه هایی Exe Bundle میگن. می تونید از این نرم افزار برای ترکیب دو فایل EXE استفاده کنید.
من قبلا جائی دیده بودم که یک فایل اجرائی سی++ رو با یک برنامه سی شارپ ادغام کرده بود، شاید بدرد بخوره...
http://blogs.msdn.com/texblog/archiv...lications.aspx
آقایون Xenocode به طور کامل و به راحتی هرچه تمام تر میتونه فایل های شما رو به Native تبدیل کنه
اولا حجم فایلتون هرچه قدر که باشه حدود 16 مگ اضافه میشه
و هیچ گونه نیازی برای اجرا شدن به دات نت نداره.
من ورژنه 2006 Professional این برنامه رو دارم
فول هم هست یعنی هیچ نیازی به کرک نداره
ولی مشکلی که داره اینه
اگر برنامتون با بانک اطلاعاتی (SQL or Access) کار کنه برنامه زمانی که میخواد Connection رو با دیتا بیس برقرار کنه Error میده
ولی این مشکل رو توی ورژنه 2007 گرفته
ولی من خیلی گشتم نسخه فولش یا کرکش نیست
دوستان کمک کنن پیداش کنیم.
یه راه حل قابل قبول به کمک برنامه اتو پلی مدیا استودیو وجود داره
می تونی قبل از کامپایل کردن برنامه تو دات نت کارهای زیر رو انجام بدی
- برو تو قسمت چک کردن ریفرنسهای ضروری که برنامه تو به اونها وابسته است بعد یه لیست از اونا تهیه کن
- با توجه به عدم نیاز برنامه های اتوران به هرگونه فایل جانبی ....
- با Auto play media studio یه اتوران بساز طوری که بصورت خودکار تو یه وقفه کوتاه قبل از اجرای فایل دات نت شما کل ریفرنسهای برنامت رو تو ویندوز رجیستر کنه (این خیلی ساده هست و خیلی هم سریعه)
- من انجام دادم جواب داده
البته ساخت اتو ران مخفی هم امکانپذیره که به هنر شما بستگی داره
موفق باشید
دوست عزیز مطمئنی که روی ماشین مقصد، دات نت نصب نبود، چون گذشته از رفرنس هایی که در پروژه وجود داره و برنامه به اونا وابسته س، باید Clr روی سیستم نصب باشه تا بتونه اسبملی ها رو بخونه و به Native Code تبدیل کنه، چون اصلا ساختار فایلهای اجرایی تحت دات نت با فایلهای اجرایی معمولی فرق میکنه. لذا برای اجرای فایلهای دات نت، حتما بایستی clr نصب باشه.نقل قول:
یه راه حل قابل قبول به کمک برنامه اتو پلی مدیا استودیو وجود داره
می تونی قبل از کامپایل کردن برنامه تو دات نت کارهای زیر رو انجام بدی
- برو تو قسمت چک کردن ریفرنسهای ضروری که برنامه تو به اونها وابسته است بعد یه لیست از اونا تهیه کن
- با توجه به عدم نیاز برنامه های اتوران به هرگونه فایل جانبی ....
- با Auto play media studio یه اتوران بساز طوری که بصورت خودکار تو یه وقفه کوتاه قبل از اجرای فایل دات نت شما کل ریفرنسهای برنامت رو تو ویندوز رجیستر کنه (این خیلی ساده هست و خیلی هم سریعه)
- من انجام دادم جواب داده
البته ساخت اتو ران مخفی هم امکانپذیره که به هنر شما بستگی داره
توی پستهای قبلی همین تاپیک و تاپیکهای دیگه گفتم که انجام این کار نشدنی هست و چرا! اما باز هم دوستان همون روش رو با بیان دیگه ای به عنوان یه روش جدید عنوان می کنن.
سوال من اینجاست که چرا بعضی از دوستان این همه در تلاش هستند که برنامه هاشون به صورت native اجرا بشه در صورتی که با نصب یک فریم ورک نیاز به هیچ کدام از این کارهای خلاقانه نیست. اگر هم هدف ایجاد امنیت در کدهای تولید شده است که راه حلهای بهتری وجود داره.
سلام . از دوستان کسی راه حلی واسه مخفی کردن DLL هایی که تو پروژه استفاده میشه سراغ داره ؟ یا اینکه حتی بشه چندتا Dll را در یک Dll با نام دلخواه ذخیره کرد ...
ممنون از همه
اگه منظورتون این هست که Dll هایی رو که میسازید دیگران نتونند ازش استفاده کننید و انحصاریشون کنید ، بهتره در قسمت Project Properties به ،Tab های Signing و Security سری بزنید
کسی نگفت این کار کم ارزشه، ولی شما اصل مشکل را بیان نکردید،
دلیل اینکه پرسیدم این بود که شاید روش دیگری بتونیم پیشنهاد کنیم، شما بدون بیان کردن مشکل اصلی تصمیم گرفتید که این راه حلشه، شاید روشهایه دیگری هم باشه که بکارتان بیاد.
اگر مشکل واقعی را بیان نکنید، این کاری که میخواهید انجام بدید استاندارد نیست و کمتر کسی میاد وقتش را بزاره برایه کارهایه غیره استاندارد.
حالا وقعا دلیل به این که به نظر شما باید به این وسیله متوصل چیه؟ کدام کاربری میاد بره به دات نت اسمبلی هایی که استفاده کردید نگاه کند؟؟ مگر مردوم بیکارند؟ (در دات نت دی.ال.ال وجود نداره، به اینها میگند دات نت اسمبلی)
به فرض هم نگاه کنند، این روش دلبخواهی شماست که نبییند؟ اگر که بله دلیلی داره و یا همینطوری برایه اینکه ببینید این کار انجام شدنی است (از لحاظ تئوری) دارید میپرسید.
ببینید برای مثال من داخل پروژم از یکسری DLL استفاده کردم .مثلا یکی واسه ترسیم نمودار ، یکی واسه تبدیل تاریخ و .... ولی میخوام این dll های استفاده شده را در یک DLL با نام جدید بهینه کنم .
خواهش میکنم اگه دوستان راه حلی دارن ارایه بدن و تا جایی که میشه از شاید و احتمال استفاده نکنن .
یک جایی راجع به یه نرم افزار خوندم که توضیح داده بود .Net packer هست و dll (بقول دوستان .net assembly)های مختلف استفاده شده در سطح برنامه را در یک فایل embed میکنه ولی خوب الان در دسترسم نیست .
ممنون از همه
اینجا رو یه نگاهی بندازی امیدوارم منظورتون رو برآورده کنه :
http://xbundler.oreans.qarchive.org/
http://www.filedudes.com/XBundler-screenshot-37562.html
سلام بچه ها . نسخه ای که دوست عزیزم آقا سینا تو پست قبلی لینکش نوشتن حدود 80$ قیمتشه ...
ممنون میشم اگر کسی از دوستان لینک نسخه رایگان شده یا مشابهه این نرم افزار ارایه کنه . البته منم دنبالشم .:لبخندساده:
با برنامه ای مثل Xenocode به راحتی میشه سورس کدهای نوشته شده در اسمبلی های دات نت رو مرور کرد.نقل قول:
یعنی شکستن این کد ها ساده هست یا مشکل؟
سلام به همه ی دوستان . راستش فرصت نکردم سر حوصله با برنامه کار کنم ولی خوب یکی دوتا مثال کار کردم درست جواب داد .. بازم ممنون میشم با این نرم افزار کار کنید و نتیجه تست هاتون رو پست کنید تا بقیه دوستان هم استفاده کنن .
آشنایی با نرم افزار XBundler که دوست عزیزم آقای سینا امیر شکاری معرفی کردن
از پوشه ی Themida.v1.8.5.5.with.XBundler و از درون فلدر Themida فایل Themida.exe را اجرا میکنیم :
1 - در قسمت Application Information فایل exe خود را در قسمت Input File Name انتخاب میکنیم .
توجه : درصورتیکه گزینه ی Same as input موجود در مقابل out put file name تیک خورده باشه فایل exe جدید overwrite میشه ، در غیراینصورت برای exe جدید یک مسیر یا نام جدید مشخص نمایید .چون فرصت مانور رو برنامه و خوندن help و .. نبود با قسمت های بعدی بعدا آشنا میشیم ولی خوب مثلا قسمت protection options برای اعمال مسایل امنیتی بر روی فایل انتخاب شده میباشد که عبارتند از :
Anti debugger – anti patching – resource encryption , …
از این قسمت ها که بگذریم میرسیم به ..
2 – در قسمت XBundlerبا استفاده از دکمه ی Add فایل های مرتبط با exe اصلی برنامه( در قسمت بالا انتخاب شده است ) مثل Dll هایی که نیاز است کنار فایل exe باشه و .. را انتخاب میکنیم .
3 – سپس از نوار ابزار گزینه ی protect ( عکس قفل ) را انتخاب میکنیم .
4 – سپس از صفحه ی جدید مجددا دکمه ی protect را انتخاب میکنیم .
5 – حال خواهید دید که exe جدید به خودی خود شامل dll ها و فایل های Add شده به آن خواهد بود و دیگری نیازی نیست که بصورت جداگانه این فایل ها کنار exe اصلی قرار بگیرند .
ممنون میشم دوستان نتیجه ی تستشون رو همینجا بیان کنن تا من و باقی دوستان هم بتونیم استفاده کنیم (O:
فکر می کنم این سوال من جواب ساده ای داشته باشه که من نمی دونم!
فرض کنید ما یک کامپوننت برای دات نت طراحی کردیم (مثلا یک Button خاص)
برای انتشار برنامه باید اسمبلی این کامپوننت رو هم همراه برنامه بفرستیم.(نه؟)
حالا هرکسی می تونه این اسمبلی رو کپی کنه و توی برنامه های خودش بکار ببره ؟!
چطور میشه از این اتفاق جلوگیری کرد ؟
میتونی در توابعی که کاربر از این کامپوننت اجرا میکنه، یه پارامتر دیگه اضافه کنی به نام مثلا Serial Number که بایستی این کد رو از شما که سازنده هستی بگیره، یا مثلا اگه یه کامپوننت خاص نوشتی، میتونی یه Property بهش اضافه کنی که کد ثبت شده رو بگیره و در خودش ذخیره کنه و تا این کد توش رجیستر نشه، کار نکنه و به کاربر پیغام بده.نقل قول:
حالا هرکسی می تونه این اسمبلی رو کپی کنه و توی برنامه های خودش بکار ببره ؟!
چطور میشه از این اتفاق جلوگیری کرد ؟
این روش یه جورایی درست به نظر نمیاد
در بهترین حالت باید توی همه فرمهامون یه تابع جهت پر کردن مقادیر کلیدی کامپوننتهامون صدا بزنیم.
اگر سورس کامپوننت رو نداشته باشیم چککار کنیم ؟
عجیبه که برای این کار هیچ کاری در دات نت انجام نشده باشه !
نمی دونم چرا یه همچین مورد حفاظتی رو مثل یه چیزی شبیه Signing برای اسمبلی ها نذاشتن که از اجرای غیر مجاز اسمبلی ها محافظت کنه !!!!
خب شما مقدار رو در یک فایل xml میتونی ذخیره کنی و دیگه کاربر مجبور نیست، همه جا بخواد کد رو وارد کنه، خیلی از کامپوننت های تجاری از این سیستم استفاده میکنن.نقل قول:
در بهترین حالت باید توی همه فرمهامون یه تابع جهت پر کردن مقادیر کلیدی کامپوننتهامون صدا بزنیم.
برای Pack کردن از NETz Packer و برای DisAssemble کردن از Reflector و یا Xenocode استفاده میکنم
تقریبا هیچ کدوم این ابزارها نمی تونن کمک قطعی به شما بکنند و پایه اساس و اعتماد شما به امنیت محسوب بشن.
تنها چیزی که به شما کمک میکنه آگاهی شما از نقطه ضعفهایی در برنامه است که میتونه منجر به زیر سوال رفتن امنیتش بشه. مثلا اگر امنیت برنامه شما وابسته به بررسی یک شرط ساده باشه، به همون سادگی با وارونه کردن نتیجه شرط همه چیز تموم میشه.
اما اگر برنامه شما برای بررسی پارامترهای امنیتی از یک کلاس و اعضای اون استفاده کنه (صرفا خواندن پارامترها و Init کردن امکانات برنامه بر حسب مقادیر اون اعضا، بدون استفاده از شرط) کار نفوذگر رو خیلی سخت تر کرده اید.
رمزنگاری عبارتها (String) های مرتبط با بخش های امنیتی برنامه کمک بزرگی به امنیت محسوب میشه، چون دیگه با یک String Search ساده نمیشه فهمید باید دنبال چی گشت و در حقیقت تابلوهای راهنمای نفوذگر رو کور کرده اید.
با سلام
نمی دونم با برنامه های
.NET Reactor و .NET Reflectpr
آشنایی دارید یا نه
من که تازه با اون ها اشنا شدم .
تا اونجا که من فهمیدم و امتحان کردم برنامه NET Reactor یک برنامه بسیار عالی برای دات نتی هاست و می تواند کد های دات نت را به گونه ای در آورد که به راحتی نتوان آن را دیکامپایل کرد.
و اما برنامه NET Reflector کارش این است که فایل های اجرایی دات نت را می تواند کدشون رو برگردونند واقعا هم خوب بر می گردونه.
من یک برنامه ایی را نزدیک 3 ماه روش کار کردم. حال می خواهم بیرون بدهم و قفلی توسط شماره سریال cpu روی اون گذاشتم. ولی دیدم که برنامه NET Reflector راحت کدم رو برگردوند و خیلی راحت تر می توان از قفل من گذشت.
حال اومدم با برنامه NET Reactor کدم را تبدیل کردم. خیلی خوب شد حال دیگه حتی برنامه NET Reflector هم نتوانست کدم رو برگردونه اما یه مشکل.
مشکلش اینه که نسخه آزمایشیش روی انترنت یافت می شه و نسخه کاملش پولیه.
حاله این نسخه آزمایشی اول برنامه یعنی قبل از اجرای خود برنامه یک پیغام می دهد که این برنامه با NET Reactor محافظت شده است و ... که من نمی خوام پیغام بده که طبیعتا باید نسخه کاملش تهیه گردد.
و اما از شما می خواهم که بپرسم اولا چگونه باید کاملش رو گیر بیارم ؟ آیا در بازار یا اینترنت هست ؟ ثانیا اگر نه برنامه ی بهتری هست یا نه؟
در ضمن اگر خواستید نسخه آزمایشی برنامه .NET Reactor رو می تونید از سایت
http://www.filedudes.com/_NET_Reacto...oad-37018.html
دانلود کنید .
با تاخیر
سال نوتون مبارک
ممنون خداحافظ
خب طبق قوانین سایت، گذاشتن Warez ممنوعه، ولی پیشنهاد میکنم یه نگاهی هم به برنامه ی XenoCode بندازی، اینم برنامه ی خوبی برای محافظت از فایلهای اجرایی هست، حتی میتونه توسط تکنولوژی Virtualization برنامه ی شما رو بدون نیاز به DotNet FrameWork اجرا کنه.
بگردیدمش
یافتمش
گذاردمش
تا بگیرندش
وببرندش
ممنون از راهنمایی شما
البته خودم هنوز ازش استفاده نکردم
سلام دوست عزیز
سیستمی که دات نت ریکتور برای محافظت از برنامه شما ارائه داده در واقع سیستمی هستش که داره از خودش هم محافظت میکنه.چطور میخوای از برنامه ای که خودشو نمی تونه محافظت کن برای محافظت از کدت استفاده کنی ؟
اینو گفتم که برای ورژن های جدیدش دنبال لایسنس نگردی چون فکر نمی کنم گیر بیاری.(منظورم کرک خود نرم افزار هست نه اینکه قابل شکستن نیست)
آخرین ورژنی که کرکش رو دیدم 2.9.0.5 بودش. فکر کنم الان ورژن جدیدش 3.7 باشه
ولی در کل برنامه خیلی جالبی هست.
در راستای طرح بهینه سازی تالار سی شارپ؛ چندین تاپیک مستقل در هم ادغام شدند.
دیدن لینک زیر هم ممکن است مفید باشد :
https://barnamenevis.org/showthread.php?t=41559
سلام
بحث خیلی داغ بود گفتم واسه دوستانی که یه کم گیج شدن توضیح بدم چون یه جاهاییشو خودمم نفهمیدم و یاد جلسات مناقصه های دولتی افتادم. بگذریم.
اصولاً کد های جاوا و دات نت و امثالهم که به Managed Code معروف هستند بعد از کامپایل exe واقعی (Machine Code) نمیشن و در هنگام اجرا توسط engine مربوطه (مثلاً کد دات نت توسط دات نت فریم ورک) به کد ماشین همون پردازنده تبدیل می شن. برای همین به اونا غیر وابسته به پلتفرم می گم یعنی رو هر رایانه ای با هر سیستم عاملی که engine نصب باشه قابل اجرا هستند. کد تولید شده توسط کامپایلر این زبونها به یه زبون حد واسط (یعنی نه سورس و نه کد ماشین) تبدیل میشه که تو دات نت به اون MSIL و تو جاوا ByteCode می گن.
خوب این زبانهای حد واسط راحتر از کد ماشین قابل تبدیل به سورس کد هستن پس راحت تر کرک میشن. داستان کرک شدن و جلوگیری از اون تو مایه های داستان مرغ و تخم مرغه و نمی خوام وارد اون بشم اما یادمه آخرین تکنولوژی که شنیدم قراره بیاد استفاده از PKI در سطح پردازنده بود یعنی شما سریال CPU رو می دی کمپانی adobe اونا با سازنده CPU تماس می گیرن و از روی سریال public key شما رو بدست می آرن و فتوشاپ رو رمز شده میدن خدتتون و فقط رو pc شما کار خواهد کرد.
در تفاوت زبونهای سطح پایین مثل C, Assembly, ... با سطح بالاها مثل جاوا یا دات نت باید بگم خوب یا بدی وجود نداره و بستگی داره بخوایم چیکار کنیم. اما به طور کلی هر چی سطح زبون می ره بالا performance فدای design میشه یعنی سرعت میاد پایین اما تولید، نگهداری و توسعه آسونتر میشه.
اما اینا اصلاً مهم نیست. تو کشورهای پیشرفته کلید روی ماشین می ذاری دزد نمی بره اما بعضی جاهای دیگه با کلی دزدگیر و ... بازم دزد ماشینو می بره.
امروزه نرم افزارها اونقدر ساختار پیچیده ای دارن پیدا می کنن که نه تنها سورس کد دیگه ارزشی نداره حتی اسناد طراحی مثل دیاگرام های UML اون رو هم اگر بدن بازم به کار نمیاد.
پیشنهاد می کنم ذهن خودتونو با این چیزا خسته نکنید و در حد عرف از ابزارهای مربوطه مثل obfuscator ها استفاده کنید. باور کنید اگر برنامتون کرک بشه یعنی خیلی خوب بوده و باید خوشحال باشید.
جالب اینجاست که رو ویندوز کرک شده با ویژوال استودیو و سایر ابزارهای گران قیمت کرک شده 4 خط کد می نویسیم بعد انتظار داریم کرک نشه و تازه یادمون میفته کرک عجب کار بدیه !
سلام
من اکثر جوابها را خوندم ولی درست نفهمیدم ngen را از کجا باید گیر بیارم :لبخند:
گفتید که با فریم ورک منتشر شده.
یعنی وقتی ویژوال 2005 را نصب می کنم اون هم نصب می شه؟
کار کردن با اون چه طوریه ؟
لطفا کامل توضیح بدید (گیرایمون کمه) :لبخند:
سلام
برنامه مذکور یکی از ابزارآلات اصلی Framework است و با Framework نصب شده و در محل ان نیز قرار داردنقل قول:
من اکثر جوابها را خوندم ولی درست نفهمیدم ngen را از کجا باید گیر بیارم :لبخند:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen .exe
برنامه مذکور را میتوانید با سوییچ ؟/ در cmd اجرا کنید تا اطلاعات حالات مختلف سوییچ هایش را نشان دهد.
>ngen.exe /?
Usage: ngen <action> [args] [/nologo] [/silent] [/verbose]
ngen /? or /help
/nologo - Prevents displaying of logo
/silent - Prevents displaying of success messages
/verbose - Displays verbose output for debugging
Actions:
ngen install <assembly name> [scenarios] [config] [/queue[:[1|2|3]]
Generate native images for an assembly and its dependencies and install them in the Native Images Cache
If /queue is specified compilation job is queued up. If a priority is not specified, the default priority used is 3.
ngen uninstall <assembly name> [scenarios] [config]
Delete the native images of an assembly and its dependencies from
the Native Images Cache.
ngen update [/queue]
Update native images that have become invalid
If /queue is specified compilation jobs are queued up.
ngen display [assembly name]
Display the ngen state
ngen executeQueuedItems [1|2|3]
Executes queued compilation jobs.
If priority is not specified all queued compilation jobs are done.
If priority is specified compilation jobs with greater or equal.
priority than the specified are done.
ngen queue [pause|continue|status]
Allows the user to pause and continue the NGen Service Queue, and to query its status.
Scenarios:
/Debug - Generate images that can be used under a debugger
/Profile - Generate images that can be used under a profiler
/NoDependencies - Generate the minimal number of native images required by this scenario
Config:
/ExeConfig:<path to exe> - Use the configuration of the specified executable assembly
/AppBase:<path to appbase directory> - Use the specified directory as the appbase
ابزار فوق اسمبلی شما را به Native تبدیل کرده و به نوعی ان را نصب یا رجیستر میکند و Native شده آن را در زیر پوشه های C:\Windows\assembly قرار میدهد.
این Native سرعت بسیار خوبی دارد و مخصوص سخت افزار و سیستم عامل جاری از IL به Native کامپایل شده.
ولی باید توجه داشت که برای هر رایانه باید جداگانه عمل فوق انجام شود.
و اگر هم بتوانید نسخه Native کامپایل شده را از مسیر فوق بردارید، باز فایده ندارد و کار نخواهد کرد و حتماً باید برای هر رایانه جداگانه انجام شود.
===========================
من بعد از زدن پست فوق، صفحات قبلی تاپیک را هم دیدم، دوستان لینک msdn ابزار فوق را هم داده بودند، که بسیار کاملتر از توضیحات ناقص من است.
http://msdn.microsoft.com/en-gb/libr...cf(VS.80).aspx
مرسی از توضیحات
من برنامه را پیدا کردم:تشویق: ولی وقتی اجراش می کنم سریع بسته می شه!
نگفتید نحوه کار کردن با اون چطوره؟ مثلا من یه برنامه نوشتم با سی شارپ. حالا چطور می تونم به وسیله این برنامه کدهاش را تغییر بدم (ناخواناش کنم)
گفته بودید که باید برای هر کامپیوتر جداگانه این کار را باید انجام داد! منظورتون چیه؟
یعنی اگر یه برنامه نوشتم باید برای اجرای آن روی هر سیستمی این عمل را انجام داد؟
آیا این امکان وجود دارد که هنگام نصب برنامه، از ngen.exe استفاده شود و Native Code روی سیستم مورد نظر نصب شود(چون ظاهرا Native برنامه فقط روی سیستمی که تبدیل شده کار می کند)؟
لطفا راهنمایی کنید.
در واقع native Code ها به CLR کمک می کنند تا زمانی را که برای optimize کردن اسمبلی های دات نت را صرف می کند را صرفه جویی کند. و برنامه های دات نت تنها با داشتن native code ها (بدون اسمبلی های دات نت) اجرا نخواهند شد.
کسی نیست ngen را توضیح بده!!
شما حساب کنید یه فایل exe دارید که با سی شارپ تولیدش کردید حالا برای کار با این برنامه باید چه کار کرد؟