bahman2012

جلوگیری از هک شدن برنامه های درون خرید

4 ارسال در این موضوع قرار دارد

سلام دوستان

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

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

راه زیاده !!

میتونی تمامی مقادیر مثله key  و اونچیزایی که داخل برنامه میذاری رو زمانی بسازی که طرف داره کلیک میکنه برای خرید و یا از اینترنت یا هاست دریافت کنی !!

که لوکی پچر نتونه بهمه کلا چی هست !!

من امتحان نکردم اما بدون شک جواب میده !!

موفق باشی

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

چقدر به برنامه نویسی تسلط دارین؟ 

بگین تا بر حسب تسلط شما مناسبترین روش رو معرفی کنم !

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

package ir.tahaquran.daroha;

import java.util.ArrayList;
import java.util.ArrayList;

import org.json.JSONException;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Typeface;
import android.content.SharedPreferences;
import android.content.SharedPreferences.*;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.content.Context;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.util.IabHelper.*;
import com.util.*;

import android.preference.*;



public class BuyPremiumActivity extends Activity {


   protected static final int BUY_REQUEST_CODE = 12345;

   private IabHelper buyHelper;

   private Button butBuy,button1,button2;
public boolean premium;
private Typeface fontt,fonttt;
TextView textView1,textView2;

//	Getting the Price for the In-App SKU
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       setContentView(R.layout.buy_premium_activity);



       butBuy = (Button) findViewById(R.id.button_buy);
       //------------------------------------------------------------------------------------------------------------------------------
       button1 = (Button) findViewById(R.id.button1);
       button2 = (Button) findViewById(R.id.button2);

       button1.setOnClickListener(new OnClickListener() {

		@Override
		public void onClick(View arg0) {
			Intent next = new Intent(Intent.ACTION_VIEW,Uri.parse("bazaar://collection?slug=by_author&aid=mo2015"));
		//	Intent next = new Intent(Intent.ACTION_VIEW,Uri.parse("cando://publisher?id=info@tahaquran.ir"));
		//	Intent next = new Intent(Intent.ACTION_VIEW,Uri.parse("parshub://collection?type=APP&id=9485"));
		//	Intent next = new Intent(Intent.ACTION_VIEW,Uri.parse("http://myket.ir/DeveloperApps.aspx?Packagename=ir.tahaquran.android"));
			 startActivity(next);
		}
	});

       button2.setOnClickListener(new OnClickListener() {

		@Override
		public void onClick(View arg0) {
			Intent item33 = new Intent(Intent.ACTION_EDIT,Uri.parse("bazaar://details?id=ir.tahaquran.daroha"));
		//	Intent item33 = new Intent(Intent.ACTION_VIEW,Uri.parse("cando://leave-review?id=ir.tahaquran.android"));
		//	Intent item33 = new Intent(Intent.ACTION_VIEW,Uri.parse("parshub://comment?q=ir.tahaquran.android"));
			//Intent item33 = new Intent(Intent.ACTION_VIEW,Uri.parse("myket://comment/#Intent;scheme=comment;package=ir.tahaquran.android;end"));
	    startActivity(item33);

		}
	});

       //------------------------------------------------------------------------------------------------------------------------------

//		[...]

	// Initially, disable the "buy me" button
	butBuy.setEnabled(false);


	buyHelper = new IabHelper(this,Billing. PUBLIC_KEY);
	buyHelper.startSetup(new OnIabSetupFinishedListener() {
			@Override
			public void onIabSetupFinished(IabResult result) {
				if(result.isSuccess()) {
					// Fill a list of SKUs that we want the price infos for
					// (SKU = "stockable unit" = buyable things)
					ArrayList moreSkus = new ArrayList();
					moreSkus.add(Billing.SKU_NAME_PREMIUM);

					// We initialize the price field with a "retrieving price" message while we wait 
					// for the price
					final TextView tvPrice = (TextView) findViewById(R.id.price);
					tvPrice.setText("در حال انتظار جهت دریافت قیمت");

				Typeface fonttt =Typeface.createFromAsset(getAssets(), "font/homa.ttf");
					tvPrice.setTypeface(fonttt);

					// Start the query for the details for the SKUs. This runs asynchronously, so
					// it may be that the price appears a bit later after the rest of the Activity is shown.
					buyHelper.queryInventoryAsync(true, moreSkus, new QueryInventoryFinishedListener() {
							@Override
							public void onQueryInventoryFinished(IabResult result, Inventory inv) {
								if(result.isSuccess()) {


									// If we successfully got the price, show it in the text field
									SkuDetails details = inv.getSkuDetails(Billing.SKU_NAME_PREMIUM);
									String price = details.getPrice();

									tvPrice.setText(price);

									// On successful init and price getting, enable the "buy me" button
									butBuy.setEnabled(true);
								} else {
									// Error getting the price... show a sorry text in the price field now
									tvPrice.setText("قیمت دریافت نشد");
									//
									butBuy.setEnabled(true);
									//
								}
							}


						});
				}
			}
		});

//		[...]
//Buying an In-App Item
//		[...]

