با سلام خدمت عليرضاي عزيز
خوشحالم كه شما تجربياتتون را در اختيار ما قرار ميدين . تا به يه نتيجه ي مطلوب برسيم
شما گفتين كه
((ببیم منو شما نمونه بزار که از طریق هارد قابل استفاده باشه
بگو به غیر از کدوم روش ها (مثلا به غیر از Smartcheckو...) بازم راه پیدا کنیم))
اصلا معني اين جمله را متوجه نشدم. يعني چي از طريق هاردت قابل استفاده باشه
بعد گفتين كه
((یادمه برای یکی که عکسش هم
صادق هدایت بود برای PDF هاش اینطوری کردم(البته اون موقع READER اش را خودم آماده کردم)
))
خب شما اصلا نياز نبود reader بنويسي يه اتوران درست ميكردي با vb يا هر چي كه بلدي ؟ اولش ميگفتي كه بايد برنامه آكروبات را براي باز كردن pdf ها حتما بايد نصب كنيد. pdf هم كه پسورد دارد .خب من با استفاده از دستور sendkeys (پسورد را بعد از اينكه به صورت هش تبديل كردم) به pdf ارسال ميكنم. و بعد فايل اتوران را پك ميكردي
البته بايد چند خطي كد هم براي چك كردن مشخصات فايلت مينوشتي. البته درجه امنيت اين روش با قفل گزاري بر روي فايل هاي اگزه يكسان نخواهد بود. امنيت اين روش روي pdf خيلي پايين هست. چون باگ هاي زيادي داره. و طرف يكم زيرك باشه ميتونه مچشو بگيره
بعد گفتين كه
راستی اگر بخوایی
1- از طریق CommandLine این کار را بکنی >> خیلی ضایع است مثله حرفی که دوستان گفتن البته آسون ترش اینه که از خوده ویندوز بپرسی چی بوده!)
2- از طریق تایپ استفاده کنی (یعنی برنامه به جای کاربر تایپ کنه) >> اونوقت خیلی صایع میشه از Keylogger استفاده کرد (الیته این روش آسونشه میتونی خودت هم بری HOOk کنی)
اين دو مورد را با persiankitty بحث كرديم.
امكان نداره با استفاده از روش 1 بتوني پسورد را بدست بياري. (بخاطر checksum )
قسمت دوم خيلي شبيه پروتكت من هست . البته تو برنامه ي من برنامه تايپ نمي كنه . فقط enter ميزنه. يعني پسورد را قبلا فرستاده
كي لاگر نميتونه دستشو بخونه . كي لاگر فقط چيزهايي كه مستقيم از صفحه كليد هست ميخونه تازه بعضي از كد هاي اسكي را نشون نميده؟
خلاصه اينكه براي امنيت بيشتر
1 _ بهتره تمام فايل ها درون پوشه ي ايليگال نامي باشه
2_ پسوردي كه ميگذاريم طولاني و با استفاده از كاراكتر هاي خاص باشه
3 _ يه الگوريتم مناسب براي پسورد در برنامه استفاده بشه
4_ پسورد تمام فايل ها يكسان نباشه
5_ تمام فايل هاي اگزه پك بشن . طوري كه Anti debug , Anti trace,Anti dump باشن با پكر هاي مختلف هم پك بشن
6_ در صورت امكان فايل ها هايد بشن
يه جايي گفتي كه ميتوني خودت هوك كني
هوك كردن به اين راحتي هست مگه
اولا آنتي ويروس به اين مساله گير ميده
دوم كامپيوتر هنگ ميكنه.
بعضي موقع كامپيوتر ريستارت ميشه
چون تو اين كار سر وكارت با توابع Api هست. توابع Api داراي ضعف هاي زيادي هستن
==========================
در مبحث CRC شما خوتون گفتين كه
اگر بخوایی مقدار CRC چکی که در برنامه ذخیره میکنی در خوده فایل EXe باشه اونوقت CRC خوده فایل EXE هم عوض ميشه
بعدش گفتين برنامه اي بنويسم كه CRC همديگرو چك كنن .
خب حرف هاي شما عكس و نقيض هم است. خب اگه CRC ها عوض نميشد ميتونستم برنامه را بنويسم
ولي ديگه ما نميتونيم با عوض شدن CRC , اونو حدس بزنيم
حالا من نميدونم شما از اين مبحث چطور به Hash MD5 رسيدي؟؟؟؟؟؟؟؟؟؟؟
ولي من مطمئنم كه با برنامه ي CRC checker نميشه به جايي رسيد
================================================== ===========
حالا اين بحث ها بماند
من اين پروژه ام هنوز در مراحل طرح و....... است
يه مشكل خيلي جدي هست كه نمي تونم حلش كنم
بعد از ديدن نظرات اساتيد
من موضوع را ميگم
سلام دوست عزیز
اول از همه ار هارت قابل استفاده باشه یعنی اینکه مثلا در برنامتون اگر جایی دارید
که چک کنه که حتما از روی سیدی اجرا بشه را حذف کنید و .... تا بشه هردوتا ش را از روی هارد اجرا کرد
یک جا شما گفتین با Smartcheck میشه راحت فهمید . یعنی الان ما باید بدون استفاده از Smartcheck یک راهه دیگه پیدا کنیم
گزینه هایی که نباید استفاده کنیم را بگید
در مورد همون Reader خوشحال میشم شخصی برام توضیح بدید چون فکر نمیکنم بحث کردن در موردش
در این تاپیک مصلحت باشه. تا فردا شب اگر PM نزدید خودم براتون میفرست
احتمالا CommandLine ای که شما میگید با اونی که من میگم فرق میکنه . چون اونی که من میدونم را خوده ویندوز
در حافظه اش ثبت میکنه
روش دومی که گفتم گفتم آسونش اینه که از کیلاگر استفاده کنی سختش اینه که خودت بری هوک کنی
یعنی باید اینطوری میخوندی : البته این آسونشه. میتونی خودت هم بری Hook کنی.
زمانی که در مورد کیلاگر تحقیق میکردم به این رسیدم:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یعنی اینکه کیلاگر فقط ورودی کیبورد را نمیگیره . یکی از روشهاش اینه برای همین نمیتونی انقدر مطمئن نظر بدی
البته یک موضوع دیگه ای هم هست . شما با هر ابزاری که برای فرستادن پسورد استفاده کنی بازم قابل هکه
چون شما باید بین برنامه خودتون و برنامه بعدی یک جوری ارتباط برقرار کنی. اون هم فقط از طریق ویندوز امکان پذیره
وقتی از طریق ویندوز این کارا بکنی مطمئنا امنیت هم نداری
یعنی شما هر جور برنامه خودت و یا هر چیز دیگه ای را 100 بار پک کنی و با فرض این که کسی اصلا نتونه دوتا فایل
را ببینه بازم از طریق خوده ویندوز میشه کاره شما را خنثی کرد .
حالا خوشحال میشم لطف کنی و بگی که چجوری پسورد را از قبل برای ستاپ فرستادی. چون کنجکاو شدم
در رابطه به هوک کردن. یک عالمه سورس روی اینترنت ریخته . چرا باید آنتی ویروس گیر بده در حالی که روی کامپیوترت آنتی ویروس نصب نیست! تازه تا اونجایی که میدونم خوده ویندوز برای هوک کردن ابزاری داره (دقیقا بلد نیستم ولی اگر کنجکاوی میتونم برم دنبالش)
خوب شما صورت سوال را متوجه نشدین.
شما میگید این کار غیر ممکنه. درصورتی که اثبات داره که این کار ممکنه. و متاسفانه اسم سوال را یادم رفته
ولی اگر بازم خیلی کنجکاو هستید میرم و دوباره دنبال صورت سوال میرم و برات میزارم.
طبق اثبات حل اون مسئله میشه دوتا برنامه نوشت که CRC همدیگر را چک کنند . و به نظر من اگر این کار را بتونی
پیاده کنی در صورتی که جای دیگه مشکل نداشته باشه امنیت برنامه ات خیلی زیاد میشه.
البته من اثباتش در یک کتاب انگلیسی دیدم
ولی خودم تا حالا ندیدم که همچین برنامه ای نوشته بشه شاید چون زیاد دنبالش نرفتم
فکر میکنم که از نظر محاسباتی خیلی خیلی خیلی خیلی سنگین باشه
CRC هم یک مشخصه فایل نیست. بلکه خروجی حاصل از تابعیه که ورودیش فایله
کاریه که دقیقا با تابع MD5 هم میشه کرد
صورت سوال را دوباره میگم
دوتا برنامه بنویسید . اولی دومی را اجرا کند به شرطی که اثر انگشت برنامه دوم با اثر انگشت ذخیره شده در برنامه
اول مطابقت داشته باشد
تا اینجاش آسونه
دومی اجرا شود به شرطی که اثر انگشت برنامه ی اجرا کننده (یعنی برنامه اولی) با اثر انگشت ذخیره شده در برنامه دوم یکسان باشد.
حالا سخت میشه
یک کار خیلی آسونی که هست اینه که از یک فایل سوم کمک بگیریم (ولی صورت مسئله اینو نخواسته ها) و امنیت فایل سوم را تامین کنیم
(ما اینجاییم که با هم یاد بگیریم نه دعوا کنیم و از هم دیگر ایراد بگیریم )
یک سوال باحال دیگه ای هم دارم
یک کد md5 پیدا کنید که md5 اش بشه خودش
خوشحال میشم مشکلتون را بگید تا شاید بتونیم حلش کنیم
قربانت