Android டெவலப்பர்கள் தங்கள் பயன்பாடுகளை IAP ஹேக்கர்களிடமிருந்து எவ்வாறு பாதுகாக்க முடியும்



சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்

இந்த வழிகாட்டி IAP களில் இருந்து வருமானம் ஈட்டும் Android பயன்பாட்டு டெவலப்பர்களுக்கானது, மேலும் ஹேக்கர்கள் மற்றும் ஹேக்கிங் கருவிகள் மூலம் மோசடி வாங்குதல்களிலிருந்து தங்களைப் பாதுகாத்துக் கொள்ள விரும்புகிறது. பல நன்கு அறியப்பட்ட ஐஏபி ஹேக்கிங் கருவிகள் உள்ளன, அவை நான் இங்கே பட்டியலிட மாட்டேன், ஆனால் அடிப்படையில் இந்த கருவிகள் உங்கள் பயன்பாட்டிற்கு தவறான கொள்முதல் ரசீதுகளை அனுப்புகின்றன, இது பயனருக்கு இலவச ஐஏபிகளை அனுபவிக்க அனுமதிக்கிறது. இது மாதாந்திர சந்தாக்கள் முதல் விளையாட்டு டோக்கன்கள் வரை எதுவாகவும் இருக்கலாம்.





இந்த ஹேக்கிங் கருவிகளின் புதிய பதிப்புகள் எப்போதுமே வெளியிடப்படுகின்றன, அவற்றின் சமீபத்திய புதுப்பிப்புகள் மற்றும் முறைகள் குறித்து விழிப்புடன் இருப்பது மிகவும் முக்கியமானது என்றாலும், உங்கள் பயன்பாடுகள் IAP கள் திருடப்படுவதைப் பாதுகாக்க நீங்கள் செய்யக்கூடிய சில விஷயங்கள் உள்ளன. மிக முக்கியமாக, நீங்கள் சேவையக பக்க IAP சரிபார்ப்பின் பல முறைகளை இயக்க வேண்டும், அதை நான் கீழே விவரிக்கிறேன்.



இந்த வழிகாட்டி புதியவர்களுக்கானது அல்ல, ஆனால் இந்த வழிகாட்டியில் உள்ள பல்வேறு மொழியைப் புரிந்துகொள்ளும் அனுபவமிக்க பயன்பாட்டு உருவாக்குநர்கள்.

இந்த நோக்கத்திற்காக குறிப்பாக கிட் ரெப்போ செருகுநிரலைப் பயன்படுத்துதல்:

பைரசிசெக்கர்

உங்கள் திட்டத்தில் களஞ்சியத்தைச் சேர்க்கவும் build.gradle :



களஞ்சியங்கள் {

மேவன் {

url “https://jitpack.io”

}

}

உங்கள் தொகுதிக்கு நூலகத்தைச் சேர்க்கவும் build.gradle :

சார்புநிலைகள் {

தொகுத்தல் ‘com.github.javiersantos: PiracyChecker: 1.1’

}

பரிந்துரைகள்

  • உங்கள் தயாரிப்பு வெளியீடுகளில் எப்போதும் ProGuard ஐ இயக்கவும்.
  • செல்லுபடியாகும் உரிமத்தை சீக்கிரம் சரிபார்க்க பைரசி செக்கர் உங்கள் onCreate முறையில் சேர்க்கப்பட வேண்டும்.
  • உரிமம் செல்லுபடியாகாதபோது உரையாடலுக்கு பதிலாக புதிய செயல்பாட்டைக் காட்ட பரிந்துரைக்கப்படுகிறது. இந்த வழியில் பயன்பாட்டின் முக்கிய செயல்பாடு முடிந்துவிட்டது என்பதை உறுதிசெய்கிறீர்கள். பார்க்க “ முடிவுகளை ஒரு உரையாடல் அல்லது புதிய செயல்பாட்டில் காண்பி '.

Google Play உரிமத்தை (LVL) சரிபார்க்கவும்

Google Play இல் நீங்கள் வெளியிடும் பயன்பாடுகளுக்கான உரிமக் கொள்கைகளைச் செயல்படுத்த உங்களை அனுமதிக்கும் உரிம சேவையை Google Play வழங்குகிறது. Google Play உரிமம் மூலம், உங்கள் பயன்பாடு தற்போதைய பயனருக்கான உரிம நிலையைப் பெற Google Play ஐ வினவலாம்.

Google Play மூலம் நீங்கள் வெளியிடும் எந்தவொரு பயன்பாடும் Google Play உரிம சேவையைப் பயன்படுத்தலாம். சிறப்பு கணக்கு அல்லது பதிவு தேவையில்லை.

புதிய பைரசி செக்கர் (இது)

.enableGooglePlayLicensing (“BASE_64_LICENSE_KEY”)

...

.ஸ்டார்ட் ();

உங்கள் BASE64 உரிம விசையை மீட்டெடுக்க, உங்கள் பயன்பாட்டை பதிவேற்ற வேண்டும் Google Play டெவலப்பர் கன்சோல் . உங்கள் பயன்பாட்டை -> சேவைகள் மற்றும் API களை அணுகவும்.

கூகிள் பிளே உரிமத்தைப் பயன்படுத்தும் போது, ​​சேவையின் பல நிகழ்வுகளைத் தவிர்க்க உங்கள் செயல்பாட்டின் onDestroy () முறையில் .destroy () ஐ அழைக்க வேண்டும்.

உங்கள் பயன்பாட்டின் கையொப்பமிடல் சான்றிதழை (கையொப்பம்) சரிபார்க்கவும்

பயனர் சாதனங்களில் பயன்பாட்டை நிறுவுவதற்கு முன்பு டெவலப்பர்கள் எப்போதும் தங்கள் தனிப்பட்ட விசை / சான்றிதழுடன் (.keystore கோப்பில் உள்ளது) பயன்பாடுகளில் கையொப்பமிட வேண்டும். கையொப்பமிடும் சான்றிதழ் பயன்பாட்டின் வாழ்நாள் முழுவதும் சீராக இருக்க வேண்டும், மேலும் பொதுவாக 25 ஆண்டுகள் காலாவதியாகும்.

.Apk எந்த வகையிலும் மாற்றப்பட்டால் பயன்பாட்டு கையொப்பம் உடைக்கப்படும் - கையொப்பமிடாத பயன்பாடுகளை பொதுவாக நிறுவ முடியாது. உதாரணமாக, முழு பயன்பாட்டு அம்சங்களையும் செலுத்தாமல் தாக்குபவர் உரிமம் சரிபார்ப்புக் குறியீட்டை அகற்றுவதை நாம் கற்பனை செய்யலாம். உணர்திறன் வாய்ந்த பயனர் தரவை அறுவடை செய்ய முறையான பயன்பாட்டில் தீம்பொருளை சேர்க்க .apk ஐ மாற்றுவது மிகவும் ஆபத்தான எடுத்துக்காட்டு. மாற்றப்பட்ட .apk நிறுவப்படுவதற்கு, தாக்குபவர் அதை ராஜினாமா செய்ய வேண்டும்.

புதிய பைரசி செக்கர் (இது)

.enableSigningCertificate (“478yYkKAQF + KST8y4ATKvHkYibo =”) // உற்பத்தி பதிப்பிற்கான அசல் APK கையொப்பம்

...

.ஸ்டார்ட் ();

கவனமாக இரு!! உங்கள் பயன்பாட்டு கையொப்பத்தை PiracyCheckerUtils முறையைப் பயன்படுத்தி மீட்டெடுக்கலாம். உங்கள் தயாரிப்பு விசை அங்காடியைப் பயன்படுத்தி உங்கள் APK இல் கையொப்பமிட்டுள்ளீர்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள் (பிழைத்திருத்தத்தைப் பயன்படுத்தவில்லை) மற்றும் நீங்கள் விநியோகிக்கத் திட்டமிட்ட பதிப்பை நிறுவியுள்ளீர்கள். இந்த முறையால் வழங்கப்பட்ட கையொப்பத்தை கன்சோலில் நகலெடுத்து .enableSigningCertificate (“YOUR_APK_SIGNATURE”) இல் ஒட்டவும்.

// இந்த முறை உங்கள் பயன்பாட்டு கையொப்பத்தை கன்சோலில் அச்சிடும்

Log.e (“SIGNATURE”, PiracyCheckerUtils.getAPKSignature (இது));

நிறுவியைச் சரிபார்க்கவும்

ஒரு குறிப்பிட்ட கடையில் மட்டுமே பயன்பாட்டை விநியோகிக்க நீங்கள் திட்டமிட்டால், இந்த நுட்பம் வேறு எந்த கடையையும் பயன்படுத்தி பயன்பாட்டை நிறுவுவதைத் தடுக்கும்.

