PDA

نسخه کامل مشاهده نسخه کامل : چطور کدهای داخل Dll رو پیدا کنم؟



MrJamshidy
21-09-2007, 08:59
آقا من میخواستم بدونم چطور میشه کد های داخل DLL رو پیدا کرد مثلا کد زیر

Public Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

کد ExitWindowsEx داخل user32 هست حالا اگر من بخام یک DLL مثلا به نام Ali.DLL رو ببینم کد هاش چیه باید چکار کنم

اصلا راهی هست؟

ممنون :19:

_H2_
22-09-2007, 17:53
سلام
منظورتان را جالب نرسانده اید!
اگر بخواهید ببینید که یک DLL حاوی چه api هایی است میتوانید از فایل Depends.Exe که همراه VS کپی میشود استفاده کنید که خیلی ساده و کارآمد است ولی نوع پارامترهای توابع را گزارش نمیدهد و نمیتواند گزارش دهد!
اسم را پیدا میکنید و اگر فایل ساخت مایکروسافت باشد احتمالاً اطلاعات پارامتر و وظیفه و نحوه استفاده را میتوانید در MSDN پیدا کنید.


برای dll های مدیریت شده دات نتی که با VB.Net یا C#.Net هم ساخته شده اند چیزهایی وجود دارد و حتی خودتان هم میتوانید برنامه اش را بسازید!

MrJamshidy
24-09-2007, 00:57
خوشم میاد منظورم رو خیلی خوب متوجه میشید
خیلی خیلی ممنون

MrJamshidy
25-09-2007, 10:47
اما یک مشکل مثلا توی تابع ExitWindowsEx چطوری مثلا uFlags رو پیدا کنم
Public Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

MrJamshidy
25-09-2007, 10:49
راستی چطور باید یک Dll بسازم یا ویرایش کنم این دومی خیلی مهم تره

_H2_
25-09-2007, 13:51
سلام

اما یک مشکل مثلا توی تابع ExitWindowsEx چطوری مثلا uFlags رو پیدا کنم
Public Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
فلاگ ها فقط عدد هستند و هر کدام وظیفه ای دارد، مثلاً در این تابع خاص اگر صفر بدهید به معنی LogOff است.
اگر منظورتان گیر آورن ماهی باشد، این میشود جوابتان در VB8

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و اگر منظورتان یادگیری ماهیگیری باشد این میشود جواب!:
باید به منابع منتشر شده از سوی سازنده DLL مراجعه کنید و که در مورد محصولات مایروسافت نامش MSDN میشود!



راستی چطور باید یک Dll بسازم یا ویرایش کنم این دومی خیلی مهم ترهچقدر طالب DLL داره زیاد میشه؟! چه خبره؟! :31:(البته من خودم هم DLL سازی را به EXE سازی ترجیح میدهم، به قول جوانان، خیلی باحال تره!!!!!!! :5:)
forum.p30world.com/showthread.php?t=162991
forum.p30world.com/showthread.php?t=140405

MrJamshidy
27-09-2007, 07:43
یک سوال

فرض کنید من یک Dll ساختم و داخل اون یک فرم گزاشتم حالا اگر بخام اون فرم توی پروژم دیده بشه باید چکار کنم؟

در ضمن در مورد دومی کمک کنید ((ویرایش Dll))

_H2_
27-09-2007, 13:24
سلام


فرض کنید من یک Dll ساختم و داخل اون یک فرم گزاشتم حالا اگر بخام اون فرم توی پروژم دیده بشه باید چکار کنم؟
به شدت بستگی به نوع و ساختار و تکنولوژی به کار رفته در DLL دارد.
1- راحت ترین انها DLL های برمبنای تکنولوژی dotNet هستند که به راحتی Include میشوند و قابل استفاده هستند که در تاپیک دومی که قبلاً لینکش را داده بودم نمونه ای را بیان کرده ام. و برای یک فرم (یا هر نوع کلاسس دیگر) کافیست New شود و متد Show اجرا شود. (مثل اینکه کد فرم در داخل خود EXE قرار دارد.)

2- اگر بر اساس API کار کنید باید پارامترها را بگیرید و فرم را در داخل همان DLL صدا بزنید و جواب را پس دهید و در اصل برنامه فراخان دسترسی مستقیم به پنجره ندارد (مثل API های مربوط به دیالوگهای استاندارد Save و Open ویندوز که میبینید در همه برنامه یک شکل هستند و بستگی به ورژن ویندوز دارد)

