امنيت در فلش

golpoone

New Member
سلام
آيا مي توان در فلش امنيت بر قرار كرد بطوريكه به راحتي نتوان به سورسهاي آن دسترسي پيدا كرد؟ چگونه؟
 

phoenix

Member
به سختي ميشه چيزي كه در سمت client اجرا ميشه رو encrypt كرد به طوري كه قابل دسترسي نباشه. فلش هم مستثنا نيست. ولي اگر دنبال چيزي هستي ActionScript Obfuscator احتمالا كمكت مي كنه.
 

golpoone

New Member
ميشه بيشتر توضيح بديد سايتي كه معرفي كرديد چطور به من كمك ميكنه؟
نميشه با ايجاد ارتبط بين فلش و يك محيط برنامه نويسي ديگر ( مثلا دلفي ) اين امنيت را بوجود آورد؟
حتما بايد 1 راهي باشه MR fafa
 

fafa^mx

Member
اين تنها در محيط OFFLine قابل استفاده هستش!که تو محیط آفلاین راه زیاده!اما در محیط Local بد بختانه هنوز راهه خاصی برا Encryption فایل های SWF Version 7.2 نیومده!
 

mahdiflash

Member
امنيت از چه لحاظ؟؟؟

بيشتر توضيح بده ميخواي چيكار كني؟؟

من يك مقداري دلفي بلدم
 

golpoone

New Member
براي اينكه نشه به سورسهاي فلش دسترسي پيدا كرد برنامه را به دلفي وابسته كنيم يعني 1سري پارامتر به دلفي بفرستيم بعد از انجام عمليات دوباره كنترل برنامه به فلش برگرده
ميشه؟؟؟
 

golpoone

New Member
1 راه ديگه
ميشه در حين پخش swf كد آنرا تغيير داد؟
(از داخل خود برنامه يا از طريق يك برنامه ديگر)
 

phoenix

Member
نه امكان اين كار نيست. البته ميشه بعضي از متد هاي حساس را از server فراخواني كرد.
تنها جايي كه به نظر من فقط ارزش اين كار رو داره Flashcom gateway هست يعني آدرس RTMP كه client ها به اون connect مي كنن. اين آدرس رو ميشه runtime براي فايل swf از سرور ارسال كرد. همچنين بر روي سرور فقط به swf هايي آدرس رو ارسال كنيم كه بر روي domain هاي خاصي قرار دارند. در غير اين صورت به راحتي ميشه يك سرور flashcom رو از كار انداخت. فقط كافيه در يك حلقه تعداد زيادي connection به سرور برقرار كرد. بنابراين خيلي بهتره كه gateway رو runtime براي swf ارسال كنيم تا كسي با استفاده از decompiler ها به آدرس اون دسترسي نداشته باشه

من واقعا دليل ديگري براي سعي در encrypt كردن فايل هاي swf نمي بينم ولي همونطور كه قبلا هم گفتم براي اين كار مي توان از ActionScript Obfuscator استفاده كرد. نسخه جديدش كه فلش 7 رو support ميكنه به زودي مياد
 

amozesh

Member
با سلام
آقا كاميار اين برنامه اي كه گفتيد باعث مي شه ديگه فايل swf ديكامپايل نشه يا كار ديگه اي انجام مي ده
در مورد محيط آفلاين يكي از روشها اينكه برنامه خودتون رو در مثلا vb امبد كنيد
 

fafa^mx

Member
اين برنهاكشن اسكريپت رو رمز گذاري ميكنه!با استفاده از متد Encryptioni که در سایتش راجه بهش توضیح داده!البته اندکی هم حجم رو میبره بالا!
 

phoenix

Member
ActionScript Obfuscator اسم هاي كليه متد ها، كلاسها و متغير ها رو در bytecode به اعداد و يا متغير هاي غير مجاز تغيير ميده. بنابراين عملا كد ها بي مفهوم و غير قابل استفاده ميشن
 

golpoone

New Member
ميشه اين كدها را decompile كرد؟
اگر فقط در محيط offline هم امنيت ايجاد بشه تا حد زيادي كمك ميكنه...
 

phoenix

Member
ميشه بپرسم دقيقا به چه علت نياز به encrypt كردن داري؟ شايد راه حل بهتري هم باشه!
 

golpoone

New Member
در پروژه اي كه من روي آن كار مي كنم يك سري آزمون با فلش بايد طراحي شوند (البته پيشنهاد شده براي امنيت بيشتر و... تعاملاتي با دلفي داشته باشه)
از من خواسته شده كاري كنم كه سورسها براي ديگران قابل دستيابي نباشند...
 

phoenix

Member
بسيار خوب.
وقتي فايل فلش درون يك فايل دلفي embed ميشه قابل دسترسي نيست. تنها نرم افزاري كه قادر به extract كردن فايل swf از داخل exe هست ActionScript Viewer است. ولي شما ميتوانيد با استفاده از ActionScript Obfuscator كد ها رو كاملا غير قابل فهم كنيد.

فرمت كاركرد ASO بدين صورت است: (در command prompt )

aso mainFile.swf encryptedFile.swf

براي مثال كد زير توسط ASV قابل دسترسي است:

کد:
function test() {
    var i = 0;
    while (i < 10) {
        trace (i);
        i++;
    }
}
test();

با استفاده از ASO همان كد به صورت زير در خواهد آمد:

کد:
function -1() {
    var +1 = 0;
    while (+1 < 10) {
        trace (+1);
        +1++;
    }
}
-1();

عملا هنگامي كه تعداد خط برنامه زياد شود درك آن كاملا غير ممكن مي شود
 

fafa^mx

Member
كه بگزريم اين راه هم چندان تاثيري نداره!چون فقط مياد وري ابها رو به Int تبدیل میکنه!Code Hint ها و Numbers یا همون Int ها ثابت میمونن!البته مطمعنن استرینگ ها رو هم تغییر میده!اما به راحتب یاز هم اصل برنامه قابل دیکده مگر در کد های گنده که خسته ککنده میشه اما بازم دیکامپایل میشه!راستی یه چیزه بامزه یه جا خوندم که مایک چمبرز نوشته بود ولی رفرنسی براش نزاشته بود!اونم اینه که تو Elipsis شما دیگه مجبور نیستسن کلاس رو با SWF کامپایل کنید!خودش به عنوان سود گفته بود که این کار SWF رو کم حجم میکنه!(چون شکایت های زیادی تو MMBeta مبنی بر compile کلاس ها با SWF و افزایش حجم شده بود)ام بعد دومش امنیته!البته کامل متمعن نیستم!چون من این مطلبو تو MXNA دیدم و مایک چمبرز هم به یه پیج MM لینک داده بود تو Live Docs ولی موتسفانه باز نمیشد!حالا یه سرچ تو MMbeta میکنم ببینم چیزی اونجا نگفته(این مطلی رو همین الان دیدم)
 

phoenix

Member
فريد من متوجه نمي شم يعني چي مجبور نيستي کلاس رو با SWF کامپايل کني؟ Mike كجا اينو گفته؟ من نه توي وبلاگش پيدا كردم نه توي MXNA!
 

جدیدترین ارسال ها

بالا