ஆதரிக்கப்படும் கடைகள்: கூகிள் பிளே, அமேசான் ஆப் ஸ்டோர் மற்றும் சாம்சங் கேலக்ஸி ஆப்ஸ்.

புதிய பைரசி செக்கர் (இது)

.enableInstallerId (InstallerID.GOOGLE_PLAY)

.enableInstallerId (InstallerID.AMAZON_APP_STORE)

.enableInstallerId (InstallerID.GALAXY_APPS)

...

.ஸ்டார்ட் ();

கவனமாக இரு!! இது உண்மையிலேயே கட்டுப்படுத்தப்பட்ட நுட்பமாகும், ஏனெனில் இது உங்கள் பயன்பாட்டை மற்றொரு சந்தையைப் பயன்படுத்தி நிறுவப்படுவதையோ அல்லது சாதனத்தில் .apk ஐ நேரடியாக நிறுவுவதையோ தடுக்கும். பெரும்பாலான சந்தர்ப்பங்களில் இது பரிந்துரைக்கப்படவில்லை.

பைரேட் பயன்பாடுகளின் பயன்பாட்டை சரிபார்க்கவும்

பயனர் பைரேட் பயன்பாடுகளை நிறுவியிருக்கிறாரா என்பதை நீங்கள் சரிபார்க்க விரும்பினால், இந்த குறியீட்டைப் பயன்படுத்தலாம்.

இது சரிபார்க்கும்: லக்கி பேட்சர், யுரேட் பேட்சர், ஃப்ரீடம் மற்றும் க்ரீஹேக்.

புதிய பைரசி செக்கர் (இது)

.enableUnauthorizedAppsCheck ()

...

.ஸ்டார்ட் ();

இந்த கொள்ளையர் பயன்பாடுகள் நிறுவல் நீக்கப்பட்டிருந்தாலும் கூட நீங்கள் பயன்பாட்டைத் தடுக்கலாம். இது உங்கள் பயன்பாட்டைத் தொடர்ந்து பயன்படுத்துவதைத் தடுக்க, பின்னர் பைரேட் பயன்பாட்டை நிறுவல் நீக்குவதைத் தடுக்கிறது. ஒரு கொள்ளையர் பயன்பாடு கண்டறியப்பட்டபோது அறிய நூலகம் பகிரப்பட்ட மதிப்பை சேமிக்கும்.

இதைச் செய்ய இரண்டு வழிகள் உள்ளன:

பகிர்வு முன்னுரிமைகள் மற்றும் முடிவை நீங்கள் சேமிக்க விரும்பும் விருப்பத்தின் பெயரை வரையறுக்கவும்.

புதிய பைரசி செக்கர் (இது)

.enableUnauthorizedAppsCheck ()

.blockIfUnauthorizedAppUninstalled (விருப்பத்தேர்வுகள், “app_unauthorized”) // உங்கள் சொந்த மதிப்புடன் “app_unauthorized” ஐ மாற்றவும்

...

.ஸ்டார்ட் ();

முடிவைச் சேமிக்க விரும்பும் இடத்தில் பகிரப்பட்ட முன்னுரிமைகள் பெயர் மற்றும் விருப்பத்தின் பெயரை வரையறுக்கவும்.

புதிய பைரசி செக்கர் (இது)

.enableUnauthorizedAppsCheck ()

.blockIfUnauthorizedAppUninstalled (“license_preferences”, “app_unauthorized”) // உங்கள் சொந்த மதிப்புடன் “உரிம_ முன்னுரிமைகள்” மற்றும் “app_unauthorized” ஐ மாற்றவும்

...

.ஸ்டார்ட் ();

மூன்றாம் தரப்பு அங்காடி பயன்பாடுகளின் பயன்பாட்டைச் சரிபார்க்கவும்

பயனர் மூன்றாம் தரப்பு அங்காடி பயன்பாடுகளை நிறுவியிருக்கிறாரா என்பதை நீங்கள் சரிபார்க்க விரும்பினால், இந்த குறியீட்டைப் பயன்படுத்தலாம்.

இது சரிபார்க்கும்: அப்டோயிட், பிளாக்மார்ட், மொபொஜெனி, 1 மொபைல், கெட்ஆப், கெட்ஜார், ஸ்லைடுமீ மற்றும் ஏசிமார்க்கெட்.

புதிய பைரசி செக்கர் (இது)

.enableStoresCheck ()

...

.ஸ்டார்ட் ();

பயன்பாடு பிழைத்திருத்த உருவாக்கமா என சரிபார்க்கவும்

உங்கள் பயன்பாடு மேம்பாட்டு செயல்முறைக்கு வெளியே ஒரு முன்மாதிரியாக இயங்குகிறது என்றால், உங்களைத் தவிர வேறு ஒருவர் பயன்பாட்டை பகுப்பாய்வு செய்ய முயற்சிக்கிறார் என்பதற்கான அறிகுறியை இது தருகிறது.

புதிய பைரசி செக்கர் (இது)

.enableDebugCheck ()

...

.ஸ்டார்ட் ();

பயன்பாடு ஒரு முன்மாதிரியில் இயங்குகிறதா என சரிபார்க்கவும்

வளர்ச்சிக்கு வெளியே, உங்கள் பயன்பாடு ஒரு முன்மாதிரியாக இயங்குவது சாத்தியமில்லை, மேலும் பிழைத்திருத்தத்துடன் கூடிய பயன்பாடுகளை வெளியிடுவது ஊக்கமளிக்கிறது, ஏனெனில் இது இணைக்கப்பட்ட கணினிகளை Android பிழைத்திருத்த பாலம் வழியாக பயன்பாட்டை அணுகவும் பிழைத்திருத்தவும் அனுமதிக்கிறது.

boolean deep = பொய்;

புதிய பைரசி செக்கர் (இது)

.enableEmulatorCheck (ஆழமான)

...

.ஸ்டார்ட் ();

குறிப்பு: சாதனம் ஒரு முன்மாதிரியாக இருக்கிறதா இல்லையா என்பதைக் கண்டறிய நூலகம் கூடுதல் சோதனைகளைச் செய்ய வைக்கும் ஆழமான பூலியன். இது சில வித்தியாசமான செயலிழப்புகளுக்கு வழிவகுக்கும், எனவே அதைப் பயன்படுத்தும் போது புத்திசாலித்தனமாக இருங்கள்.

உரிம சரிபார்ப்பின் முடிவை SharedPreferences இல் சேமிக்கவும்

உரிம காசோலையின் முடிவைச் சேமிப்பது. ஸ்டார்ட் () ஐ பல முறை அழைக்காமல் உரிம நிலையை சரிபார்க்க பயனுள்ளதாக இருக்கும்.

இதைச் செய்ய இரண்டு வழிகள் உள்ளன:

பகிர்வு முன்னுரிமைகள் மற்றும் முடிவை நீங்கள் சேமிக்க விரும்பும் விருப்பத்தின் பெயரை வரையறுக்கவும்.

புதிய பைரசி செக்கர் (இது)

.saveResultToSharedPreferences (விருப்பத்தேர்வுகள், “valid_license”) // உங்கள் சொந்த மதிப்புடன் “valid_license” ஐ மாற்றவும்

...

.ஸ்டார்ட் ();

முடிவைச் சேமிக்க விரும்பும் இடத்தில் பகிரப்பட்ட முன்னுரிமைகள் பெயர் மற்றும் விருப்பத்தின் பெயரை வரையறுக்கவும்.

புதிய பைரசி செக்கர் (இது)

.saveResultToSharedPreferences (“license_preferences”, “valid_license”) // உங்கள் சொந்த மதிப்புடன் “உரிம_ முன்னுரிமைகள்” மற்றும் “valid_license” ஐ மாற்றவும்

...

.ஸ்டார்ட் ();

தனிப்பயனாக்கங்கள்

முடிவுகளை ஒரு உரையாடல் அல்லது புதிய செயல்பாட்டில் காண்பி

உரிமம் செல்லுபடியாகாதபோது உரையாடலுக்கு பதிலாக புதிய செயல்பாட்டைக் காட்ட பரிந்துரைக்கப்படுகிறது. இந்த வழியில் பயன்பாட்டின் முக்கிய செயல்பாடு முடிந்துவிட்டது என்பதை உறுதிசெய்கிறீர்கள்.

முன்னிருப்பாக ரத்து செய்ய முடியாத உரையாடல் காண்பிக்கப்படும்.

புதிய பைரசி செக்கர் (இது)

. காட்சி (காட்சி. ACTIVITY)

...

.ஸ்டார்ட் ();

