صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 43

نام تاپیک: DeCompile کردن یک برنامه به #C

  1. #1
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    DeCompile کردن یک برنامه به #C

    سلام

    لطفا دوستان پست 47 لینک زیر یک برنامه به #C را اگر میتوانند DeCompile کنند

    https://barnamenevis.org/showth...=172723&page=5

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    پسورد : eybabaalikolabikari
    فایل آنپک شده رو هم ضمیمه کردم.
    آخرین ویرایش به وسیله Nima NT : سه شنبه 14 مهر 1388 در 20:39 عصر

  3. #3
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: DeCompile کردن یک برنامه به #C

    نقل قول نوشته شده توسط Nima NT مشاهده تاپیک
    پسورد : eybabaalikolabikari
    فایل آنپک شده رو هم ضمیمه کردم.
    سلام
    خیلی ممنون از شما لطفا راهنمائی کنید چگونه اینکار را انجام دادید؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    ابتدا فایل رو توسط ابزارهای Generic دامپ کردم و بعد توسط Reflector دکامپایلش کردم.
    خیلی ساده بود.

  5. #5
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631

    نقل قول: DeCompile کردن یک برنامه به #C

    اگر میشود یک نگاهی هم به این بیندازید
    فایل های ضمیمه فایل های ضمیمه

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    از Smart Assembly و DotNet Reactor استفاده کردید و فایل نهایی رو توسط برنامه اول Obfuscate کردید.
    در کل جالبه ولی اینها همشون آنتی دارن و نهایتا" کرک میشه , بهتره به روشهای ابتکاری خودتون ( از طریق برنامه نویسی ) رو بیارید.
    در کل من فقط تونستم تا اینجا پیش برم.

  7. #7
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631

    نقل قول: DeCompile کردن یک برنامه به #C

    میشه یک نگاهی به این یکی دیگه هم بندازید؟
    فایل های ضمیمه فایل های ضمیمه

  8. #8
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    متاسفانه این تکنیکها امنیتی ندارن , بازم میگم بهتره به روشهای برنامه نویسی رو بیاورید.
    پسورد :
    $$***@@@@eybabaalikolabikari)))9997&&&&

  9. #9
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631

    نقل قول: DeCompile کردن یک برنامه به #C

    این از اولی در آمد یا دومی ؟

  10. #10
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    از دومی ولی از اولی هم میشد که دربیاد.

  11. #11
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631

    نقل قول: DeCompile کردن یک برنامه به #C

    زحمت این رو هم به عنوان آخری بکشید
    فایل های ضمیمه فایل های ضمیمه

  12. #12
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    این یکی تا حدی شد شبیه keygen Me
    دو تا رشته مشکوک هست که باید کد بشن.
    &&&&!!!@@@@CCCVVDTR

    C#‎IsBestOKOK

  13. #13
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631

    نقل قول: DeCompile کردن یک برنامه به #C

    یعنی الان پیام درست نگرفتی ؟ پیام "!! Na Baba En Kare Hasti !!!" رو باید بهت بده . داده یا نه ؟

  14. #14
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    نه پیام درست رو نگرفتم , چون Obfuscate هم شده بود Patch کردنش طول میکشه و آدم رو دیوونه میکنه.

  15. #15
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631

    نقل قول: DeCompile کردن یک برنامه به #C

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

  16. #16
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    رشته alikolahdoozan هست ولی باید برای اینکه پیام مناسب نمایش داده بشه فایل پچ بشه که کار من نیست ( بلد نیستم ) , ولی دیدم که میشه و به گفته اهل فنش راحت هست.

  17. #17
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631

    نقل قول: DeCompile کردن یک برنامه به #C

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

  18. #18
    کاربر دائمی آواتار bahar_engineer
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    657

    نقل قول: DeCompile کردن یک برنامه به #C

    نقل قول نوشته شده توسط ali_kolahdoozan مشاهده تاپیک
    فقط alikolahdoozan نیست . پس اگر از کلاس partial استفاده بشه و متد عملا دست بسته است . و به این راحتیها نمیشه کاری کرد . این خوبه . الان خوابم میاد صبح سورس همین رو میزارم همه ببینند
    جناب لطفاً بگو چکار کردی ما هم یاد بگیریم ...

    منتظرم

  19. #19

    نقل قول: DeCompile کردن یک برنامه به #C

    ببخشيد، اگر ميشه امنيت اين دو تا فايل رو هم ( هر كدوم جدا ) به من بگيد. البته چيزی نداره، فقط واسه DeCompile میگم.
    فایل های ضمیمه فایل های ضمیمه

  20. #20
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    فایل دوم رو سیستم من اجرا نشد ولی فایل اول رو اول با Smart Assembly و بعد هم با یه پکر نا آشنا پک کردین , فایل دامپ میشه ولی دکامپایل نمیشه چون Obfuscate شده.

  21. #21

    نقل قول: DeCompile کردن یک برنامه به #C

    من بيشتر به خاطر فايل دومی گذاشته بودم، وقتی كه دامپ شد، باز هم Reflector نمتونه كاری بكنه. البته تا اون جایی كه متوجه شدم #Dis با فايل اوليه مشكلی نداره، فقط بايد دامپ بشه.

  22. #22
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: DeCompile کردن یک برنامه به #C

    اگر obfuscated شده باشه که بله reflector عاجز میمونه.

  23. #23
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: DeCompile کردن یک برنامه به #C

    سلام دوستان.
    من هم یک فایل میزارم البته نه به اسم CrackMe بلکه به اسم TestMe !
    یه برنامه سادست که یه کاراکتری با یه الگوریتم خیلی ساده حرکت میکنه. میخوام اگر امکان داره دوستان چک کنن و با دسترسی به سورس برنامه الگوریتمش رو توضیح بدن. البته همون دسترسی به سورس برنامه هم کافیه و در واقع میخوام ببینم میشه با کارهایی که انجام شده باز هم به سورس رسید یا نه.

    ممنون
    فایل های ضمیمه فایل های ضمیمه

  24. #24
    کاربر دائمی آواتار system32
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    اصفهان
    سن
    35
    پست
    381

    نقل قول: DeCompile کردن یک برنامه به C#‎‎

    سلام دوست عزیز bermooda

    اصلا هیچ کار امنیتی روی این برنامه انجام نشده.

    اینم کل سورس ها:

    اول از یه فایل dll به نام net20comp.dll استفاده کرده اید که می توانید از ضمیمه دریافت کنید.

    دوم از متدهای زیر در برنامه استفاده کرده اید:


    private static Assembly GetAssembly(byte[] data){ MemoryStream stream = null; Assembly assembly = null; try { stream = UnZip(data); stream.Seek(0L, SeekOrigin.Begin); assembly = Assembly.Load(stream.ToArray()); } finally { if (stream != null) { stream.Close(); } stream = null; } return assembly;}




    private static Assembly GetAssemblyByName(string name){ if (name == null) { return null; } if (cache == null) { cache = new HybridDictionary(); } name = name.Trim(); string str = name.ToLower(); if (cache[str] != null) { return (Assembly) cache[str]; } string id = ParseAssName(name)[Name]; if (id == null) { return null; } byte[] data = null; if (id.ToLower().Equals("net20comp")) { Assembly assembly = LoadZipDll(); cache[str] = assembly; return assembly; } data = GetResource(name); if (data == null) { data = GetResource(name.ToLower()); } if (data == null) { data = GetResource(id); } if (data == null) { data = GetResource(id.ToLower()); } if (data == null) { data = GetResource(Path.GetFileNameWithoutExtension(id).ToLower()); } if (data == null) { return null; } Assembly assembly2 = GetAssembly(data); data = null; cache[str] = assembly2; return assembly2;}





    private static byte[] GetResource(string id){ byte[] buffer = null; if (rm == null) { rm = new ResourceManager("app", Assembly.GetExecutingAssembly()); } try { inResourceResolveFlag = true; string name = MangleDllName(id); if ((buffer == null) && (xrRm != null)) { for (int i = 0; i < xrRm.Count; i++) { try { ResourceManager manager = (ResourceManager) xrRm[i]; if (manager != null) { buffer = (byte[]) manager.GetObject(name); } } catch { } if (buffer != null) { break; } } } if (buffer == null) { buffer = (byte[]) rm.GetObject(name); } } finally { inResourceResolveFlag = false; } return buffer;}




    private static void InitXR(){ try { string str = @"file:\"; string str2 = "-netz.resources"; string directoryName = Path.GetDirectoryName(Assembly.GetEntryAssembly().get_Location()); if (directoryName.StartsWith(str)) { directoryName = directoryName.Substring(str.Length, directoryName.Length - str.Length); } string[] files = Directory.GetFiles(directoryName, "*" + str2); if ((files != null) && (files.Length > 0)) { xrRm = new ArrayList(); for (int i = 0; i < files.Length; i++) { string fileName = Path.GetFileName(files[i]); ResourceManager manager = ResourceManager.CreateFileBasedResourceManager(fileName.Substring(0, fileName.Length - str2.Length) + "-netz", directoryName, null); if (manager != null) { xrRm.Add(manager); } } } } catch { }}




    private static int InvokeApp(Assembly assembly, string[] args){ MethodInfo info = assembly.get_EntryPoint(); ParameterInfo[] parameters = info.GetParameters(); object[] objArray = null; if ((parameters != null) && (parameters.Length > 0)) { objArray = new object[] { args }; } object obj2 = info.Invoke(null, objArray); if ((obj2 != null) && (obj2 is int)) { return (int) obj2; } return 0;}




    private static Assembly LoadZipDll(){ Assembly assembly = null; MemoryStream stream = null; try { byte[] resource = GetResource("net20comp.dll"); if (resource == null) { return null; } stream = new MemoryStream(resource); assembly = Assembly.Load(stream.ToArray()); } catch { assembly = null; } finally { if (stream != null) { stream.Close(); } stream = null; } return assembly;}



    در کل خیلی می شه اگه بخوام تمام متدها را اینجا بزارم. ولی هرکدومش رو اگه خواستی بگویید تا اینجا بزارم.
    فایل های ضمیمه فایل های ضمیمه

  25. #25
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: DeCompile کردن یک برنامه به #C

    نه دوست عزیز به این سادگی ها هم که شما گفتید نیست!
    شما دارین کدهای packer رو میکید که دیده میشه. در واقع من خودم خواستم از این pack کردن به عنوان یک راه گم کردن و گیج کردن کرکر استفاده کنم.
    در واقع برنامه من داخل اون packer هست. که البته روی برنامه اصلی هم یه کارهایی انجام دادم برای امنیتش.

    اگر دوباره بررسی کنید ممنون میشم.

  26. #26

    نقل قول: DeCompile کردن یک برنامه به #C

    جالبه. چطوری با meta-data stream اين فايل ها اجرا ميشند!!؟
    من يه بار اين كار رو كردم ولی جای ديگه اجرا نشد!!

  27. #27

  28. #28

    نقل قول: DeCompile کردن یک برنامه به #C

    شما يه برنامه نوشتيد و سپس با Smart Assembly، اون رو obfuscat كرديد. بعد يه برنامه ديگه نوشتيد تا اون رو لود كنه. البته گمونم چند بار اين كار لود انجام ميشه تا به آخرين گزينه، يعنی فايل اصلی برسيد.
    نكته قابل توجه برای من اينه كه شما از meta-data stream هم استفاده كرديد، اما با اين حال فايل ها بدون مشكل اجرا ميشند!!!!

  29. #29
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: DeCompile کردن یک برنامه به #C

    من از دو تا نرم افزار استفاده کردم و مقداری برنامه نویسی.
    1- از یک packer استفاده کردن که open source هست و این مزیت رو داره که میشه هر بار توش تغییراتی ایجاد کرد تا Unpack کردنش سخت تر بشه (البته اینجا کار خاصی انجام ندادم و یه تغییرات کوچیک نسبت به default اش اعمال کردم)
    2- از نرم افزار {smartAssembly} همونطور که شما اشاره کردید استفاده کردم.

    ابتدا با packer برنامه رو pack و compress کردم
    بعد برنامه حاصل رو با smartAssembly یه کارهایی روش انجام دادم : obfuscate و meta-data streaming یه تعداد کارهای روتین دیگه.
    بعد برنامه حاصل رو دوباره pack کردم این بار با یه روش دیگه.

    packer کار لود برنامه اصلی رو از Resource انجام میده و smartAssembly هم کار meta-data streaming رو.

  30. #30

    نقل قول: DeCompile کردن یک برنامه به C#‎‎‎‎‎

    من فقط تونستم تا اينجا پيش برم.

    يه چيز هم قابل توجه دوستانی كه از 4 SmartAssembly استفاده می كنند، بگم.
    وقتی كه با SmartAssmbly4 كه كرك نشده برنامه تون رو Obfuscat می كنيد، و خيال هم می كنيد كه هيچ مشكی نداره، بايد بدونيد كه به نظر مياد بعد از يه مدت برنامه از كار می افته.
    SmartAssembly يكسری كد به برنامه تون اضافه می كنه كه با اون ها اين كار انجام ميشه.
    مثلا شما در تاريخ 2009/1/1 برنامه رو Obfusecat می كنيد و بعد در تاريخ 2009/15/1 برنامه از كار می افته. ( البته محدوده زمانيش رو دقيق نمی دونم ). SmartAssembly چك می كنه ببينه آيا از تاريخ 2009/15/1 رد شديم يا نه، اگر رد شده بوديم يه Exception توليد ميكنه كه خودش به اون Exception رسيدگی می كنه و باعث از كار افتادن برنامه شما ميشه.
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله Armin060 : جمعه 06 شهریور 1388 در 11:15 صبح

  31. #31

  32. #32

  33. #33

  34. #34
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: DeCompile کردن یک برنامه به #C

    ببخشيد، اگر ميشه امنيت اين دو تا فايل رو هم ( هر كدوم جدا ) به من بگيد. البته چيزی نداره، فقط واسه DeCompile میگم.
    فایل اول بعد از dump گرفتن و DeSmart قسمت زیادیش DeObfuscate شده بود رشته های اون از قبیل ConnectionString ها معلوم بودن.

    فایل دوم اگر اشتباه نکنم باید با Xenocode PostBuild (نمیدونم چه نسخه ای) pack شده باشه چون نمیشه ازش dump گرفت و در واقع به عنوان برنامه دات نت نمیشناسدش.

    تا اینجا تونستم پیش برم

    فایل اول DeSmart شده:
    فایل های ضمیمه فایل های ضمیمه

  35. #35

    نقل قول: DeCompile کردن یک برنامه به C#‎‎

    من خودم برنامه ای که گذاشته بودم رو بعد از dump گرفتن
    شما هم بلاخره ازش dump گرفتيد؟ چطوری؟ البته فكر كنم اين مشكلات كه واسه Unpack كردنش به وجود میومد به خاطر Metada Data Stream بود.

    تونستم با نرم افزار DeSmart بطور کامل DeObfuscate کنم
    DeSmart فقط می تونه DeObfuscate كنه ( نميتونه از Metada... رد بشه ). اون هم تا حدی و برای SmartAssembly4 به پايين. البته 4 رو هم تا حدی خوب عمل می كنه، ولی SmartAssembly4 بهتر از DeSmart عمل میكنه. فايل بعد از DeObfuscate شدن اجرا نميشه.


    فایل اول بعد از dump گرفتن و DeSmart قسمت زیادیش DeObfuscate شده بود رشته های اون از قبیل ConnectionString ها معلوم بودن.

    فایل دوم اگر اشتباه نکنم باید با Xenocode PostBuild (نمیدونم چه نسخه ای) pack شده باشه چون نمیشه ازش dump گرفت و در واقع به عنوان برنامه دات نت نمیشناسدش.

    تا اینجا تونستم پیش برم
    ممنونم كه نگاه كرديد.

    من اول هر دو تا رو با SmartAssembly4، Obfusecate كردم كردم. اولی بدون Metada-Data-Straem و دومی با meta.... ، و بعد پك كردم و بعد آپلود. اما Nima NT گفتند كه فايل دوم روی كامپيوترشون اجرا نميشه. حالا من تعجب می كنم كه فايل های شما چطوری اجرا ميشد؟
    بعد شما چطوری تو فايلی كه من گذاشته بودم Connetction String پيدا كرديد؟ من هيچی تو اون پروژه نداشتم. يه پروژه كاملا خالی بود.
    و همون طور هم كه گفتم SmartAssembly4 بهتر از DeSmart عمل ميكنه. فايل DeObfuscate شده اجرا نميشه.

  36. #36
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: DeCompile کردن یک برنامه به C#‎‎

    اما Nima NT گفتند كه فايل دوم روی كامپيوترشون اجرا نميشه.
    فایلی که ضمیمه کردین 2 part داره من هردو رو گرفتم و تو یه فولدر extract کردم. دو تا فایل Exe بودن، DeCompile Test و DeCompile Test2.


    من اول هر دو تا رو با SmartAssembly4، Obfusecate كردم كردم. اولی بدون Metada-Data-Straem و دومی با meta....
    در حالت عادی وقتی با smartassembly و با meta-data stream فایل رو obfuscate میشه، امکان dump گرفتن هست اما از فایل دوم شما نمیشد dump گرفت.
    آیا به خاطر pack کردن هست یا دلیل دیگه ای داره؟

    بعد شما چطوری تو فايلی كه من گذاشته بودم Connetction String پيدا كرديد؟ من هيچی تو اون پروژه نداشتم. يه پروژه كاملا خالی بود.
    عکس های ضمیمه عکس های ضمیمه  

  37. #37

    نقل قول: DeCompile کردن یک برنامه به #C

    در حالت عادی وقتی با smartassembly و با meta-data stream فایل رو obfuscate میشه، امکان dump گرفتن هست اما از فایل دوم شما نمیشد dump گرفت.
    آیا به خاطر pack کردن هست یا دلیل دیگه ای داره؟
    گفتم كه. من هر دو فايل رو Pack كردم و به راحتی و آسونی دامپ ميشند.

    و بازم ميگم. پروژه من كاملا خالی بود. من رفتم يه WindowsApplication ساختم. Debug كردم، و رفتم رو فايل exe اين تغييرات رو ايجاد كردم و بعد آپ كردم. معلوم نيست اينا از كجا اومدن

  38. #38
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    Exclamation نقل قول: DeCompile کردن یک برنامه به C#‎‎

    نقل قول نوشته شده توسط Armin060 مشاهده تاپیک
    ببخشيد، اگر ميشه امنيت اين دو تا فايل رو هم ( هر كدوم جدا ) به من بگيد. البته چيزی نداره، فقط واسه DeCompile میگم.
    پر از تروجان و ویروس بود.

  39. #39

    نقل قول: DeCompile کردن یک برنامه به C#‎‎

    نقل قول نوشته شده توسط bermooda مشاهده تاپیک
    1- از یک packer استفاده کردن که open source هست و این مزیت رو داره که میشه هر بار توش تغییراتی ایجاد کرد تا Unpack کردنش سخت تر بشه (البته اینجا کار خاصی انجام ندادم و یه تغییرات کوچیک نسبت به default اش اعمال کردم)
    لطفا اگر امکانش هست نام این پکر را بگوئید تا ما هم استفاده کنیم.

    با تشکر.

  40. #40

    نقل قول: DeCompile کردن یک برنامه به C#‎‎

    لطفا اگر امکان دارد این روش رو و امکاناتش رو برامون توضیح بدهید

    لطفا لینک دانلود برنامه هایی که استفاده می کنید را بزارید یا برام ایمیل کنید

    فکر اینکه برنامه ای که 6 ماه براش وقت گذاشتم براحتی کرک بشه داره دیونم میکنه

صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •