PDA

View Full Version : تغیر یک Dll



titbasoft
چهارشنبه 12 مرداد 1384, 14:56 عصر
آیا راهی وجود دارد که اسمبلی فایلی (dll) که در نتیجه کامپایل کردن پروژه ساخته می شود را تغیر داد.

omid_Ahmadi
چهارشنبه 12 مرداد 1384, 15:19 عصر
میشه بیشتر توضیح بدید منظورتون چه نوع تغییری در فایل است؟ یعنی کد Il رو دستکاری کنیم؟

titbasoft
چهارشنبه 12 مرداد 1384, 15:56 عصر
بله! هر نوع تغیری مثلا قسمتی از کد اون رو edit کردن

یاشار
چهارشنبه 12 مرداد 1384, 16:54 عصر
خوب اگر سورس کد dll رو دارید، تغییرات لازم رو انجام بدید و دوباره build کنید. مشکل کجاست ؟

titbasoft
چهارشنبه 12 مرداد 1384, 17:48 عصر
والا سورس ندارم.
اگر کسی یه reflector هم می شناسه که بتونه توی سورس search کنه ممنون می شم راهنمایی کنید.

یاشار
چهارشنبه 12 مرداد 1384, 19:22 عصر
اگر سورس قبل از کامپایل obfuscate نشده باشه با هر reflector ی می‌تونید ته و توی قضیه رو در بیارید.

.NET Reflector, Version 4.1.80.0 (http://www.aisto.com/roeder/dotnet/Download.aspx?File=Reflector)

titbasoft
پنج شنبه 13 مرداد 1384, 11:49 صبح
دوست خوب ،
سوال هام رو دوباره تکرار می کنم:
1) کسی assembly editor سراغ داره؟
2) آیا reflector ای وجود داره که توی source code جستجو کنه؟ نه توی member ها. چون lutz این کار رو انجام میده.

یاشار
پنج شنبه 13 مرداد 1384, 14:03 عصر
معذرت می‌خوام اگر سوالتون رو متوجه نشدم.

همونطور که می‌دونید، Reflector به برنامه‌هایی گفته می‌شه که با استفاده از فضای نامی System.Reflection اطلاعات مربوط به اسمبلی‌های Net. رو در RunTime استخراج می‌کنن بنابراین هیچ Reflector ی، بنابر تعریف، توی SourceCode جستجو نمی‌کنه.

برنامه‌های Assembly Editor هم کد سطح بالا به شما تحویل نمی‌دن، و شما باید با IL آشنا باشید تا بتونید با این برنامه‌ها کار کنید. اگر برنامه Decompiler می‌خواهید که از روی اسمبلی، کد سطح بالا رو برای شما بازسازی کنه، می‌تونید در آدرس زیر به قسمت Decompiler یه نگاهی بندازید. البته این هم بستگی به این داره که اسمبلی تا چه حدی مخدوش شده باشه.

dotexplorer (http://www.remotesoft.com/dotexplorer/)

بعضی وقتها یه کلمه معنی کل بحث رو عوض میکنه. اگر توی طرح سوالتون دقت کنید هم کسانی که می‌خوان جواب بدن گیج نمی‌شن هم بحث طولانی نمی‌شه. اگر باز هم سوالتون رو درست نفهمیدم، دقیقا کاری که می‌خواهید انجام بدید رو شرح بدید اگر کمکی از دستم برمی‌اومد در خدمتم.