PDA

View Full Version : سوال: دستکاری یک فایل اجرائی که در حافظه قرار دارد



hojjatshariffam
شنبه 27 شهریور 1389, 18:52 عصر
سلام به دوستان حرفه ای
من نیاز به روشی دارم که بتونم با کد برم تو رم و فایلی رو که در حال اجراست (یعنی تو رمه) رو دستکاری کنم
هدفم از این کار حفظ امنیت کدهاییه که تو دات نت نوشتم
قراره فایل اجرائی رو که با دات نت ساختم (بخصوص تو سی شارپ) وسط کار یه فایل اجرائی دیگه که با سی پلاس پلاس یا هر زبان دیگه ای نوشتم رو کال کنه ، اون فایل هم بره تو رم و دقیقا جائی که از اونجا کال شده رو (منظورم دقیقا آدرس رمه) رو پیدا کنه و یه کارایی روی اون آدرس انجام بده، مثلا بعد از اون آدرس تعداد بیست خط رو کدشو عوض کنه
آیا می تونم این کار رو بکنم کنم؟ یعنی ساختار فایل اجرائی قابل تغییره
یعنی آیا امکان پذیره که کد سی یا دات نت ، بره و اطلاعات رم رو دستکاری کنه ، و آیا میشه دقیقا آدرس اون جایی که کال شده رو پیدا کرد؟
ضمنا من نمی خوام روی خود فایل اجرائی تغییرات بدم بلکه روی اطلاعاتی که توی رمه می خوام مانور بدم
میشه کاری کرد؟
قبلا از کمکتون ممنونم

fjm11100
یک شنبه 28 شهریور 1389, 10:25 صبح
فکر نکنم ویندوز همچین اجازه ای به شما بده اونم در محدوده آدرس کد یک برنامه دیگه.
چرا میخوای اینکارو بکنی؟ اگر میخوای بخشی از کدت را مخفی نگه داری و توی دات نت نباشه چرا توی زبانهای دیگه DLL نمینویسی بعد توابعش را صدا بزنی؟

hojjatshariffam
یک شنبه 28 شهریور 1389, 13:41 عصر
فکر نکنم ویندوز همچین اجازه ای به شما بده اونم در محدوده آدرس کد یک برنامه دیگه.
چرا میخوای اینکارو بکنی؟ اگر میخوای بخشی از کدت را مخفی نگه داری و توی دات نت نباشه چرا توی زبانهای دیگه DLL نمینویسی بعد توابعش را صدا بزنی؟
خب برا اینکه DLL ها امنیتشون همچین بیشتر از دات نت نیست
یکی از بچه ها گفت این کار اسمش Process Injection هست ، آیا با سی شارپ می شه این کارو کرد؟