با سلام خدمت عزیزان
خیلی ها دوست دارن داخل برنامه هاشون پرداخت درون برنامه بزارن امّا پلاگین درست و حسابی پیدا نمیکنن.
کاربران عزیز میتونن از سیرا پلاگین درون پرداخت بازار رو به صورت رایگان به همراه سورس دانلود کنند و استفاده کنند
با سلام خدمت عزیزان
خیلی ها دوست دارن داخل برنامه هاشون پرداخت درون برنامه بزارن امّا پلاگین درست و حسابی پیدا نمیکنن.
کاربران عزیز میتونن از سیرا پلاگین درون پرداخت بازار رو به صورت رایگان به همراه سورس دانلود کنند و استفاده کنند
با سلام خدمت کاربران عزیز
اگر میخواید امکان پرینت رو به برنامتون اضافه کنید ، حتما این سورس رو ببینید.
برای مثال کاربر با فشردن یک دکمه بره تو تنظیمات پرینت صفحه و در نتیجه پرینت !
با سلام خدمت دوستان
براتون یه افکت اوردم که اگه میخواید پرچم بزارید تو بازیتون خیلی بدردون میخوره.در ضمن این پلاگین یه سورس هم کنار خودش داره که دمو خود این افکت هستش امیدوارم لذت ببرید.
با سلام، با این پلاگین ایرانی میتواند فایل ها رو دانلود کند،ببیند چه قدر دانلود شده وقتی تمام شد خبر بدهد و....
نکات
فقط فراموش نکنید که این پلاگین فقط روی nw.js پشتیبانی میشود....
در این مقاله می خواهم روش هک اطلاعات بازی که با آن می توان پول را افزایش داد شرح دهم و را های مقابله با آن:
کلا برای دستکاری اطلاعات یک نرم افزار و یا یک بازی بایستی به حافظه رم و حافظه سی پی یو (ریجستر ها و ثبات ها) جایی که بازی تان قرار دهد دسترسی داشته باشید.
معمولا فقط سیستم عامل اجازه دسترسی به این منابع ها را دارد اما کلا سیستم عامل ها در این مورد ضعف دارند و برنامه هایی خودشان را مثل سیتسم عامل جا می زنند. و مجوز دسترسی را می گیرند. یکی از زبان هایی که اجازه دسترسی به هر حافظه را می دهد خانواده سی مخصوصا سی پلاس پلاس است که می تواند محتوای دیگر بخش های حافظه را تغییر دهد.
روش دستکاری حافظه :
1- مستقیم: در این روش برنامه مدیریت حافظه مستقیما حافظه را دستکاری می کند.
2- واسطه ای : یک خروجی اجرایی گرفته و قسمت های دستکاری شده را جایگزین کدهای اصلی می کند مثل نسوز کننده ها
روش دوم را راحت می توان کنترول کرد و آن هم که یک آی دی منحصر بفرد به هر برنامه اجرایی داده شود و یک کد اجازه اجرایی با این کار از فعالیت خیلی ویروس ها و برنامه های مخرب جلوگیری می شود همچنین هر برنامه ای که نصب می شود.یک کد فعالیت داده می شود و دسترسی ها با آن کنترول می شود و برنامه هنگام اجرا شدن اگر بخواهد محتوای را جایگذین کند چون ای دی اش فرق دارد اجازه داده نمی شود.
خوب این روش باید سازنده سیستم عامل انجام شود و تا حدودی در ویندوز 7 انجام شده است. ولی چون این به زیر ساخته های سیتم عامل وجو د دارد. هنوز بستر ان انجام نشده است.
تقریبا 99 درصد هک ها با این روش است. حال که سیستم عامل ناتوان است چه کار کنیم. روش های زیر خیلی موثر است.
1- پنل های گرافیکی بجای عددی : برای هک کردن به روش دستکاری حافظه ساده ترین راه نگاه کردن به پنل بازیتان است و وضیعت مثلا سکه چطور است. در بازی شما 100 سکه دارید. ابتدا بازی شما در مدیریت حافظه اضافه می کند و هر قسمت از حافظه که بازی شما در ان ذخیره (حافظه رم و ریجستر) شده است (مطلق به بازی است) در برنامه لود می شود و قابل رویت می شود.
حالا می خواهد بداند 100 سکه در کجا ذخیره شده است عدد 100 را در این قسمت حافظه جستجو می کند و یک تعداد حافظه با این مقدار پیدا میشود. هنگامی که مقدار سکه تغییر می کند دوباره جستجو را با مقدار جدید وارد می کند این کار را ادامه می دهد تا حدودا 1 یا کمتر از 5 خانه حافظه باقی می ماند .سپس این حافظه را به لیست اضافه کرده و مقدار دلخواه را وارد می کند. بعدا برنامه خروجی اجرایی گرفته و باقی ماجرا ...
بجای اعداد اگر ما از اشیای گرافیکی استفاده کنیم دیگر به این راحتی هک نمی شود. مثل نوار خون در بازی مورتال کمبات، یا تعداد تقریبی تیر به شکل عکس.
ممکن است بگویید برخی از این بازی ها هم با این روش هک شده . دلیل اش خیلی آسان است یکی از دو حالت زیر است
1- رابطه منطقی بین عکس با مقدار داده وجود داد مثلا شما 7 گلوله دارید و برای هر گلوله یک شکل
2- مقدار که به شکل نسبت داده شده قابل حدس است مثلا برای خون عدد 100 است در ابتدای شروع عدد 100 را وارد می کند وقتی خونش تمام شد عدد 0
2-متغییر های افزایشی : برای خیلی از متغییر ها نمی توان شکل مناسب در نظر گرفت مثل پول. برای این روش ها هر متغیری را که می خواهیم نمایش دهیم وخیلی هم مهم هست هک نشود. برای آن دو متغییر تعریف می کنیم اولی برای پنل دومی برای کار با بازی (مثلا افزایش پول) یک متغییر کمکی هم احتیاج داریم
پیاده سازی : ما به دو تابع احتیاج داریم 1- خواندن داده 2- نوشتن داده
در نوشتن داده متغییر اصلی را با متغییر کمکی و مقدار افزایشی (متغییر نسبت افزایشی) جمع کرده و در متغیر اصلی ذخیره می کنیم
var somevar =10
; var money = somevar
(function write(var_add
}
;money += var_add
{
;(5)write
8- کدگذاری متغییرها : در این روش متغییر ها بجای اعداد اصلی با نماد هایی جای گزین می شود مثلا d را بجای 1 جایگزین می کنیم و حتی می توانید بجای یکی یکی دوتادوتا انجام دهید یعنی مثلا 14 جایگزین آن Q باشد. برای پیاده سازی آن به دو تایع وی ک تابع کمکی نیاز دارید تابع خواندن بایستی بصورت مقدار را برگرداند نه در یک متغییر ذخیره کند.
9- ترکیب بند : در این روش به یک متغییر کمیکی احتیاج داریم. هر اطلاعات در این دو متغییر به شکل مختلفی ذخیره می شود مثلا یکی عدد و دیگری رشته خاص. هنگام تغییر مقدار چک می شود که مقدار این دو متغییر با هم ارتباط معنایی دارند یعنی مقدار در داخل متغییر رشته ای وجود دارد. در غیر این صورت مقدار را صفر کن.
در متغییر رشتهای در شروع تعداد کارکتر اضافی قرار مدهیم یا ما بین اعداد به یک صورتی که بتوانیم اعداد را از داخلش بیرون بکشیم ذخیره می کنیم( مثل یک درمیان کارکتر حرفی با عدد (پول) ترکیب می کنیم ).
10- تجزیه : مثلا مقدار پول 100 است با یک نسبت در چند متغییر ذخیره می کنیم .مثلا متغییرهای a,b,c,d همگی برای ذخیره پول کاربرد دارد. در ای 60 درصد مقدار در بی 20 در سی 15 درصد و در دی 5 درصد ذخیره شود. با جمع همه متغییرهایی که با یک نسبت خاص مقدار پول را ذخیره می کنند مقدار اصلی بدست می آید
مثال شما در بازی 1000 تومان پول در بازی دارید. 600 تومان در ای، 200 تومان در بی ، 150 تومان در سی و 50 تومان در دی ذخیره می شود و هیچ جا شما عدد 1000 را نمی بینید.
همه روش های بالا بیشتر هک شدن را جلو گیری می کنند اما این روش ها برای روش هک با مقدار مفید است . دسته ای دیگری از هک وجود دارد که بجای هک کردن مقدار مستقما کدهای متغییرها را هک می کنند . این دسته هکرهای خیلی ماهری هستند که به زبان های برنامه نویسی سی پلاس مفاهیم سیستم عامل ، امنیت و رمز نگاری تسلط کافی دارند و خیلی کارکشته هستند. یعنی از عهد هر برنامه نویس هم برنمیاد. مقابله با این روش خیلی سختر است. اما کشف کردن آن راحت است.
تا جای که من می دانم کد ها هم در حافظه ذخیره می شود دیگر نمی دانم که مثلا متغییر money چطوری هست آیا با این نام متغییر در حافظه ذخیره می شود (از کد دودویی بگذریم)یا رمزنگاری می شود؟ در این روش نام متغییر ها را در بین کد ها جستجو کرده و جایی که مقدار ذخیره شده و متغییر به آن اشاره دارد را یافته و تغییر می دهند.
برای این روش را هکارهایی وجود دارد متغییر ها را اینجوری نام گذاری کنید. نام معنی دار در داخل پسوند و پیشوند بی معنی قرار دهید. مثلا برای پول w23a_money_xx32
روش 7 با کمی تغییر می تواند مفید باشد. روش 8 اگر از چند تابع مجزا برای کد گذاری استفاده کنید تا حدودی مفید واقع می باشد.
مقابله با انجماد: معمولا از روش رخنه کدها برای منجمد کردن متغییر (freeze) استفاده می شود. در این حالت متغییر همیشه یک مقدار دارد که مثل یک متغییر ثابت عمل می کند. برای کشف کردن در شروع بازی هنگامی مپ بارگزاری می شود از رویداد شروع بارگزاریی چک کنید متغییرهای کلیدتان فریز هست یا نه. و در فروشگاه ها هر لحظه چک کرد .
برای این کار یک عدد ثابت به مقدار متغییر زیاد می کنید سپس بعد از یک مکث یک فریم چک می کنید مقدار قبلی با مقدار فعلی یکسان است و دوباره این بار عدد ثابت را از مقدار متغییر کم می کنید باز هم چک می کنید. در صورت مساوی بودن کار درست است و فریز نیست در غیر این صورت فریز شده و شما از برنامه خارج می شوید. در هر بار گه نا مساوی بود به یک متغییر محلی که تعداد خطا را می شمارد می افزایید. اگر بزرگتر مساوی 2 بود یعنی خطا دارد.
مقابله با بیکران: اگر مثل من در برخی بازی مثل بازی قلعه ها یا همان بازی استراژیک جنگ صلیبی را بازی کردید. نسوز کنندهایی وجود داشت که پول تان را یکدفعه 99999999 اینقدر می کرد و بقیه چیزهای دیگر. برای کشف این حالت ها باید اعتبار سنجی مقدار را تعریف کنیم با رویداد تغییر مقدار یک متغییر. هرگاه متغییر مقدارش تغییر کرد تابع اعتبار سنج فعال شود.
در تابع اعتبار سنج دو نکته مهم است. چه موقع می تواند مقدار تغییر کند مثلا در یک بازی یک متغیر حیاتی دارید که یک دفع مقدارش تغییر می کند. و میزان تغییر حداکثر چقدر است. مثال در بازی پسر دونده که پلیس دنبالش می افتد اسم بازی یادم نیست . مثلا حداکثر پول 100 سکه بود. اگر مقدار تغییر کرده بیش از 100 باشد .مقدار قبلی را جایگذین فعلی کن. برای این کار به دو آرایه نیاز داریم که یکی مقدار متغییرهای حیاتی را در این آرایه میریزیم .و دومی اگر آرایه ثابت داشتیم که مقدارش تغییر نکند حداکثر مقدار مجاز را در این آرایه ذخیره می کنیم. هنگام تغییر عنصر را یافته و مقایسه می کنیم و در صورت اعتبار مقدار جدید را در آرایه جایگذین می کنیم.
با سلام بعضی از کاربران میگن که گزینه هایی که تو راست کلیکه چیه؟!
جواب رو بخونید:
با سلام
این آموزش ترجمه شده از اینجا (خود سیرا) هر گونه کپی برداری ممنوع است.
بریم سراغ آموزش:
۱. به سایت admob.com برید و به صورت رایگان ثبت نام کنید.
۲. بعد از اینکه وارد شدید، برای نوع تبلیغاتی که میخواهید در بازی نشان دهید Ad Unit ID بسازید.
۳. شیء AdMob رو به پروژه اضافه کنید.
۴. در تنظیمات شیء AdMob اون Ad Unit IDهای مربوطه رو کپی و پیست کنید.
۵. حالا میتونید از اکشنهای مربوطه برای نمایش تبلیغات استفاده کنید.
بعد برای خروجی گرفتن در Intel XDK هم گفته این کارها رو بکنید:
به سربرگ Projects بروید.
زیر CORDOVA 3.X HYBRID MOBILE APP SETTINGS روی Plugins and Permissions کلیک کنید.
روی Third Party Plugins کلیک کنید.
روی Get Plugin from the Web کلیک کنید.
و بعد جزئیات زیر رو مثل زیر وارد کنید:
Name: AdMob Plugin
Plugin ID: com.cranberrygame.phonegap.plugin.ad.admob
بعد Plugin is located in the Apache Cordova Plugins Registry رو تیک بزنید.
بعد روی Import کلیک کنید.