ايران ويج

نسخه‌ی کامل: آلوده کردن فایل های اجرایی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
سلام
یه سوال دیگه دارم اونم اینکه فایل های exe که 64 بیتی هستند چه signature بخصوصی داره
مثل فایل ها 32 بیتی که MZ و PE داره این فایل 64 بیتی چه علامتی برای شناسایی داره؟
با تشکر از شما
نقل قول: - این کاراکتر é که تو اکثر فایل های com هستند چیه؟ و آیا (هر فایل) com ی که کاراکتر MZ رو داره از exe و... به com تغییر داده شده؟
این کاراکتری هست که وقت فایل های Com رو با هگزادیتور نگاه می کنی داخلش وجود داره!

بله هر فایل اجرائی که کاراکترهای MZ رو داره یک فایل exe هست که پسوندش رو به Com تبدیل کردند.

نقل قول: 2- از کجا میشه فهمید این دیتا سکشن و کد سکشن و... هر کدوم از چه آدرسی شروع میشن

برای درک بهتر موضوع بهتره با چندتا دیسمبلر و دیباگر مثل OllyDBG بیشتر کار کنید. این کار کمی پیچیده هست

و احتیاج به فهم کدهای ماشین و ترجمه و تفسیر درست اونها داره. درست مثل کاری که دکامپایلرها انجام می دن

یعنی حتی فرم ها و کدهای نوشته شده رو هم می تونن بدست بیارن.

نقل قول: 3- اینکه گفتید پسوندش از exe به com تغییر داده شده دلیلش چیه؟
درست مثل این می مونه که پسوند یه فایل JPG رو به BMP تغییر بدید. البته اساس این دو تا فایل با هم متفاوت هست

اما چون برنامه ای که قراره این فایل رو باز کنه هر دوتا فرمت رو می شناسه براش چندان فرقی نمی کنه و پسوند

رو در بکگراند خودش تصحیح می کنه و فایل رو اجرا می کنه.


نقل قول: با توجه به اینکه هم در فایل های exe و هم در فایل های dll این کاراکتر MZ وجود داره همچنین PE این فایل ها چه مشخصه ی دیگه ای دارن که معلوم کنه این exe است یا dll
در واقع پردازنده چه طور بین این دو فایل که ساختاری مثل هم دارن تفاوت قائل میشه و تشخیص میده که این exe و اون dll است.

تفاوت این دو فایل چندان زیاد نیست. exe قابل اجراست. در حقیقت فایل اجرائی دارای یک Main Function هست

که سیستم عامل ( نه پردازنده ) اون رو اجرا می کنه ولی فایل های DLL چنین خاصیتی ندارن. برای همین اجرا

نمی شن. در واقع فایل های DLL مجموعه ای از توابع هستند که توسط فایل اجرائی در حافظه لود شده و مقدار خاصی

رو بر می گردونند.

امیدوارم کمک کنه
سلام
ممنون از Di Di عزیز بخاطر جوابهای خوبشون

این سوال آخری رو متوجه شدم اما جزئیات بیشتری احتیاج دارم

مثلا اگر یه فایل exe و یه فایل dll رو بدون اینکه شما بدونید پسوندشون چیه تو یه ادیتور باز کنن به شما بگن کدوم exe و کدوم dll است شما از کجا متوجه تفاوت این دو فایل میشید

یا اینجوری بگم این دو فایل رو به یه برنامه دادین که نوع این فایل ها رو مشخص کنه(بدون استفاده از پسوند فایل)
این برنامه از کجا باید بفهمه این exe و اون dll است.
باز هم تشکر از شما بخاطر جواب های خوبتون
از یک جهت دیگه هم میشه تفاوت dllو exe رو پیدا کرد و اون هم اینه که exe ها معمولا export table ندارن و به راحتی شناسایی میشن و اینکه dll ها یک signature دیگه دارن که اسم اصلی dll در موقع ساخته شدن درش قرار میگیره و با rename و این قبیل کارها تغییر نمیکنه اگه dll رو تو یه hex editor باز کنین متوجه می شین
سلام
خوب هستيد
تقريبا يكي است يعني اسم dll با اسمش توي فايل ذخيره ميشه شما فكر كنم اگر ساختار pe فايل ها رو توي گوگل سرچ كني و بخوني خيلي از مشكلات تون بر طرف ميشه
به اميد ديدار
سلام به همه دوستان

یه درخواست اونم اینکه دوستانی که سیستم عامل 64 بیتی دارن اگه یه چند تا فایل exe که حجمش هم خیلی نباشه بدارن تاما بگیریم و ساختارش رو کنکاش کنیم خیلی خیلی ممنون میشم
فقط یه سه جهار تا فایل 64 بیتی exe

با سپاس فراوان
(۰۵-خرداد-۱۳۸۸, ۲۳:۳۶:۵۳)saayeban نوشته است: [ -> ]سلام به همه دوستان

یه درخواست اونم اینکه دوستانی که سیستم عامل 64 بیتی دارن اگه یه چند تا فایل exe که حجمش هم خیلی نباشه بدارن تاما بگیریم و ساختارش رو کنکاش کنیم خیلی خیلی ممنون میشم
فقط یه سه جهار تا فایل 64 بیتی exe

با سپاس فراوان

واسه تشخیص dll یا exe بودن از یکی از زیر مجموعه های optional header استفاده میشه به نام magic
که از خروجی اون به راحتی می تونی به جواب این سوالت برسی.
یه پلاگین هم واسه peid نوشتم که مشخصات کامل header ها رو بهت نشون میده که از اینجا می تونی دانلودش کنی.
http://jeyjey.persiangig.com/Download/Max_PE_Info.zip
صفحه‌ها: 1 2 3