	butBuy.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// Disable the button after the click to prevent double clicks
				butBuy.setEnabled(false);

				// Start the purchase flow
				buyHelper.launchPurchaseFlow(BuyPremiumActivity.this,
					Billing.SKU_NAME_PREMIUM, BUY_REQUEST_CODE,
					new OnIabPurchaseFinishedListener() {
						@Override
						public void onIabPurchaseFinished(IabResult result, Purchase info) {
							if (result.isSuccess()) {
								// Successful - the item has been payed for

								// We set a vale in the shared preferences to mark this app as
								SharedPreferences shared = getSharedPreferences("setting", MODE_PRIVATE);
								SharedPreferences.Editor editor = shared.edit();
								editor.putBoolean(Billing.KEY_PREMIUM_VERSION, true);
								editor.apply();


								//
								// The flag "CLEAR_TASK" is important, so the user is not sent
								// back to this buy activity when he presses the back button.
								//
								Toast.makeText(getBaseContext(), "شما با موفقیت به نسخه کامل ارتقا یافتید",Toast.LENGTH_SHORT).show();
								Intent intentz = new Intent(
                                       BuyPremiumActivity.this,
                                       MainActivity.class);
								intentz.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
												| Intent.FLAG_ACTIVITY_NEW_TASK);


								startActivity(intentz);
							}

						}
					});
			}
		});
	textView1 =(TextView) findViewById(R.id.textView_1);
	textView2 =(TextView) findViewById(R.id.TextView_2);
	fontt =Typeface.createFromAsset(getAssets(), "font/titr.ttf");
	textView1.setTypeface(fontt);
	textView2.setTypeface(fontt);
	textView2.setLineSpacing(MainActivity.space,2);
	butBuy.setTypeface(fonttt);
	button1.setTypeface(fonttt);
	button2.setTypeface(fonttt);


}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	super.onActivityResult(requestCode, resultCode, data);
	// Delegate the answer from the purchase request to the buying helper - necessary
	// to let it handle the answers from the backend
	buyHelper.handleActivityResult(requestCode, resultCode, data);
}

//Don’t forget to cleanup after 
//ourselves when the BuyActivity ends:

@Override
protected void onDestroy() {
	super.onDestroy();
	buyHelper.dispose();
}



@Override
public void onBackPressed() {
	backButtonHandler();
	return;
}
public void backButtonHandler (){


	AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
		BuyPremiumActivity.this);

	// set title
	alertDialogBuilder.setTitle("خروج");

	// set dialog message
	alertDialogBuilder
		.setMessage("از خرید منصرف شدید؟")
		.setIcon(R.drawable.ic_launcher)
		.setCancelable(false)
		.setPositiveButton("بله",
		new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog,int id) {
				// if this button is clicked, close
				// current activity
				//System.exit(id);
				finish();
			}
		})
		.setNegativeButton("ادامه میدهم",
		new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog,int id) {
				dialog.cancel();
			}
		});

	// create alert dialog
	AlertDialog alertDialog = alertDialogBuilder.create();

	// show it
	alertDialog.show();

}


/*
@Override
public void onBackPressed() {

	Intent ip=new Intent();
	ip.setClass(BuyPremiumActivity.this,page3.class);
	startActivity(ip);
	Toast.makeText(getBaseContext(), "nemayeshe peyghame shoma",Toast.LENGTH_SHORT).show();
	}
*/


}

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری