在谷歌搜索后,我发现我的带有广告的免费应用程序已在一些标题为“ app_name_ad_free_mod_hacked”的网站上发布,尝试在我的个人电话中安装此应用程序后,它可以正常运行,但广告没有展示。甚至,我注意到它没有发出广告请求。
有什么解决方案可以防止对该应用进行修改?
PS:我正在使用ProGuard,并且已经反编译了修改后的APK,与原始应用没有任何区别。
广告在我的代码中初始化如下:
在List<DictionaryEntry>
的{{1}}处:
object[]
和方法:
onCreate()
也许有人只是在方法调用或数据库中插入注释(如果检查),但是如何防止这种情况?
答案 0 :(得分:3)
使黑客无法进行:我不知道是否有答案。
您可以做的是:有一些付费工具,例如dexguard。您可以使用它们。有偿替代方案可能比无偿替代方案更好。
尽管如此,一位专家可能会进入您的代码。但是,破解dexguard并不是一个简单的游戏。 此外,它还可以进行运行时自我保护,代码优化等
我一些未使用的想法::-P |客户端
这意味着:类 ABACAS 将执行 SACABA 和 SACABA ABACAS 和方法 delegate 将返回 stack ,而方法 stack 将返回 delegate >
如果您的应用程序依赖于服务器(我的意思是您的应用程序只是一个客户端,则服务器将执行任务,具有API并执行收发操作)。哦,您已完成所有工作。只需向您的应用询问服务器的签名即可。如果#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
MFRC522::MIFARE_Key key;
// Init array that will store new NUID
byte nuidPICC[10];
void setup()
{
Serial.begin(9600);
SPI.begin(); // Init SPI bus
rfid.PCD_Init(); // Init MFRC522
for (byte i = 0; i < 6; i++)
{
key.keyByte[i] = 0xFF;
}
printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
Serial.println();
}
void loop()
{
if ( ! rfid.PICC_IsNewCardPresent())
return;
if ( ! rfid.PICC_ReadCardSerial())
return;
// Serial.print(F("PICC type: "));
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
// Serial.println(rfid.PICC_GetTypeName(piccType));
// Check is the PICC of Classic MIFARE type
if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI && piccType !=
MFRC522::PICC_TYPE_MIFARE_1K && piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F("Your tag is not of type MIFARE Classic."));
return;
}
// Store NUID into nuidPICC array
for (byte i = 0; i < 4; i++)
{
nuidPICC[i] = rfid.uid.uidByte[i];
}
printHex(rfid.uid.uidByte, rfid.uid.size);
Serial.println();
// Halt PICC
rfid.PICC_HaltA();
// Stop encryption on PCD
rfid.PCD_StopCrypto1();
}
void printHex(byte *buffer, byte bufferSize)
{
for (byte i = 0; i < bufferSize; i++) {
Serial.print(buffer[i] < 0x10 ? " 0" : " ");
Serial.print(buffer[i], HEX);
}
}
接下来执行,则返回。