رفتن به مطلب
  • 0

تشخیص app clone


mehrad

سوال

با سلام

 بنده یه نرم افزار طراحی کردم و اینکه نمیخام روی app clone ها اجرا بشه و میخوام تشخیصش بدم و به کاربر بگم که از clone app استفاده نکن ، کسی راهی داره ؟

 

clone app ها یا همون dual app کارشون اینه میان از برنامه ما کپی میسازه چند تا مثلا بجای یک تلگرام میتونیم چندین تلگرام روی گوشی داشته باشیم با این clone app ها

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

4 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در ۱۴۰۱/۳/۳۰ در 08:50، mehrad گفته است:

با سلام

 بنده یه نرم افزار طراحی کردم و اینکه نمیخام روی app clone ها اجرا بشه و میخوام تشخیصش بدم و به کاربر بگم که از clone app استفاده نکن ، کسی راهی داره ؟

 

clone app ها یا همون dual app کارشون اینه میان از برنامه ما کپی میسازه چند تا مثلا بجای یک تلگرام میتونیم چندین تلگرام روی گوشی داشته باشیم با این clone app ها

سلام ، اپ کلونر ها به دو شکل کار میکنن

بعضی ها فقط پکیج نیم اپ رو تغییر میدن

پس با چک کردن پکیج نیم میشه جلوشون رو گرفت :

	If Application.PackageName="پکیج نیم شما" Then
			ToastMessageShow("ورود مجاز است",False)
	Else
		ExitApplication ' ورود مجاز نیست
	End If

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

پس این کد رو هم اضافه کنید :

Sub KeyDetection As String
	Try
	Dim jo As JavaObject
	jo.InitializeContext
	Dim signatures() As Object = jo.RunMethodJO("getPackageManager", Null).RunMethodJO("getPackageInfo", _
     Array (Application.PackageName, 0x00000040)).GetField("signatures")
	Dim sig As JavaObject = signatures(0)
	Dim md As MessageDigest
	Dim hash() As Byte = md.GetMessageDigest(sig.RunMethod("toByteArray", Null), "SHA-1")
	Dim bc As ByteConverter
	Dim raw As String = bc.HexFromBytes(hash)
	Dim sb As StringBuilder
	sb.Initialize
	For i = 0 To raw.Length - 2 Step 2
		sb.Append(raw.CharAt(i)).Append(raw.CharAt(i + 1)).Append(":")
	Next
	sb.Remove(sb.Length - 1, sb.Length)
	Return sb.ToString
	Catch
	Return "Null"	
	End Try	
End Sub

و بعد این لاگ رو دریافت کنید :

Log(KeyDetection)

و بعد :

		If ("چیزی که در لاگ چاپ میشه")=KeyDetection Then
			ToastMessageShow("ورود مجاز است",False)
		Else
			ExitApplication ' ورود مجاز نیست
		End If

...

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

اما ی حالت دوم هم وجود داره که اپ شمارو در حافظه موازی کلون میکنن

ی چیزی مثل شبیه ساز های اندروید برای ویندوز میمونه

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

ی سری از اپ کلونر هاهم همین کار رو میکنن ، ی محیط جدید میسازن و اپ رو روش کپی میکنن (بدون تغییر پکیج نیم و پرایوت سینگ کی)

اما باز هم ی تفاوتی با دیوایس های واقعی دارن!

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

مثلا اگر توی تلفن های عادی این آدرس Android/date/0 هست ، توی فضا های موازی ایجاد شده توسط اپ کلونر ها Android/date/1 هست

من خودم از این روش استفاده نکردم برای همین دقیق نمیدونم کدش چطور هست

اما اگر بررسی کنید احتمالا به جوابش میرسید و میتونید با چک کردن این آدرس جلوی کلون رو بگیرید

 

 

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

https://proandroiddev.com/preventing-android-app-cloning-e3194269bcfa

لینک بالا رو یه نگا بندازین

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...