PDA

View Full Version : سوال: يك فايل pdf دارم كه مي خوام با برنامه باز كنم و هيچ جور ديگه نشه باز كرد



hanieh66
پنج شنبه 15 مهر 1389, 00:20 صبح
سلام
من يك فايل پي دي اف دارم كه مي خوام با يك برنامه كه با سي شارپ مي خوام بنويسم بازش كنم.مي خواستم ببينم چيكار كنم كه فقط و فقط با اين برنامه بشه بازش كرد؟
يعني هيچ كس ديگه اي نتونه به اين فايل پي دي اف دسترسي پيدا كنه و اون كش بره

ایمان مدائنی
پنج شنبه 15 مهر 1389, 07:31 صبح
دوست عزيز ميتوني با كد زيپش كني و بعد با برنامه ات بازش كني كه پسورد رو فقط خودت داري

حالا اگه مشكل باز كردن در برنامه ات هست بگو برات نمونه بزارم كه بتوني پي دي اف رو تو برنامه ات باز كني !

group45
پنج شنبه 15 مهر 1389, 08:38 صبح
لطفا بگید چطوری میشه پی دی اف رو تو برنامه باز کرد؟؟؟؟؟

mmd2009
پنج شنبه 15 مهر 1389, 08:55 صبح
با سلام

با کامپوننت PDFView4NET میتونید به راحتی این کارو بکنید

موفق باشید

ایمان مدائنی
پنج شنبه 15 مهر 1389, 09:08 صبح
دوستان من خواستم نمونه رو بزارم ولي سايت ارور ميده
حجمش هم درسته
الان جاي ديگه آپلود ميكنم لينك ميزارم

hanieh66
پنج شنبه 15 مهر 1389, 09:45 صبح
دوست عزيز ميتوني با كد زيپش كني و بعد با برنامه ات بازش كني كه پسورد رو فقط خودت داري

حالا اگه مشكل باز كردن در برنامه ات هست بگو برات نمونه بزارم كه بتوني پي دي اف رو تو برنامه ات باز كني !
آره براي اين موردي كه گفتين به چه صورت بايد عمل كنم؟
البته مي شه يه مثال براي فايلهاي rar بزنين بجاي زيپ چون rar از زيپ امنيت پسوردش بيشتره اينطور كه من شنيدم



با سلام

با کامپوننت PDFView4NET میتونید به راحتی این کارو بکنید

موفق باشید
مرسي .
خب ببينيد مشكل اينه كه الان اين فايل پي دي اف بايد يكجا باشه تا از اونجا خونده بشه توي برنامه.حالا كه بايد يكجا باشه مي خوام هيچ كسي نتونه اونو دسترسي پيدا كنه يا نتونه براي خودش كپي كنه و بعدا خودش بازش كنه.

يك راهي كه يكي گفت اين بود كه فايلهاي پي دي اف رو در بانك اطلاعاتي بريزم و در برنامم بخومشون.ولي خب هر كسي كه يكم برنامه نويسي بانك اطلاعاتي كرده باشه مي تونه بانك رو ببره جاي ديگه و بخونه اطلاعات رو.براي اين چه كاري مي شه كرد؟

متوجه شدين مشكل كجاست دوستان؟ فايل پي دي اف بايد يجايي باشه كه نشه معمولي بازش كرد.و فقط از طريق برنامه ي من بشه خوندش.

mmd2009
پنج شنبه 15 مهر 1389, 09:56 صبح
یک راهش اینه شما از نرم افزار Thinstall Studio هست که امنیت فایل رو میبره بالا.

طبق گفته سازندش امنیت بالایی داره. ولی هنوز خودم امتحان نکردم ولی کاربرانی امنیتی این سایت هم دیدم که همین برنامه رو مورد تایید قرار دادن. در موردش تحقیق کن

موفق باشی

hanieh66
پنج شنبه 15 مهر 1389, 10:36 صبح
باشه مرسي .در اين مورد هم تحقيق مي كنم

hanieh66
پنج شنبه 15 مهر 1389, 10:49 صبح
اين برنامه انگار با سي شارپ كار نمي كنه اينجور كه تو سايتش نوشته :
http://www.sharewarejunkies.com/03zwd8/thinstall_studio.htm

hanieh66
پنج شنبه 15 مهر 1389, 11:12 صبح
يك روش كه با مشورت با چند نفر فهميدم اينه كه براي فايلهاي پي دي اف پسورد بذارم و بعدش تو برنامه اونها رو بخونم.اين روش خيلي ساده در عين حال قدرتمنديه به شرطي كه اولا پسورد مشكلي بذارم براي اون فايلها و دوما خود برنامه ي سي شارپي كه مي نويسم رو محافظتش كنم تا كسي از تو سورس برنامه هم نتونه پسورد رو پيدا كنه.

حالا علاوه بر اين كارها مي خوام فايلهاي پي دي اف رو (چون كه هر چند روز به اين فايلهاي پي دي اف اضافه مي شه) وقتي كه پسورد براشون مي ذارم مستقيم در بانك اطلاعاتي ذخيره كنم تا ديگه دسترسي معمولي به اين فايلها هم نداشته باشه كسي.

اين راهي بود كه يكي از دوستان برنامه نويسم بهم پيشنهاد داد
نظر شما چيه بچه ها؟

ali.rezaei7
پنج شنبه 15 مهر 1389, 12:12 عصر
به نظر من بهتره ساختار فایل هاتو با الگریتم های رمزنگاری تغییر بدی تا کسی نتونه محتویات فایل ها رو کشف کنه وبرای برگردندن فایل ها به فرمت پی دی اف فایل ها رو رمز گشایی می کنی.

ایمان مدائنی
پنج شنبه 15 مهر 1389, 12:57 عصر
دوستان من نمونه برنامه براي اينكار دارم
ولي حدودا حجمش 20 مگا بايت هست
كجا آپلود كنم ؟
سايت پرشين گيگ اجازه آپلود نداد

ali.rezaei7
پنج شنبه 15 مهر 1389, 13:11 عصر
فکر کنم به کارت بیاد:
http://www.codeproject.com/KB/security/fileencryptdecrypt.aspx

flash118
پنج شنبه 15 مهر 1389, 15:00 عصر
خوب دوستان راه کارهای خوبی گفتن اما اینم یه راهکار از جانب من
خوب دوست عزیز شما می تونی تمام فایل هاتو تو یه فولدر قرار بدی بعد رو اون پوشه قفل بزاری من نمونش رو دارم که فولدر رو فقل و باز میکنه با این کار داده ها محافظت میشن حالا کافیه که هر موقع خواستی دوباره از حالت قفل خارج کنی و هر کدوم رو که خواستی با برنامت به اجرا در بیاری در ضمن در مورد قفل کردن فولدر اگه مشکل داشتین بگید سورس بزارم خدممتون موفق باشین

hanieh66
پنج شنبه 15 مهر 1389, 15:17 عصر
خوب دوستان راه کارهای خوبی گفتن اما اینم یه راهکار از جانب من
خوب دوست عزیز شما می تونی تمام فایل هاتو تو یه فولدر قرار بدی بعد رو اون پوشه قفل بزاری من نمونش رو دارم که فولدر رو فقل و باز میکنه با این کار داده ها محافظت میشن حالا کافیه که هر موقع خواستی دوباره از حالت قفل خارج کنی و هر کدوم رو که خواستی با برنامت به اجرا در بیاری در ضمن در مورد قفل کردن فولدر اگه مشکل داشتین بگید سورس بزارم خدممتون موفق باشین
ولي اينكار يك نقطه ضعفي كه داره اينه كه فردي مي تونه با گذاشتن يك سي دي لينوكس لايو مثل اوبونتو بياد بالا و محتواي اون شاخه رو راحت ببينه.

اما راهي كه با مشورت دوستان به نتيجه رسوندم اينه كه من يك فايل پي دي اف معمولي رو مثلا هر 2 روز يكبار دريافت ميكنم و حالا با نرم افزار خودم و با كمك ابزارهايي كه براي فايل پي دي اف پسورد مي ذارن روي اون پسورد مي ذارم و سپس اون رو در بانك اطلاعاتي اكسس كه خود بانك هم پسورد داره ذخيره مي كنم. يعني من يك بانك از فايلهاي پي دي اف با پسورد دارم و فقط از طريق برنامه ي من مي شه اين فايلها رو خوند (با ابزاري كه يكي از دوستان در صفحه قبل معرفي كردن براي خواندن فايلهاي پي دي اف).
كار ديگري كه بايد انجام دهم اينه كه برنامه اي كه مي نويسم رو در برابر ابزارهاي رفلكتور محافظ كنم كه باز در اين مورد تحقيق مي كنم.