இயல்பாக, காட்டப்படும் செயல்பாடு நூலக வண்ணங்களைப் பயன்படுத்தும். தனிப்பயன் முதன்மை மற்றும் முதன்மை இருண்ட நிறத்தைப் பயன்படுத்துவதற்கு, மற்றும் செயல்பாடு சாதாரண அல்லது ஒளி நிலை பட்டியைக் காட்ட வேண்டுமா என்பதை வரையறுக்க, பயன்படுத்தவும்:

.withActivityColors (R.color.colorPrimary, R.color.colorPrimaryDark, withLightStatusBar)

இதைப் பயன்படுத்தி இந்த செயல்பாட்டு உள்ளடக்கத்திற்கான தனிப்பயன் தளவமைப்பு xml ஐ நீங்கள் வரையறுக்கலாம்:

.withActivityLayout (R.layout.my_custom_layout)

தனிப்பயன் கால்பேக்குகளைப் பயன்படுத்துதல்

பில்டருக்கு ஒரு கால்பேக்கைச் சேர்ப்பது, உரிமம் சரிபார்க்கப்பட்டபோது என்ன நடக்கும் என்பதைத் தனிப்பயனாக்கவும், பயன்பாட்டைப் பயன்படுத்த பயனரை அனுமதிக்காவிட்டால் உரிமச் சரிபார்ப்பு பிழைகளை நிர்வகிக்கவும் உங்களை அனுமதிக்கிறது. இந்த முறையைப் பயன்படுத்தும் போது நினைவில் கொள்ளுங்கள் அங்கீகரிக்கப்படாத பயனர்களிடமிருந்து பயன்பாட்டைத் தடுப்பதை நீங்கள் அறிந்திருக்க வேண்டும் .

இயல்புநிலையாக, பயன்பாட்டைப் பயன்படுத்த பயனரை அனுமதிக்காவிட்டால் நூலகம் ரத்து செய்ய முடியாத உரையாடலைக் காண்பிக்கும், இல்லையெனில் எதுவும் நடக்காது.

பில்டரைப் பயன்படுத்தி பின்வருவனவற்றைச் சேர்க்கவும்:

.கால் பேக் (புதிய பைரசிசெக்கர்பேக் () {

Ver ஓவர்ரைடு

பொது வெற்றிட அனுமதி () {

// பயன்பாட்டைப் பயன்படுத்த பயனரை அனுமதிக்கும்போது ஏதாவது செய்யுங்கள்

}

Ver ஓவர்ரைடு

public void dontAllow (onNonNull PiracyCheckerError error, ullaNullable PirateApp பயன்பாடு) {

// பயன்பாட்டைப் பயன்படுத்த பயனரை அனுமதிக்காதபோது நீங்கள் குறிப்பிட்ட ஒன்றைச் செய்யலாம்

// அல்லது பிழையை நிர்வகிக்கவும், ‘பிழை’ அளவுருவைப் பயன்படுத்தி, நீங்களே (@ inklink PiracyCheckerError at இல் பிழைகளைச் சரிபார்க்கவும்).

// கூடுதலாக, நீங்கள் கொள்ளையர் பயன்பாடுகள் மற்றும் / அல்லது மூன்றாம் தரப்பு கடைகளின் காசோலையை இயக்கியிருந்தால், ‘பயன்பாடு’ பரம்

// என்பது சாதனத்தில் கண்டறியப்பட்ட பயன்பாடாகும். பயன்பாடு பூஜ்யமாக இருக்கலாம், பூஜ்யமாக இருக்கும்போது, ​​கொள்ளையர் பயன்பாடு அல்லது கடை எதுவும் கிடைக்கவில்லை என்று அர்த்தம்,

// அல்லது அந்த பயன்பாடுகளுக்கான காசோலையை முடக்கியுள்ளீர்கள்.

// உரிமம் செல்லாததற்கான காரணங்களை பயனர்களுக்கு தெரியப்படுத்த இது உங்களை அனுமதிக்கிறது.

}

Ver ஓவர்ரைடு

பொது வெற்றிடம் onError (onNonNull PiracyCheckerError error) {

// இந்த முறை செயல்படுத்த / மீற தேவையில்லை ஆனால்…

// உரிமத்தை சரிபார்க்கும்போது பிழை ஏற்பட்டால் நீங்கள் குறிப்பிட்ட ஒன்றைச் செய்யலாம்,

// அல்லது பிழையை நிர்வகிக்கவும், ‘பிழை’ அளவுருவைப் பயன்படுத்தி, நீங்களே (@ inklink PiracyCheckerError at இல் பிழைகளைச் சரிபார்க்கவும்).

}

})

6 நிமிடங்கள் படித்தது