ايران ويج

نسخه‌ی کامل: باز کردن فایل ولی نه از روی هارد
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام
من در حال نوشتن 1 برنامه Encryption هستم که هر فایلی رو که بهش می دین می آد و اون رو کد می کنه و دیگه قابل باز شدن نیست(فایل هایی که کد می کنه با پسوند dwg هستن که برنامه AutoCad این فایل ها رو باز می کنه)
حالا فرض کنین که ما 1 فایل داریم که کدش هم کردیم، حالا که دیکدش می کنیم بالاخره این فایل باید 1 جایی رو هارد save بشه و AutoCad اجرا شه و اون آدرس رو Open کنه، حالا کاربری که داره از AutoCad استفاده می کنه زود از اون فایلی که دیکد شده و AutoCad بازش کرده رو کپی می کنه و فایل ما رو می دزده!!!!!
در حقیقت من 1 برنامه می خوام که وقتی فایلم رو دیکد کرد اون رو جایی save نکنه(مثلا تو RAM همه کار ها رو بکنه) و به AutoCad بگه که اطلاعات رو از RAM بخونه!!!!!
لطفاً اگه کسی می تونه کمکی بکنه، از من دریغ نکنه که خیلی بهش احتیاج دارم.....
حالا اومدیم و یه کاری کردیم که از تو Ram فایل باز شه ، اونوقت اگه طرف فایل رو تو AutoCad بیاد Save As کنه چی؟؟ البته شاید بشه یه کامپوننت یا پلاگین برای اتوکد طراحی کرد که داخل خود اتوکد فایل رو دیکد کنه و مثلا قسمت Save as رو از کار بندازه ( اگه بشه همچین کاری کرد ) ولی به درد سرش نمی ارزه.

اگه با Save as مشکل نداشته باشی می شه مانع از کپی فایل توسط یوزر شد. کافیه کلیپ بورد رو مانیوتر کنی و اجازه ذخیره در اون رو مادامی که فایلت روی هارد هست ندی. نمونه کدش هم داخل سایت هست.
Di Di نوشته است:حالا اومدیم و یه کاری کردیم که از تو Ram فایل باز شه ، اونوقت اگه طرف فایل رو تو AutoCad بیاد Save As کنه چی؟؟ البته شاید بشه یه کامپوننت یا پلاگین برای اتوکد طراحی کرد که داخل خود اتوکد فایل رو دیکد کنه و مثلا قسمت Save as رو از کار بندازه ( اگه بشه همچین کاری کرد ) ولی به درد سرش نمی ارزه.

اگه با Save as مشکل نداشته باشی می شه مانع از کپی فایل توسط یوزر شد. کافیه کلیپ بورد رو مانیوتر کنی و اجازه ذخیره در اون رو مادامی که فایلت روی هارد هست ندی. نمونه کدش هم داخل سایت هست.

من 1 برنامه نوشتم(البته سورسش رو از اینترنت گرفتم و کمی تغییرات توش دادم) که هارد رو زیر نظر می گیره و اگه فایلی جایی Create بشه به من آدرس فایل رو می ده، حالا من این برنامه رو Run می کنم و اگه طرف Save as کنه من می فهمم و جلوشو می گیرم یا پاکش می کنم!!!! این از Save as

در مورد پلاگین یا همون کامپوننتی که بشه طراحی کرد هم باید بگم که من خودم اولش به همین داشتم فکر می کردم ولی هرچی Search کردم چیز بدرد بخوری پیدا نکردم، و از نظر من بهترین راه همینه، یعنی در حقیقت ما Autocad رو ماله خودمون می کنیم و هر کسی که این Autocad رو داشته باشه می تونه فایل ما رو باز کنه!!!!!!!

اگه کسی رو می شناسی( یا خودت) که در این مورد اطلاعاتی دارن به من معرفی کن و بگوWink
خوب شما که با Save As مشکل نداری بیا این کپی کردن تو ویندوز رو هم غیر فعال کن خیال خودتت رو هم راحت کن.

شایدم دلت بخواد AutoCad رو تغییرش بدی این هم کار سختیه ولی خوب جواب می ده.

در هر صورت از هر کدوم از دو روش بالا که استفاده کنی من به عنوان اولین نفری که می خواد روشی برای مقابله با قفل شما ارائه بده توصیه می کنم چنانچه همچین قفلی ساخته شد بعد از باز شدن فایل روی سیستم، سیستم رو از روی کیس ریست کنیم و بعد فایل رو داخل هارد دیسک سرچ کنیم و یه نسخه اش رو هم برای طراح قفل ارسال کنیم!!!
Di Di نوشته است:خوب شما که با Save As مشکل نداری بیا این کپی کردن تو ویندوز رو هم غیر فعال کن خیال خودتت رو هم راحت کن.

شایدم دلت بخواد AutoCad رو تغییرش بدی این هم کار سختیه ولی خوب جواب می ده.

در هر صورت از هر کدوم از دو روش بالا که استفاده کنی من به عنوان اولین نفری که می خواد روشی برای مقابله با قفل شما ارائه بده توصیه می کنم چنانچه همچین قفلی ساخته شد بعد از باز شدن فایل روی سیستم، سیستم رو از روی کیس ریست کنیم و بعد فایل رو داخل هارد دیسک سرچ کنیم و یه نسخه اش رو هم برای طراح قفل ارسال کنیم!!!

سلام

من این توضیح رو بدم که این 1 قفل نیست بلکه این برنامه رو من به سفارش 1 شرکت دارم می نویسم(البته شاید همون واژه قفل درست باشه)
این برنامه به هیچ وجه از محیط اون شرکت خارج نمی شه، و اگه کامپیوتر های شرکت ریست بشن، برای ورود به ویندوز باید پسورد بزنین که فقط دست System Administrator هستش Biggrin
حتی اگه پسورد هم نداشته باشن به راحتی می شه جلوی این کار رو گرفت به این صورت:
وقتی فایل باز می شه 1 متغییری True می شه و هر وقت که فایل به صورت Normal بسته بشه این متغییر False می شه، حالا اگه شما فایل رو باز کنین و ریست کنین با شروع مجدد ویندوز، برنامه من اجرا می شه و می بینه که متغییر هنوز False و سریع اون رو Encrypt می کنه!!!!

در ضمن اگه به اسم این تاپیک توجه کنی می بینی که من می خواستم جلوی همچنین فکر هایی رو بگیرم، من می خوام کاری کنم که 1 فایل اصلاً از روی هارد اجرا نشه بلکه 1 برنامه ای فایل Encrypt شده رو باز کنه و اطلاعات رو تو RAM بریزه و به Autocad بگه که بره از تو RAM فایل رو بخونه!!!!!

اگه این روش هم عملی نشد می خوام کاری کنم که هر موقع Autocad خواست فایلی رو Open کنه، برنامه من براش دیکد کنه و وقتی خواست ببندتش برنامه من Encrypt کنه!!!!

حالا اگه الگوریتمی برای این دو کار می شناسین یا نمونش رو جایی دیدین من رو هم در جریان بگذارین
سلام

معذرت می خوام اگه از وسط دارم صحبت می کنم. ولی با توضیحات شما، شما دارید روش رو اشتباه می روید!! در همچین مواردی نباید دنبال انکریپت فایل باشید، این موضوع اصلا به امنیت شبکه مربوط میشه.
تقریبا 90 درصد مطمن هستم کاربر شما بعد از چند وقت کارکردن با برنامه شما می تونه فایلها رو از شرکت خارج کنه. یک مثال ساده می زنم: کپی آبجکتهای رسم شده و پیست در یک برنامه دیگه که object رو می فهمه (مثل فتوشاپ، کورل دراو، فری هند و...) در ضمن نمی خواد بگی که فایلها رو که create میشن چک میکنی! چون باز هم براش راه حل هست (اگر شبکه وجود داشته باشه، فایل رو روی کامپیوتر دیگه ای کپی می کنه و انوقت برنامه شما دیگه چیزی متوجه نمیشه. و...........) در ضمن برنامه شما به هر طریقی می تونه از کار بیفته (taskmanager و...)
به هر حال من فقط با یک قسمت از صحبت و نظر شما موافقم که اگر بتونی انجام بدی، شاهکار کردی و فکر می کنم این تنها راه حل نرم افزاری شما باشه:
"اگه این روش هم عملی نشد می خوام کاری کنم که هر موقع Autocad خواست فایلی رو Open کنه، برنامه من براش دیکد کنه و وقتی خواست ببندتش برنامه من Encrypt کنه"

موفق باشی
;-)
معمولا بعضی شرکتها یاخود برنامه نویسا برای کار با نرمافزاراشون و توسعه اون کامپوننت یا apiهای اون نرمافزار رو منتشر میکنن که برنامه نویسا میتونن از اونها استفاده کنن (مثل 3dmax وnero که nero apiرو منتشر کرده برای کار با رایتر و سیدی رام)شما هم بهتره تو گوگل یه سرچی بکنی. اینجوری ازادی عمل بیشتری داری تا بخواهی روی تغییر و تنظیم autocad حساب کنی
تو یه سایت دیده بودم یه کامپوننت برای کار با فایلهای autocadالبته برای دلفی بود ولی خب زبانهای دیگه هم حتما باید یک چنین چیزی هم داشته باشن
تو این سایتها یه نگاه بنداز

http://www.vclcomponents.com/catalog/Autocad
http://www.componentingenuity.com/dwgdom...x#purchase
http://www.cad-design.com/software/smt_p...aries.html

تو این سایتها یه نگاه بنداز همشون کامپوننت و توابع برای کار با فایلهای autocadدارن ببین کدوم به دردت میخوره اینجوری چون فایلهات تو برنامه خودت باز میشن دیگه کسی به این راحتیها نمیتونه فایلها رو برداره

برای اطلاعات بیشتر میتونین ار کلید component+autocad +اسم زبان برنامه نویسیتون تو گوگل استفاده کنین
mRizvandi نوشته است:تقریبا 90 درصد مطمن هستم کاربر شما بعد از چند وقت کارکردن با برنامه شما می تونه فایلها رو از شرکت خارج کنه. یک مثال ساده می زنم: کپی آبجکتهای رسم شده و پیست در یک برنامه دیگه که object رو می فهمه (مثل فتوشاپ، کورل دراو، فری هند و...) در ضمن نمی خواد بگی که فایلها رو که create میشن چک میکنی! چون باز هم براش راه حل هست (اگر شبکه وجود داشته باشه، فایل رو روی کامپیوتر دیگه ای کپی می کنه و انوقت برنامه شما دیگه چیزی متوجه نمیشه. و...........) در ضمن برنامه شما به هر طریقی می تونه از کار بیفته (taskmanager و...)
در مورد این که گفتین می تونن آبجکت ها رو کپی کنن کاملاً موافقم و کاریش نمی شه کرد!!!!!
در مورد اینکه گفتین فایل رو، تو کامپیوتر دیگه ای از طریق شبکه کپی می کنه، باید بگم که برنامه من روی تمام System های شبکه نصبه!!!!
TaskManager هم بسته است(Disabled by Administrator)

lord_viper نوشته است:تو یه سایت دیده بودم یه کامپوننت برای کار با فایلهای autocadالبته برای دلفی بود ولی خب زبانهای دیگه هم حتما باید یک چنین چیزی هم داشته باشن
ما اصلاً نمی خوایم فایل های Autocad رو خودمون باز کنیم، می خوایم Decrypt شده اش رو Autocad باز کنه!!!!

فکر می کنم اگه به توضیحات زیر توجه کنین، کاملاً متوجه بشین که من دنبال چه چیزی هستم:
فرض کنین روی PC فقط 1 فایل نقشه وجود داره، برنامه ما هم قبلاً اون فایل رو Encrypt کرده ( و همچنین Registry رو هم دستکاری کرده که اگه فایل های Autocad می خواست باز شه، با خود Autocad باز نشه و فقط برنامه ما باز بشه!!!!)
حالا طرف روی نقشه Encrypt شده دوبار کلیک می کنه و برنامه ما اجرا می شه، برنامه ما فایل رو Decrypt می کنه، و AutoCad رو اجرا می کنه، حالا باید به AutoCad بگه که این نقشه Decrypt شده رو Open کن یعنی در حقیقت برنامه من وقتی نقشه ای رو Decrypt می کنه باید اون رو روی هارد Save کنه و به Autocad بگه برو از فلان آدرس فلان نقشه رو باز کن، حالا کاربر می آد و توسط Properties خود Autocad، آدرس فایل رو پیدا می کنه و اون رو Copy می کنه یا Mail می زنه!!!!
پس در حقیقت صورت مسأله اینه که ما بیایم به Autocad دستور بدیم فایلی رو باز کن که روی Hard نیست(مثلاً تو RAM لود شده، یا جزو Resource های 1 فایل EXE است یا .....)
خب بهتره از لحظهای که فایل دیکریپت میشه کلیپ بورد رو مانیتور کنین همون جور که دوستان گفتن و از اجرای همزمانctrl+s جلوگیری کنین و پنجره هایی که captionاونها save asهست رو هم ببندین بعد از پایان کار هم صریع فایلتونو encript کنید این فکر کنم راحترین راحش باشه راه های پیچیدهتری هم هستش
lord_viper نوشته است:خب بهتره از لحظهای که فایل دیکریپت میشه کلیپ بورد رو مانیتور کنین همون جور که دوستان گفتن و از اجرای همزمانctrl+s جلوگیری کنین و پنجره هایی که captionاونها save asهست رو هم ببندین بعد از پایان کار هم صریع فایلتونو encript کنید این فکر کنم راحترین راحش باشه راه های پیچیدهتری هم هستش

خب شاید یارو فایل رو copy نکنه که تو Clipboard Monitoring نمایش داده بشه، مثلاً Drag & Drop می کنه رو دستکتاپ و بعد هم Mail می زنه، فکر کنم همون راه های پیچیده تری که ازش حرف زدی کارساز باشه، درموردشون بیشتر بگو.....
صفحه‌ها: 1 2