3- اگر قصد دسترسی مستقیم به متدهای پنجره باشد باید از تکنولوژی ActiveX و COM استفاده کنید و به جای تک توابع API کل کلاسس پنجره را صادر کنید

4- ...
5- ...



در ضمن در مورد دومی کمک کنید ((ویرایش Dll))
DLL هم عین EXE کامپایل میشود و روشهای ویرایش و حکی DLL مثل EXE است، به صورت محدود میتوانید Resource ها را دستکاری کنید، مثلاً تصاویر و دیگر فایلهای Embeded شده و یا متن String که به صورت Resource ذخیره شده باشد.
در کل بعد از کامپایل و بدون داشتن سورس کد کار زیادی نمی توانید انجام دهید (عین EXE) اگر کاری بیشتر از دستکاری Resource میخواهید باید بروید سراغ Decompile و سورس کد را به دست اورید و دستکاری کنید و مجدداً کامپایل کنید که این هم فقط برای بعضی موارد جواب میدهد و کد هم نیاز به ویرایش بیشتری از حالت معمول دارد، چون با Error هایی که ناشی از خطا اجباری Decompiler بوده اید روبرو میشوید.

iraj23
29-05-2009, 01:33
آقا اول عذر خواهی بابت بالا آوردن این تاپیک قدیمی تقصیر سرچ گوگله دیگه
به هر حال سوالم رو میگم امیدوارم کسی باشه جواب ما رو بگه
من یک dll دارم که داخلش تاریخ انقضا داره Expired Date میخواستم ببینم چه جوری میشه این تاریخ رو تغییر داد
منتظر لطف اساتید هستم

_H2_
29-05-2009, 11:16
سلام

من یک dll دارم که داخلش تاریخ انقضا داره Expired Date میخواستم ببینم چه جوری میشه این تاریخ رو تغییر داد
این تغییرات ساده نیست و مثل ساخت نمونه crack شده است.
شما باید اطلاعات کافی داشته باشید و فایل را با انواع دکامپایلرها اسمبلی و C و Resource و... بررسی کنید تا بتوانید تغییرات لازم را به دست آورید.
پیشنهاد میکنم دنبال نسخه آماده و کرک شده محصول مورد نظر خود در google سرچ کنید.

iraj23
30-05-2009, 10:59
آقا ممنون بابت جواب سریع
باید بگم که این نسخه کرک شده نداره
با چه نرم افزارهایی میشه یک dll رو ویرایش کرد و یا دیکمپایل کرد؟

_H2_
30-05-2009, 15:23
سلام
مثلاً اگر شما واژه Windows Disassembler را سرچ کنید میتوانید نمونه های دکامپایلر assembly پیدا کنید.

sahel_68
04-06-2009, 23:25
سلام
ببخشید این جواب نیست
من یه فایل dll برای دکمه ها دارم که شکل ظاهری دکمه ها رو تغییر میده اما وقتی caption اون رو فارسی میکنم تو اجرا حروف بی ربط مینویسه باید چیکار کنم؟

_H2_
05-06-2009, 11:09
سلام
یا زبان برنامه نویسی و یا dll شما خیلی قذیمی است و یونیکد را پشتیبانی نمیکند.
شاید بتوانید با تغییر تنظیمات control panel ویندوز کاری کنید.

ولی راه قطعی تغییر زبان یا کامپونت قدیمی است.
برای سادگی و زیبایی و یک راه فرار سریع میتوانید تصاویری برای دکمه هایتان در فتوشاپ طراحی کنید و آن را برای background دکمه هایتان استفاده کنید.

سایه ی مرگ
07-06-2009, 14:30
در VB6 یک Add-on هست به نام Api Viewer بدردتون می خوره.

a_mohammadi_m
13-08-2009, 10:26
با سلام
به اين سايت يك سر بزن

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نرم افزار معرفي شده شامل اكثر Dll هاي ويندوز و API هاي اونها ميشه
در ضمن با اينكه قديميه ولي شامل مثالهايي براي VB6 و VB.NET هم هست
خيلي آموزنده است

دانلود از اين صفحه ( در ضمن رايگانه ):

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشيد