PDA

View Full Version : pe resources



alimrb
سه شنبه 08 مهر 1382, 13:06 عصر
سلام

من یه چیزایی راجع به ریسورس برنامه های pe می دونم می خواستم اولا اطلاعات بیشتری در مورد دستکاریشون داشته باشم. ثانیا چطور میشه به یک برنامه exe ‌یه چیزایی رو اضافه کرد. :shock:

vDelphi
سه شنبه 08 مهر 1382, 22:55 عصر
با برنامه EXEScope میتونی فایل exe رو دستکاری کنی!

alimrb
چهارشنبه 09 مهر 1382, 18:36 عصر
این برنامه را برای دستکاری این جور فایلها امتحان کرده ام حتی برنامه های بهتر از اینهم وجود دارم ولی یکی از مشکلاتی که اینها دارن اینه که نمی شه کامپوننتی را حتی به شکل ظاهری بدون داشتن کد به آنها اضافه کرد.

اگر اطلاعات دیگه ای به من بدید متشکرم. :shock:

vDelphi
چهارشنبه 09 مهر 1382, 19:51 عصر
اگه مشکله شما با این چیزا حل نمیشه. باید به فکر یه دیباگر خوب باشی! که البته لازمش اینه که به اسمبلی مسلط باشی. :roll:

Mashatan
پنج شنبه 10 مهر 1382, 01:31 صبح
اینکه بخواید یه Component رو اضافه کنید این تقریبا غیر ممکنه ! ولی میتونید هر کدی که به زبان اسمبلی داشته باشید رو به یک EXE اضافه کنید اول اجازه بدید یک توضیح کوتاه بدم Windows برای اجرای برنامه ها از چندین فرمت مختلف استفاده میکنه که به شرح زیر است :


MZ old-style DOS executable
NE Windows or OS/2 1.x segmented ("new") executable
LE Windows virtual device driver (VxD) linear executable
W3 Windows WIN386.EXE file; a collection of LE files
PE Win32 (Windows NT and Win32s) portable executable based on Unix COFF
اگر خواستی فرمت تک تک شو بهت میدم ولی در مورد اضافه کردن یک برنامه به EXE این کار شدنی هست همانطور که میدونی اغلب فایلهای اجرای Win32 و WinNT از فرمت PE استفاده میکنند و این فرمت جوری طراحی شده که به راحتی میشه به هر میزان که مایل باشید section اضافه کنید و شما میتونید در Section ها کد یا داده خام قرار بدید.
لازم به ذکره که تمامی Shell Protection ها با اضافه کردن یک Section و عوض کردن Entry point عملیات خودشونو انجام میدن از این نمونه میشه به Aspack (http://www.aspack.com) اشاره کرد.
نمونه دیگر ، قویترین فشرده ساز نوشته شده برای EXE یعنی UPX (http://upx.sourceforge.net) هست که اتفاقا Open Source هم هست.

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

ارادتمند مشاطان

alimrb
پنج شنبه 10 مهر 1382, 18:40 عصر
با تشکر از اطلاعاتی که دادید.

فرض رو بر این بگیریم که یه برنامه که به زبان دلفی نوشته شده آمده باشد از یه کامپوننت غیر استاندارد استفاده کرده باشد(مثلا برای گزارش) که این کامپوننت به صورت کلاس داخل خود pe (چه exe چه dll چه ...) کد شده باشد. چطور می توانم به این کامپوننت دسترسی داشته باشم . یا حتی الامکان چیزی رو جایگزینش کنم. می دونم این کار سخته و به دانش کدینگ اسمبلی ویندوز که پدر بیامرز سطحش هم یه کم بالاتر اومده، نیاز داره. ولی این رو هم می دونم که کار نشد نداره. مثلا یک برنامه ای هست به اسم asm2c که میشه نتیجه اسمبلی بدست اومده از disassembler ها رو از طریق اون به کد c تبدیل کرد. یا حتی با قابلیت uml دلفی 7 میشه reverse engineering رو روی pe انجام داد.

حالا اگر اطلاعاتی راجع به این مساله بدید ممنون میشم. :shock:

Mashatan
پنج شنبه 10 مهر 1382, 21:13 عصر
نمیدونم UML چه ربطی به مهندسی معکوس داره !!!
در هر صورت این مسئله تقریبا غیر ممکنه ! حداقل من ندیدم

در مورد disassembler ها هم اگر اینجوری بود که Cracker ها به خودشون زحمت نمیدادن این همه با اسمبلی کلنجار برن :))

