PDA

View Full Version : آیا فایل Exe که رمزگذاری کردیم،میتوان بدون برگشت به حالت اول به یک روشی بازش کنیم؟



Delphi7_love
دوشنبه 08 آذر 1389, 18:16 عصر
میخوام یه فایل Exe کنار برنامه داشته باشم که رمز گذاری شده و این فایل رو از داخل برنامه باز کنم
آیا میتوان به یک روشی بدون برگشت به حالت اول بازش کرد ؟

در حقیقت میخوام از بیرون برنامه نشه بازش کرد

Felony
دوشنبه 08 آذر 1389, 19:11 عصر
اگر فقط میخواین نشه از بیرون برنامه اجراش کرد نیازی به کد کردن برنامه نیست ، میتونید برنامتون رو به وسیله پارامتر اجرا کنید ، کسی هم که از بیرون برنامه رو بخواد اجرا کنه پارامتر برنامه رو نمیدونه و نمیتونه اجراش کنه ، به وسیله ParamCount میتونید تعداد پارامترهای پاس داده شده به برنامه رو بخونید و به وسیله ParamStr مقدارشون رو بگیرید ، مثلا کد زیر اگر برنامه با پارامتری به غیر از 123 اجرا بشه اون رو بلافاصله میبنده :


if ParamStr(1)<> '123' then
Application.Terminate;

Pascal
دوشنبه 08 آذر 1389, 19:19 عصر
اگر فقط میخواین نشه از بیرون برنامه اجراش کرد نیازی به کد کردن برنامه نیست ، میتونید برنامتون رو به وسیله پارامتر اجرا کنید ، کسی هم که از بیرون برنامه رو بخواد اجرا کنه پارامتر برنامه رو نمیدونه و نمیتونه اجراش کنه ، به وسیله ParamCount میتونید تعداد پارامترهای پاس داده شده به برنامه رو بخونید و به وسیله ParamStr مقدارشون رو بگیرید ، مثلا کد زیر اگر برنامه با پارامتری به غیر از 123 اجرا بشه اون رو بلافاصله میبنده :


if ParamStr(0)<> '123' then
Application.Terminate;

پارامتر را چگونه به برنامه دوم ارسال كنيم؟

Felony
دوشنبه 08 آذر 1389, 19:52 عصر
تو کد بالا من حواسم نبود و ایندکس ParamStr رو با 0 مقدار دهی کرده بودم ، ایندکس ParamStr رو با 1 مقدار دهی کنید و کتابخانه ShellAPI رو به Uses اضافه کنید و برای اجرای برنامتون به صورت زیر پارامتر رو بهش بفرستید :


ShellExecute(0, '', 'D:\Project1.exe', '123', '', 1);

اگر ایندکس ParamStr رو با 0 مقدار دهی کنید آدرس و نام فایل اجرایی برنامه رو بر میگردونه ، یعنی مثل کد زیر عمل میکنه :


Application.ExeName