با تشكر از همه

ali.rezaei7
پنج شنبه 15 مهر 1389, 15:32 عصر
بازیابی پسورد به راحتی توسط نرم افزارهای password recoveryانجام میشه. اگه بخواهید می تونم لینک اون نرم افزارها رو بزارم.
اینا برای پی دی اف:
www.p30download.com/archives/utility/recovery/download_pdf_passwor
d_unlocker_full/
www.p30download.com/archives/utility/useful_tool/download_elcomsoft_advanced_pdf_password_recovery_ full/

این برای winrar
www.p30download.com/archives/utility/useful_tool/download_rar_password_recovery_magic_full/
هک رمز DB هم از همشون سریعتره حتی بدون استفاده از اسکن. ولی لینکشو ندارم.

hanieh66
جمعه 16 مهر 1389, 00:39 صبح
بازیابی پسورد به راحتی توسط نرم افزارهای password recoveryانجام میشه. اگه بخواهید می تونم لینک اون نرم افزارها رو بزارم.
اینا برای پی دی اف:
www.p30download.com/archives/utility/recovery/download_pdf_passwor (http://www.p30download.com/archives/utility/recovery/download_pdf_passwor)
d_unlocker_full/
www.p30download.com/archives/utility/useful_tool/download_elcomsoft_advanced_pdf_password_recovery_ full/ (http://www.p30download.com/archives/utility/useful_tool/download_elcomsoft_advanced_pdf_password_recovery_ full/)

این برای winrar
www.p30download.com/archives/utility/useful_tool/download_rar_password_recovery_magic_full/ (http://www.p30download.com/archives/utility/useful_tool/download_rar_password_recovery_magic_full/)
هک رمز DB هم از همشون سریعتره حتی بدون استفاده از اسکن. ولی لینکشو ندارم.
نه اشتباه مي كنيد.
شما الان براحتي پسورد اين فايل پي دي اف رو كه اتچ كردم در اختيار من بذاريد همينجا ببينم .



اين نرم افزارها آخرين كاري كه مي تونن انجام بدن استفاده از روش بروت فورس است و در صورت انتخاب يك پسورد خوب پيدا كردن آن چندين سال طول مي كشه.

روشي كه من تصميم به انجامش گرفتم چندين مرحله امنيت رو شامل مي شود:
امنيت بانك اطلاعاتي (گذاشتن پسورد روي بانك. حتي با تغيير پسوند فايل از .mdb به مثلا .db يا .sdf يك مهاجم مبتدي به اشتباه مي افتد)
امنيت خود فايل پي دي اف (كه فايل پي دي اف رو كاملا انكريپت مي كنم و پسورد مي ذارم و اجازه هيچگونه پرينت يا سواستفاده ي ديگري هم نمي دهم)
امنيت نرم افزار(با استفاده از برنامه هايي كه براي محافظت كد MSIL وجود دارند خود برنامه را هم ايمن مي كنم)

hanieh66
جمعه 16 مهر 1389, 00:43 صبح
هيچ وقت گول تبليغات را نخوريد.اول استفاده كنيد و به جواب كه رسيديد با قاطعيت نظر بديد.(البته باز هم چون تمام موارد رو ممكنه چك نكرده باشيم نمي شه با قاطعيت نظر داد)

mmd2009
جمعه 16 مهر 1389, 01:20 صبح
یک راه دیگه امنیت هم اینه که کلا اجتناب کنید از ارتباط مستقیم برنامه با sql و از sp استفاده بکنید.

برای پسوورد دیتابیس هم راه های زیادی هست که میتونید استفاده بکنید که جوجه هکرها هم به عقلشون نمیرسه باید چیکار بکنن. البته اگر قرار باشه فایل درون بانک باشه و اگه قراره خارج از بانک باشه بحث امنیت اون فارغ از سی شارپ و Sql است.


راستی یک سوال : برای پسوورد گذاری روی فایلتون از چه نرم افزاری استفاده میکنید ؟

hanieh66
جمعه 16 مهر 1389, 11:12 صبح
یک راه دیگه امنیت هم اینه که کلا اجتناب کنید از ارتباط مستقیم برنامه با sql و از sp استفاده بکنید.

برای پسوورد دیتابیس هم راه های زیادی هست که میتونید استفاده بکنید که جوجه هکرها هم به عقلشون نمیرسه باید چیکار بکنن. البته اگر قرار باشه فایل درون بانک باشه و اگه قراره خارج از بانک باشه بحث امنیت اون فارغ از سی شارپ و Sql است.


راستی یک سوال : برای پسوورد گذاری روی فایلتون از چه نرم افزاری استفاده میکنید ؟
اول اينكه براي پسوردگذاري از همون كامپوننت pdfview4net كه در صفحه اول معرفي شد استفاده مي كنم. به اينصورت كه نرم افزار قراره يك فايل پي دي اف معمولي رو از طريق وب سايت شركت دريافت كنه و كاربر بتونه فقط از طريق برنامه ي من اين فايل رو بخونه و نتونه به كسي بده يا جايي منتقلش كنه.

من روي فايل پي دي اف پسورد (يك پسورد پيچيده و تركيبي از اعداد و علائم و حروف كوچك و بزرگ) مي ذارم و كليه عمليات مثل پرينت گرفتن و كپي پيست و ... رو برمي دارم.
همچنين از بانك اكسس استفاده مي خوام بكنم چون پسورد مي شه گذاشت (البته مي دونم كه اونقدرها هم محكم نيست الگوريتمش) و كاري كه مي كنم اينه كه فايلش رو تغيير پسوند مي دم تا با اين كار خيلي ساده درصدي از افراد كه قصد سواستفاده دارن گيج بشن.
البته دليل ديگه اي كه از اكسس استفاده مي كنم اينه كه حجم ستاپ كم مي شه و اونقدرها نيازي به فايلهاي اضافي مثل اس كيو ال سرور نداره.

دليل اينكه از بانك اس كيو ال (اكسپرس اديشن) استفاده نمي كنم اينه كه بلد نيستم از لحاظ امنيتي محكمش كنم .يعني مثلا مثل اكسس نمي تونم رووش پسورد بذارم.
در اين مورد هم خيلي دوست دارم بدونم چكاري بايد انجام بدم تا يك بانك اس كيو ال رو كاملا ايمن كنم و كسي نتونه اونو ببره جاي ديگه و اطلاعاتش رو بخونه.

اين كل چيزايي بود كه من در مورد پروژه مي دونم.حالا شما چه پيشنهادهايي دارين؟
اينكه چه جاهاي كارم مشكل داره؟ و نكته مهم كه خيلي دوست دارم بدونم اينه چجوري رو بانك اس كيو ال پسورد بذارم؟ (من با login و اون security كه كار مي كنم گيج مي شم و نمي تونم اونكاري كه مي خوام رو بكنم در آخر) و هر كار ديگه اي كه بشه براي حفظ امنيت انجام داد.

يك چيز ديگه اينكه همونطور كه گفتين بهتره از sp استفاده كنم در خود بانك ولي چون ياد ندارم براي بانك اس كيو ال پسورد بذارم نمي شه ديگه اين كار رو بكنم.
با تشكر

mmd2009
جمعه 16 مهر 1389, 12:20 عصر
ببینید برای اون کامپوننتی که من معرفی کردم فقط برای نمایش فایل PDF بود و نه پسوورد گذاری. شما میتونید از یک نرم افزار که قابلیت رمز گذاری 128 بیت رو داره استفاده بکنید. مثلا نرم افزار Nitro میتونه به شما در این زمینه کمک بکنه.
برای استفاده از بانک اکسس به جای بانک Sql اصلا چنین پیشنهادی جالب نیست چون حتی یک جوجه هکر هم میتونه در مدت کوتاه پسوورد بانک رو در بیاره و از اونجایی که امنیت در اکسس اینقدر پایین هست که میشه راحت دیگه به اطلاعاتش نفوذ کرد. پس کلا قید بانک اکسس رو بزنید یا اینکه سیستم امنیتی فایل pdf رو خیلی بالا ببرید که نشه بهش نفوذ کرد.
ودر اخر هم بگم Sql قابلیا هایی زیادی برای حفظ ساختار داره که شما میتونید برای ترایگر ها برای این کار استفاده بکنید وحتی میتونید Sp رو هم انکریپ کنید بعد از طراحی که کسی نتونه دیگه دسترسی بهشون داشته باشه.
برای اینکه اطلاعات بیشتری بدست بیارید سوالتون رو تو تالار زیر برای امنیت بپرسید :

http://www.barnamenevis.org/forum/images/statusicon/subforum_old.gif امنیت در نرم افزار و برنامه نویسی (http://www.barnamenevis.org/forum/forumdisplay.php?f=66)

کاربرانی مثل Nima NT (http://www.barnamenevis.org/forum/member.php?find=lastposter&t=248979) تجربه بیشتری دارن و میتونن راهنمای خوبی برای شما باشن تو بخش امنیت

موفق باشید

mmd2009
جمعه 16 مهر 1389, 12:26 عصر
برای بخش اخر سوالتون هم به تالار زیر برید امیدوارم جواب قانع کننده ای از چگونگی گذاشتن پسوورد روی دیتابیس بهتون بگن

http://www.barnamenevis.org/forum/images/statusicon/subforum_new.gif پایگاه داده SQL Server (http://www.barnamenevis.org/forum/forumdisplay.php?f=21)

hanieh66
جمعه 16 مهر 1389, 22:03 عصر
اتفاقا اون كامپوننت خيلي خوب پسورد مي تونه بذاره.شما مي تونين از اين تابع كه من نوشتم تو سي شارپ استفاده كنيد و نيازي به نرم افزار ديگه اي نيست :



private void setPDFSecurityProps(O2S.Components.PDFView4NET.PDF Document PDFDoc)
{
PDFDoc.SecurityManager = new O2S.Components.PDFView4NET.PDFSecurityManager();
PDFDoc.SecurityManager.AllowAccessibilityExtractCo ntent = false;
PDFDoc.SecurityManager.AllowAssembleDocument = false;
PDFDoc.SecurityManager.AllowExtractContent = false;
PDFDoc.SecurityManager.AllowFormsFill = false;
PDFDoc.SecurityManager.AllowInteractiveEdit = false;
PDFDoc.SecurityManager.AllowModifyDocument = false;
PDFDoc.SecurityManager.AllowPrint = false;
PDFDoc.SecurityManager.EncryptionAlgorithm = O2S.Components.PDFView4NET.EncryptionAlgorithm.Aes ;
PDFDoc.SecurityManager.FullQualityPrint = false;
PDFDoc.SecurityManager.KeySize = O2S.Components.PDFView4NET.EncryptionKeySize.Use12 8BitKey;

//
string pwd = "123456";
byte[] bytePwd = ASCIIEncoding.ASCII.GetBytes(pwd);
//
PDFDoc.SecurityManager.OwnerPassword = bytePwd;
PDFDoc.SecurityManager.UserPassword = bytePwd;
}


در مورد تريگرها هم من مطالعه كردم و خيلي مفيد و خوب هستند ولي اصلا ربطي به اين قضيه كه من مطرح كردم ندارن.
در واقع مسئله مهم توي بانك اطلاعاتي من دسترسي به خود بانك هست نه sp يا چيز ديگه. من مي خوام كه مثلا روي خود بانك پسورد بذارم كه اين رو مي رم تو تالار اس كيو ال جستجو مي كنم.
با تشكر

mmd2009
جمعه 16 مهر 1389, 22:34 عصر
دوست عزیز منظور من این نبود که نمیشه پسوورد بذارید بلکه منظورم از معرفی اون کامپوننت لزوما نمایش فایل بود. اشتباه برداشت کردید. :چشمک:

مطمئا اگر از کارایی بالای ترایگر ها با خبر بودید ربطش رو میفهمیدید. و کلا هم فکر نکنم با SP هم اشنایی داشته باشید که در این مورد هم مطالعه بفرمایید.

به هر حال موفق باشید...

hanieh66
جمعه 16 مهر 1389, 23:22 عصر
دوست عزیز منظور من این نبود که نمیشه پسوورد بذارید بلکه منظورم از معرفی اون کامپوننت لزوما نمایش فایل بود. اشتباه برداشت کردید. :چشمک:

مطمئا اگر از کارایی بالای ترایگر ها با خبر بودید ربطش رو میفهمیدید. و کلا هم فکر نکنم با SP هم اشنایی داشته باشید که در این مورد هم مطالعه بفرمایید.

به هر حال موفق باشید...
خب شما مي گين كه با اين كامپوننت نمي شه پسورد گذاشت و بايد از يك نرم افزار واسط براي اينكار استفاده كرد . و من هم ميگم كه كامپوننت خيلي خوبيه و هر كاري كه بخوايم مي شه با فايلهاي پي دي اف كرد حتي گذاشتن پسودهايي با قابليت رمزنگاري 128 بيتي.
در هر صورت ممنون بخاطر معرفي.

در مورد تريگر و اس پي هم فكر كنم حرفتون منطقي نيست. اين دوتا ربطي به اين قضيه كه اگر بانك به دست يك هكر بيفته و بخواد اطلاعات رو بيرون بكشه ندارن. يعني مثلا وقتي هكر بانك رو بدست گرفت اينكه من توي بانكم اس پي و تريگر داشته باشم يا مثلا اس پي رو انكريپت كرده باشم يا نكرده باشم ربطي نداره.
اگه مي گفتين خود بانك رو انكريپت كنم باز گفته ي شما كمي ربط پيدا مي كرد به اين قضيه ولي الان هيچ ربطي نداره و غير منطقيه.
با تشكر

mmd2009
شنبه 17 مهر 1389, 00:15 صبح
اون چیزی که غیر منطقیه اینه که به جای امنیت Sql بخواهید از اکسس استفاده بکنید...

و البته در جمله اولتون میشه بپرسم من کجا گفتم نمیشه با کامپوننتی که معرفی کردم پسوورد گذاشت.؟ یک سری به اموزش هایی که تو این سایت زدم بندازید متوجه میشید و میفهمید من از کی با این کامپوننت کار کردم. ( البته شاید این هم برای شما غیر منطقی باشه )

در هر صورت من مخالف اینم که بگم کی چی میدونه و کی چی نمیدونه و بشینیم جنجال کنیم ببینم من درست میگم یا شما. در هر صورت من پیشنهادات خودم رو بر اساس تجربه ای که تو این 5 ماه برنامه نویس شدنم رو به شما گفتم هر طور دوست دارید فکر کنید یا منطقی هستند یا منطقی نیستن.

hanieh66
شنبه 17 مهر 1389, 01:05 صبح
بله درست مي گيد. اين رو خودم هم در پستهاي قبلي اگه دقت كنيد گفتم كه امنيت اكسس خيلي پايينه و من دارم در مورد امنيت اس كيو ال مطلب ياد مي گيرم و كار مي كنم.



ببینید برای اون کامپوننتی که من معرفی کردم فقط برای نمایش فایل PDF بود و نه پسوورد گذاری. شما میتونید از یک نرم افزار که قابلیت رمز گذاری 128 بیت رو داره استفاده بکنید. مثلا نرم افزار Nitro میتونه به شما در این زمینه کمک بکنه.


اينجا شما گفتيد "فقط براي نمايش فايل PDF بود و نه پسوردگذاري...."
من تشكر كردم بخاطر معرفي اين كامپوننت عالي ولي خب خيلي وقتا پيش مي ياد كه آدم با يه ابزار يا نرم افزار يا كامپوننت كار مي كنه ولي از خيلي از قابليتهاش خبر نداره بهر حال من هم مبتديم و اين كه اين كامپوننت مي تونه براي فايل پي دي اف پسورد بذاره رو هم تازه ياد گرفتم با تشكر از شما.

بازهم ممنونم بخاطر كمكتون.
كماكان دنبال اطلاعاتي براي تامين امنيت بانك اطلاعاتي اس كيو ال سرور نسخه اكسپرس هستم.
با تشكر