ارادتمند مشاطان

N_D
یک شنبه 13 مهر 1382, 17:32 عصر
جناب مشاطان لطفا نمونه ابزاری که با ان میتوان کرک کرد را تحت عنوان مقاله ای آورده و اندکی توضیح بفرمائید . در ضمن نحوه تهیه این ابزارها در ایران را نیز عنوان کنید تا دسترسی به انها آسانتر شود .

Mashatan
یک شنبه 13 مهر 1382, 19:09 عصر
آخه کسی میخواد مقاله بنویسه باید قدرت انتقالش خوب باشه که من توانایی شو ندارم !

اینجا یکی از منابع خوب برای Crack هست http://pham.bulhosting.com/protools/

اراتمند
مشاطان

Inprise
دوشنبه 14 مهر 1382, 19:59 عصر
فرض رو بر این بگیریم که یه برنامه که به زبان دلفی نوشته شده آمده باشد از یه کامپوننت غیر استاندارد استفاده کرده باشد(مثلا برای گزارش) که این کامپوننت به صورت کلاس داخل خود pe (چه exe چه dll چه ...) کد شده باشد. چطور می توانم به این کامپوننت دسترسی داشته باشم . یا حتی الامکان چیزی رو جایگزینش کنم. می دونم این کار سخته و به دانش کدینگ اسمبلی ویندوز که پدر بیامرز سطحش هم یه کم بالاتر اومده، نیاز داره. ولی این رو هم می دونم که کار نشد نداره

دوست عزیز
مطمئن باش دقیقا همین یه دونه کاره که نشد داره !!! :!:
حتی با دانش اسمبلی هم انجام کاری که فرمودی ممکن نیست .

alimrb
دوشنبه 14 مهر 1382, 20:17 عصر
سلام.
لطفا یه سری به سایت baorland بزنید و یه سرچ کوچولو بکنید. راجه به uml و reverse engineering مطلب هست. اگر موفق نشدید منم خدمتتون هستم.


این یکی از چیزایی هستش که delphi 7 خیلی روش مانور داده.


:shock:

Inprise
دوشنبه 14 مهر 1382, 20:24 عصر
مثلا یک برنامه ای هست به اسم asm2c که میشه نتیجه اسمبلی بدست اومده از disassembler ها رو از طریق اون به کد c تبدیل کرد. یا حتی با قابلیت uml دلفی 7 میشه reverse engineering رو روی pe انجام داد.


الف) برنامه مذکور و برنامه هائی اینچنین عمل فوق را انجام میدهند اما شرط صحت نتیجه این است که کد ماشین یا اسمبلی مذکور با C ( طبق فرض شما ) نوشته شده باشد !

ب) هر چند بحث مهندسی معکوس یکی از ارکان UML است اما مهندسی معکوس ارتباطی با تبدیل باینری به کد ندارد . مهندسی معکوس به مفهوم عام تبدیل کدهای موجود ( در صورتیکه حداقل شرایط لازمه را داشته باشند ) به نمودارهای 5 گانهء UML است .

ج) دلفی هنوز ابزار قابل اعتمادی برای پیاده سازی وظایف مهندسی معکوس ندارد .

موفق باشید

Kambiz
سه شنبه 15 مهر 1382, 00:19 صبح
به فرض عملی بودن این کار هزینه و زمانی که می‌بره بدون شک از هزینه و زمان نوشتن همین برنامه از صفر بیشتر هست.

alimrb
سه شنبه 15 مهر 1382, 19:42 عصر
جناب mashhatan
دقیقا کاری که هکرها و کرکها می کنند اینه که سورس اسمبلی رو لوکاپ می کنند.
اگر اطلاعات بیشتری خواستید ما در خدمتیم. :shock:

Mashatan
سه شنبه 15 مهر 1382, 23:37 عصر
جناب mashhatan
دقیقا کاری که هکرها و کرکها می کنند اینه که سورس اسمبلی رو لوکاپ می کنند.
اگر اطلاعات بیشتری خواستید ما در خدمتیم. :shock:

چشم سعی میکنم یادم بمونه که کرکرها چیکار میکنند
بحثها و مطالب تکنیکال شما رو هم میخونم !!