ru
Feedback
Useful Patches

Useful Patches

Открыть в Telegram

Useful Patches for Reversing Android Apps and Games by @Its_me_MuhammadRizwan Main Channel @TDOhex For feedback @TDOhex_Discussion

Больше
1 593
Подписчики
Нет данных24 часа
Нет данных7 дней
Нет данных30 день

Загрузка данных...

Похожие каналы
Облако тегов
Нет данных
Возникли проблемы? Пожалуйста, обновите страницу или обратитесь к нашему support-менеджеру .
Входящие и исходящие упоминания
---
---
---
---
---
---
Привлечение подписчиков
июль '24
июль '24
+226
в 9 каналах
июнь '240
в 7 каналах
Get PRO
май '240
в 0 каналах
Get PRO
апрель '240
в 0 каналах
Get PRO
март '24
+4
в 3 каналах
Get PRO
февраль '24
+169
в 7 каналах
Get PRO
январь '24
+166
в 1 каналах
Get PRO
декабрь '23
+147
в 4 каналах
Get PRO
ноябрь '230
в 1 каналах
Get PRO
октябрь '23
+10
в 1 каналах
Get PRO
сентябрь '23
+66
в 0 каналах
Get PRO
август '23
+62
в 0 каналах
Get PRO
июль '23
+67
в 0 каналах
Get PRO
июнь '23
+81
в 0 каналах
Get PRO
май '23
+69
в 0 каналах
Get PRO
апрель '23
+103
в 0 каналах
Get PRO
март '23
+48
в 0 каналах
Get PRO
февраль '23
+511
в 0 каналах
Посты канала
How to Reach Place to Patch Trough revenuecat ━━━━━━━━━━━━━━━━━━━ Points: 1. Determining the subscription status of a user can be done using the CustomerInfo (Also known an PurchaserInfo) and EntitlementInfo objects. 2. The EntitlementInfo object gives you access to all of the information about the status of a user's entitlements. 3. "pro" access will be granted if user has active entitlement. 4. CustomerInfo will be empty if no purchases have been made and no transactions have been synced. ━━━━━━━━━━━━━━━━━━━ Codes: // Check if the specified entitlement is active         if (customerInfo.getEntitlements().get(<my_entitlement_identifier>).isActive()) {                         // Grant user "pro" access             // We can reach the actual location through the code flow here, where we can apply our patch.                 } ━━━━━━━━━━━━━━━━━━━ Documentations: 1. https://www.revenuecat.com/docs/making-purchases 2. https://www.revenuecat.com/docs/customer-info#checking-if-a-user-is-subscribed 3. https://www.revenuecat.com/docs/getting-started#%EF%B8%8F-check-subscription-status 4. https://www.revenuecat.com/docs/purchaserinfo#section-get-entitlement-information ━━━━━━━━━━━━━━━━━━━ Class Lcom/revenuecat/purchases/CustomerInfo; Or Lcom/revenuecat/purchases/PurchaserInfo; Method getEntitlements() Regex to Search: invoke-virtual \{([pv]\d+)\}, Lcom/revenuecat/purchases/(CustomerInfo|PurchaserInfo);->getEntitlements\(\)Lcom/revenuecat/purchases/EntitlementInfos;([\w\W])*?move-result-object ([pv]\d+) Note: Sometime it will be obfuscated. So, that time this keyword will help you. Keyword: activeEntitlements: . 👉 For Practical Video on this Method https://t.me/TDOhex/415 ━━━━━━━━━━━━━━━━━━━ 💥💥💥💥💥💥💥💥💥💥 ✍ by @Its_me_MuhammadRizwan ♻️ Join @TDOhex 💗 Follow @Android_Patches 🐞 Feedback @TDOhex_Discussion 💥💥💥💥💥💥💥💥💥💥

2
Tool Name: LibPatcher Version: 1.0 Language: python Dependencies: radare2, r2pipe Author: MuhammadRizwan License: MIT Description: LibPatcher is a python-based tool that designed to simplify the process of patching ARM64 and ARM32 binaries. 👉 For Full Description https://t.me/TDOhex/406 Usage: 1. Run the command: python /yourPath/LibPatcher.py 2. Provide the correct executable path for the ARM binary. For example: /storage/emulated/0/radare2/libfoo.so 3. Enter the offsets for each data type in a valid format. For example: 0x100 or 0x100,0x200 💥💥💥💥💥💥💥💥💥💥 ✍ by @Its_me_MuhammadRizwan ♻️ Join @TDOhex 💗 Follow @Android_Patches 🐞 Feedback @TDOhex_Discussion 💥💥💥💥💥💥💥💥💥💥
555
3
Short Description: LibPatcher is a Python script that utilizes r2pipe to perform patching operations on ARM aarch64 executable libraries. It modifies specified offsets in the binary to set values such as boolean true/false, integer zero/max, long zero/64-bit values, float zero and void with nop. This simple and easy tool aids in binary manipulation and reverse engineering tasks. Note: Please ensure to carefully read the comments included in the script before making use of it or asking any questions. Tutorial: 👉 How to Use LibPatcher https://t.me/TDOhex/403 Notes: 👉 Useful Notes On Data types With Patches of arm32/64 https://t.me/Android_Patches/18 💥💥💥💥💥💥💥💥💥💥 ✍ by @Its_me_MuhammadRizwan 🤝 Support @TDOhex ♻️ Follow @Android_Patches 🐞 Feedback @TDOhex_Discussion 💗 Join us for more Info 💥💥💥💥💥💥💥💥💥💥
543
4
Patch to Inject Fake Build Prop into Any App/Game ━━━━━━━━━━━━━━━━━━━ ☛ For description of this patch https://t.me/TDOhex/391 ━━━━━━━━━━━━━━━━━━━ Build Property Information about the current build, extracted from system properties Documentation: https://developer.android.com/reference/android/os/Build ━━━━━━━━━━━━━━━━━━━ ❰ Manufacturer ❱ The manufacturer of the product/hardware. Search: sget-object ([pv]\d+), Landroid/os/Build;->MANUFACTURER:Ljava/lang/String; Replace: const-string $1, "Xiaomi" ━━━━━━━━━━━━━━━━━━━ ❰ Brand ❱ The consumer-visible brand with which the product/hardware will be associated, if any. Search: sget-object ([pv]\d+), Landroid/os/Build;->BRAND:Ljava/lang/String; Replace: const-string $1, "Xiaomi" ━━━━━━━━━━━━━━━━━━━ ❰ Model ❱ The end-user-visible name for the end product. Search: sget-object ([pv]\d+), Landroid/os/Build;->MODEL:Ljava/lang/String; Replace: const-string $1, "Redmi K20 Pro" ━━━━━━━━━━━━━━━━━━━ ❰ Product ❱ The name of the overall product. Search: sget-object ([pv]\d+), Landroid/os/Build;->PRODUCT:Ljava/lang/String; Replace: const-string $1, "raphael" ━━━━━━━━━━━━━━━━━━━ ❰ Device ❱ The name of the industrial design. Search: sget-object ([pv]\d+), Landroid/os/Build;->DEVICE:Ljava/lang/String; Replace: const-string $1, "raphael" ━━━━━━━━━━━━━━━━━━━ ❰ Board ❱ The name of the underlying board, like "goldfish". Search: sget-object ([pv]\d+), Landroid/os/Build;->BOARD:Ljava/lang/String; Replace: const-string $1, "raphael" ━━━━━━━━━━━━━━━━━━━ ❰ Radio ❱ The radio firmware version number. Search: invoke-static \{\}, Landroid/os/Build;->getRadioVersion\(\)Ljava/lang/String;\n\n move-result-object ([pv]\d+) Or Search: sget-object ([pv]\d+), Landroid/os/Build;->RADIO:Ljava/lang/String; Replace: const-string $1, "Unknown" ━━━━━━━━━━━━━━━━━━━ ❰ Hardware ❱ The name of the hardware (from the kernel command line or /proc). Search: sget-object ([pv]\d+), Landroid/os/Build;->HARDWARE:Ljava/lang/String; Replace: const-string $1, "qcom" ━━━━━━━━━━━━━━━━━━━ ❰ Bootloader ❱ The system bootloader version number. Search: sget-object ([pv]\d+), Landroid/os/Build;->BOOTLOADER:Ljava/lang/String; Replace: const-string $1, "Unknown" ━━━━━━━━━━━━━━━━━━━ ❰ Fingerprint ❱ A string that uniquely identifies this build. Do not attempt to parse this value. Search: sget-object ([pv]\d+), Landroid/os/Build;->FINGERPRINT:Ljava/lang/String; Replace: const-string $1, "Xiaomi/raphael/raphael:11/RKQ1.200826.002/V12.5.4.0.RFKCNXM:user/release-keys" ━━━━━━━━━━━━━━━━━━━ ❰ ID ❱ Either a changelist number, or a label like "M4-rc20". Search: sget-object ([pv]\d+), Landroid/os/Build;->ID:Ljava/lang/String; Replace: const-string $1, "RKQ1.200826.002" ━━━━━━━━━━━━━━━━━━━ ❰ Serial ❱ A hardware serial number, if available. Alphanumeric only, case-insensitive. This field is always set to Build#UNKNOWN. Search: sget-object ([pv]\d+), Landroid/os/Build;->SERIAL:Ljava/lang/String; Replace: const-string $1, "Unknown" ━━━━━━━━━━━━━━━━━━━ 💥💥💥💥💥💥💥💥💥💥💥 ✍ by @Its_me_MuhammadRizwan 🤝 Sponsor @TDOhex ♻️ Follow @Android_Patches 🐞 Feedback @TDOhex_Discussion 💗 Join us for more Info 💥💥💥💥💥💥💥💥💥💥💥
445
5
How to Fix Google Maps in Mod Apps ━━━━━━━━━━━━━━━━━━━━━━ ☛ 1. Create a new Google Cloud project in the Cloud Console ● For creating new project: https://console.cloud.google.com/projectcreate ━━━━━━━━━━━━━━━━━━━━━━ ☛ 2. To use Google Maps Platform, you must enable the APIs or SDKs you plan to use with your project ● For enabling Maps SDK for Android: https://console.cloud.google.com/apis/library/maps-android-backend.googleapis.com ● For enabling Geocoding API: https://console.cloud.google.com/apis/library/geocoding-backend.googleapis.com ● For enabling Places API: https://console.cloud.google.com/apis/library/places-backend.googleapis.com ━━━━━━━━━━━━━━━━━━━━━━ ☛ 3. Go to the credentials page and create new api key ● For creating new api key: A. Go to the Google Maps Platform > Credentials page. https://console.cloud.google.com/apis/credentials B. On the Credentials page, click Create credentials > API key. The API key created dialog displays your newly created API key. C. Click Close. The new API key is listed on the Credentials page under API keys. (Remember to restrict the API key before using it in production.) ━━━━━━━━━━━━━━━━━━━━━━ ☛ 4. To restrict an API key: A. Go to the Google Maps Platform > Credentials page. https://console.cloud.google.com/project/_/google/maps-apis/credentials B. Select the API key that you want to set a restriction on. The API key property page appears. C. Under Key restrictions, set the following restrictions: ● Application restrictions: -- Select Android apps. ● API restrictions: -- Click Restrict key -- Select Maps SDK for Android, Geocoding API, Place API from Select APIs dropdown -- To finalize your changes, click Save ━━━━━━━━━━━━━━━━━━━━━━ ☛ 5. Go to Manifest or Resources of the target mod and find key of com.google.android.geo.API_KEY OR com.google.android.maps.v2.API_KEY Then replace with your api key. ━━━━━━━━━━━━━━━━━━━━━━ 👉 For Practical Tutorial https://t.me/TDOhex/389 Documentations: https://developers.google.com/maps/documentation/android-sdk/cloud-setup#enabling-apis https://developers.google.com/maps/documentation/android-sdk/get-api-key#restrict_key 💥💥💥💥💥💥💥💥💥💥💥💥💥 ✍ by @Its_me_MuhammadRizwan 🤝 Sponsor @TDOhex ♻️ Follow @Android_Patches 💗 Join us for more Info 💥💥💥💥💥💥💥💥💥💥💥💥💥
656
6
Index: 👉 Useful Notes On Data types With Patches of arm32/64 https://t.me/Android_Patches/18 👉 Notes on android.view setVisibility https://t.me/Android_Patches/19 👉 1. High-level Patch for Disabling Ads from Android Apps and Games https://t.me/Android_Patches/20 👉 2. Moderate-level Patch for Disabling Ads from Android Apps and Games https://t.me/Android_Patches/21 👉 3. Low-level Patch for Disabling Ads from Android Apps and Games https://t.me/Android_Patches/22 👉 Patch for Overriding SharedPreferences https://t.me/Android_Patches/24
874
7
Patch for Overriding SharedPreferences ━━━━━━━━━━━━━━━━━━━━━━ Usage: 👉 1. Copy snippet and paste into onCreate method of Launcher Activity (It would be better if you create new method and paste snippet then call it in onCreate of Launcher Activity) 👉 2. Increase 4 digits in registers of that method in which you put this snippet and increase 5 digits if you want to use snippet of long data 👉 For Video Tutorial https://t.me/TDOhex/387 ━━━━━━━━━━━━━━━━━━━━━━ 👉 1. For Storing Boolean Data const-string v0, "yourSPName" # Put the name of that SharedPreferences which you want to edit. const/4 v1, 0x0 invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; move-result-object p0 invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object p0 const/4 v2, 0x1 # Boolean value, put the value as your requirement. const-string v3, "isAppBought" # Boolean key, put your keyword that you find out. invoke-interface {p0, v3, v2}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->apply()V ━━━━━━━━━━━━━━━━━━━━━━ 👉 For Storing Integer Data const-string v0, "yourSPName" # Put the name of that SharedPreferences which you want to edit. const/4 v1, 0x0 invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; move-result-object p0 invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object p0 const v2, 0x7fffffff # Integer value, put the value as your requirement. const-string v3, "userDiamonds" # Integer key, put your keyword that you find out. invoke-interface {p0, v3, v2}, Landroid/content/SharedPreferences$Editor;->putInt(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->apply()V ━━━━━━━━━━━━━━━━━━━━━━ 👉 For Storing String Data const-string v0, "yourSPName" # Put the name of that SharedPreferences which you want to edit. const/4 v1, 0x0 invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; move-result-object p0 invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object p0 const-string v2, "active" # String value, put the value as your requirement. const-string v3, "subStatus" # String key, put your keyword that you find out. invoke-interface {p0, v3, v2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->apply()V ━━━━━━━━━━━━━━━━━━━━━━ 👉 For Storing Long Data const-string v0, "yourSPName" # Put the name of that SharedPreferences which you want to edit. const/4 v1, 0x0 invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; move-result-object p0 invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object p0 const-wide v3, 0x7fffffffffffffffL # Long value, put the value as your requirement. const-string v2, "userCoins" # Long key, put your keyword that you find out. invoke-interface {p0, v2, v3, v4}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->apply()V ━━━━━━━━━━━━━━━━━━━━━━ 💥💥💥💥💥💥💥💥💥💥💥💥💥 ✍ by @Its_me_MuhammadRizwan 🤝 Sponsor @TDOhex ♻️ Follow @Android_Patches 💗 Join us for more Info 💥💥💥💥💥💥💥💥💥💥💥💥💥
928
8
3. Low-level Patch for Disabling Ads from Android Apps and Games ☛ For description of this patch https://t.me/TDOhex/383 ━━━━━━━━━━━━━━━━━━━━━━ VoidSearch: (invoke(?!.*(close|Destroy|Dismiss|Disabl|error|player|remov|expir|fail|hide|skip|stop)).*/(adcolony|admob|ads|adsdk|aerserv|appbrain|applovin|appodeal|appodealx|appsflyer|bytedance/sdk/openadsdk|chartboost|flurry|fyber|hyprmx|inmobi|ironsource|mbrg|mbridge|mintegral|moat|mobfox|mobilefuse|mopub|my/target|ogury|Omid|onesignal|presage|smaato|smartadserver|snap/adkit|snap/appadskit|startapp|taboola|tapjoy|tappx|vungle)/.*>(.*(load|show).*)\(.*\)V) VoidReplace: nop ━━━━━━━━━━━━━━━━━━━━━━ BooleanSearch: (invoke(?!.*(close|Destroy|Dismiss|Disabl|error|player|remov|expir|fail|hide|skip|stop)).*/(adcolony|admob|ads|adsdk|aerserv|appbrain|applovin|appodeal|appodealx|appsflyer|bytedance/sdk/openadsdk|chartboost|flurry|fyber|hyprmx|inmobi|ironsource|mbrg|mbridge|mintegral|moat|mobfox|mobilefuse|mopub|my/target|ogury|Omid|onesignal|presage|smaato|smartadserver|snap/adkit|snap/appadskit|startapp|taboola|tapjoy|tappx|vungle)/.*>(.*(load|show).*)\(.*\)Z\n\n\s{4})move-result\s([pv]\d+) BooleanReplace: const/4 $6, 0x0 ━━━━━━━━━━━━━━━━━━━━━━ StringSearch: "(http.*|//.*)(61\.145\.124\.238|/2mdn\.net|-ads\.|\.5rocks\.io|\.ad\.|\.adadapted|\.admitad\.|\.admost\.|\.ads\.|\.aerserv\.|\.airpush\.|\.batmobil\.|\.chartboost\.|\.cloudmobi\.|\.conviva\.|\.dov-e\.com|\.fyber\.|\.mng-ads\|\.mydas\.|\.predic\.|\.talkingdata\.|\.tapdaq\.|\.tele\.fm|\.unity3d\.|\.unity\.|\.wapstart\.|\.xdrig\.|\.zapr\.|\/ad\.|\/ads|a4\.tl|accengage|ad4push|ad4screen|ad-mail|ad\..*_logging|ad\.api\.kaffnet\.|ad\.cauly\.co\.|adbuddiz|adc3-launch|adcolony|adfurikun|adincube|adinformation|adkmob|admax\.|admixer|admob|admost|ads\.mdotm\.|adsafeprotected|adservice|adsmogo|adsrvr|adswizz|adtag|adtech\.de|advert|adwhirl|adz\.wattpad\.|alimama\.|alta\.eqmob\.|amazon-.*ads|amazon\..*ads|amobee|analytics|anvato|appboy|appbrain|applovin|applvn|appmetrica|appnext|appodeal|appsdt|appsflyer|apsalar|avocarrot|axonix|banners-slb\.mobile\.yandex\.net|banners\.mobile\.yandex\.net|brightcove\.|burstly|cauly|cloudfront|cmcm\.|com\.google\.android\.gms\.ads\.identifier\.service\.START|comscore|contextual\.media\.net|crashlytics|crispwireless|criteo\.|dmtry\.|doubleclick|duapps|dummy|flurry|fwmrm|gad|getads|gimbal|glispa|google\.com\/dfp|googleAds|googleads|googleapis\..*\.ad-.*|googlesyndication|googletagmanager|greystripe|gstatic|heyzap|hyprmx|iasds01|inmobi|inneractive|instreamatic|integralads|jumptag|jwpcdn|jwpltx|jwpsrv|kochava|localytics|madnet|mapbox|mc\.yandex\.ru|media\.net|metrics\.|millennialmedia|mixpanel|mng-ads\.com|moat\.|moatads|mobclix|mobfox|mobpowertech|moodpresence|mopub|native_ads|nativex\.|nexage\.|ooyala|openx\.|pagead|pingstart|prebid|presage\.io|pubmatic|pubnative|rayjump|saspreview|scorecardresearch|smaato|smartadserver|sponsorpay|startappservice|startup\.mobile\.yandex\.net|statistics\.videofarm\.daum\.net|supersonicads|taboola|tapas|tapjoy|tapylitics|target\.my\.com|teads\.|umeng|unityads|vungle|zucks).*" StringReplace: "127.0.0.1" ━━━━━━━━━━━━━━━━━━━━━━
2 352
9
2. Moderate-level Patch for Disabling Ads from Android Apps and Games ☛ For description of this patch https://t.me/TDOhex/383 ━━━━━━━━━━━━━━━━━━━━━━ VoidSearch: (invoke(?!.*(close|Destroy|Dismiss|Disabl|error|player|remov|expir|fail|hide|skip|stop)).*/(adcolony|admob|ads|adsdk|aerserv|appbrain|applovin|appodeal|appodealx|appsflyer|bytedance/sdk/openadsdk|chartboost|flurry|fyber|hyprmx|inmobi|ironsource|mbrg|mbridge|mintegral|moat|mobfox|mobilefuse|mopub|my/target|ogury|Omid|onesignal|presage|smaato|smartadserver|snap/adkit|snap/appadskit|startapp|taboola|tapjoy|tappx|vungle)/.*>((.*(Banner|initAd|Interstitial|load|Native|onAd|Rewarded|show|(fetch|refresh|render|request|video)Ad).*))\(.*\)V) VoidReplace: nop ━━━━━━━━━━━━━━━━━━━━━━ BooleanSearch: (invoke(?!.*(close|Destroy|Dismiss|Disabl|error|player|remov|expir|fail|hide|skip|stop)).*/(adcolony|admob|ads|adsdk|aerserv|appbrain|applovin|appodeal|appodealx|appsflyer|bytedance/sdk/openadsdk|chartboost|flurry|fyber|hyprmx|inmobi|ironsource|mbrg|mbridge|mintegral|moat|mobfox|mobilefuse|mopub|my/target|ogury|Omid|onesignal|presage|smaato|smartadserver|snap/adkit|snap/appadskit|startapp|taboola|tapjoy|tappx|vungle)/.*>((.*(Banner|initAd|Interstitial|load|Native|(can|get|has|is|was)Ad|Rewarded|show|(fetch|refresh|render|request|video)Ad).*))\(.*\)Z\n\n\s{4})move-result\s([pv]\d+) BooleanReplace: const/4 $9, 0x0 ━━━━━━━━━━━━━━━━━━━━━━ StringSearch: "(http.*|//.*)(61\.145\.124\.238|/2mdn\.net|-ads\.|\.5rocks\.io|\.ad\.|\.adadapted|\.admitad\.|\.admost\.|\.ads\.|\.aerserv\.|\.airpush\.|\.batmobil\.|\.chartboost\.|\.cloudmobi\.|\.conviva\.|\.dov-e\.com|\.fyber\.|\.mng-ads\|\.mydas\.|\.predic\.|\.talkingdata\.|\.tapdaq\.|\.tele\.fm|\.unity3d\.|\.unity\.|\.wapstart\.|\.xdrig\.|\.zapr\.|\/ad\.|\/ads|a4\.tl|accengage|ad4push|ad4screen|ad-mail|ad\..*_logging|ad\.api\.kaffnet\.|ad\.cauly\.co\.|adbuddiz|adc3-launch|adcolony|adfurikun|adincube|adinformation|adkmob|admax\.|admixer|admob|admost|ads\.mdotm\.|adsafeprotected|adservice|adsmogo|adsrvr|adswizz|adtag|adtech\.de|advert|adwhirl|adz\.wattpad\.|alimama\.|alta\.eqmob\.|amazon-.*ads|amazon\..*ads|amobee|analytics|anvato|appboy|appbrain|applovin|applvn|appmetrica|appnext|appodeal|appsdt|appsflyer|apsalar|avocarrot|axonix|banners-slb\.mobile\.yandex\.net|banners\.mobile\.yandex\.net|brightcove\.|burstly|cauly|cloudfront|cmcm\.|com\.google\.android\.gms\.ads\.identifier\.service\.START|comscore|contextual\.media\.net|crashlytics|crispwireless|criteo\.|dmtry\.|doubleclick|duapps|dummy|flurry|fwmrm|gad|getads|gimbal|glispa|google\.com\/dfp|googleAds|googleads|googleapis\..*\.ad-.*|googlesyndication|googletagmanager|greystripe|gstatic|heyzap|hyprmx|iasds01|inmobi|inneractive|instreamatic|integralads|jumptag|jwpcdn|jwpltx|jwpsrv|kochava|localytics|madnet|mapbox|mc\.yandex\.ru|media\.net|metrics\.|millennialmedia|mixpanel|mng-ads\.com|moat\.|moatads|mobclix|mobfox|mobpowertech|moodpresence|mopub|native_ads|nativex\.|nexage\.|ooyala|openx\.|pagead|pingstart|prebid|presage\.io|pubmatic|pubnative|rayjump|saspreview|scorecardresearch|smaato|smartadserver|sponsorpay|startappservice|startup\.mobile\.yandex\.net|statistics\.videofarm\.daum\.net|supersonicads|taboola|tapas|tapjoy|tapylitics|target\.my\.com|teads\.|umeng|unityads|vungle|zucks).*" StringReplace: "127.0.0.1" ━━━━━━━━━━━━━━━━━━━━━━
2 390
10
1. High-level Patch for Disabling Ads from Android Apps and Games ☛ For description of this patch https://t.me/TDOhex/383 ━━━━━━━━━━━━━━━━━━━━━━ VoidSearch: (invoke(?!.*(close|Deactiv|Destroy|Dismiss|Disabl|error|player|remov|expir|fail|hide|skip|stop|Throw)).*/(adcolony|admob|ads|adsdk|aerserv|appbrain|applovin|appodeal|appodealx|appsflyer|bytedance/sdk/openadsdk|chartboost|flurry|fyber|hyprmx|inmobi|ironsource|mbrg|mbridge|mintegral|moat|mobfox|mobilefuse|mopub|my/target|ogury|Omid|onesignal|presage|smaato|smartadserver|snap/adkit|snap/appadskit|startapp|taboola|tapjoy|tappx|vungle)/.*>(request.*|(.*(activat|Banner|build|Event|exec|header|html|initAd|initi|JavaScript|Interstitial|load|log|MetaData|metri|Native|onAd|propert|report|response|Rewarded|show|trac|url|(fetch|refresh|render|video)Ad).*)|.*Request)\(.*\)V) VoidReplace: nop ━━━━━━━━━━━━━━━━━━━━━━ BooleanSearch: (invoke(?!.*(close|Deactiv|Destroy|Dismiss|Disabl|error|player|remov|expir|fail|hide|skip|stop|Throw)).*/(adcolony|admob|ads|adsdk|aerserv|appbrain|applovin|appodeal|appodealx|appsflyer|bytedance/sdk/openadsdk|chartboost|flurry|fyber|hyprmx|inmobi|ironsource|mbrg|mbridge|mintegral|moat|mobfox|mobilefuse|mopub|my/target|ogury|Omid|onesignal|presage|smaato|smartadserver|snap/adkit|snap/appadskit|startapp|taboola|tapjoy|tappx|vungle)/.*>(request.*|(.*(activat|Banner|build|Event|exec|header|html|initAd|initi|JavaScript|Interstitial|load|log|MetaData|metri|Native|(can|get|is|has|was)Ad|propert|report|response|Rewarded|show|trac|url|(fetch|refresh|render|video)Ad).*)|.*Request)\(.*\)Z\n\n\s{4})move-result\s([pv]\d+) BooleanReplace: const/4 $9, 0x0 ━━━━━━━━━━━━━━━━━━━━━━ StringSearch: "(http.*|//.*)(61\.145\.124\.238|/2mdn\.net|-ads\.|\.5rocks\.io|\.ad\.|\.adadapted|\.admitad\.|\.admost\.|\.ads\.|\.aerserv\.|\.airpush\.|\.batmobil\.|\.chartboost\.|\.cloudmobi\.|\.conviva\.|\.dov-e\.com|\.fyber\.|\.mng-ads\|\.mydas\.|\.predic\.|\.talkingdata\.|\.tapdaq\.|\.tele\.fm|\.unity3d\.|\.unity\.|\.wapstart\.|\.xdrig\.|\.zapr\.|\/ad\.|\/ads|a4\.tl|accengage|ad4push|ad4screen|ad-mail|ad\..*_logging|ad\.api\.kaffnet\.|ad\.cauly\.co\.|adbuddiz|adc3-launch|adcolony|adfurikun|adincube|adinformation|adkmob|admax\.|admixer|admob|admost|ads\.mdotm\.|adsafeprotected|adservice|adsmogo|adsrvr|adswizz|adtag|adtech\.de|advert|adwhirl|adz\.wattpad\.|alimama\.|alta\.eqmob\.|amazon-.*ads|amazon\..*ads|amobee|analytics|anvato|appboy|appbrain|applovin|applvn|appmetrica|appnext|appodeal|appsdt|appsflyer|apsalar|avocarrot|axonix|banners-slb\.mobile\.yandex\.net|banners\.mobile\.yandex\.net|brightcove\.|burstly|cauly|cloudfront|cmcm\.|com\.google\.android\.gms\.ads\.identifier\.service\.START|comscore|contextual\.media\.net|crashlytics|crispwireless|criteo\.|dmtry\.|doubleclick|duapps|dummy|flurry|fwmrm|gad|getads|gimbal|glispa|google\.com\/dfp|googleAds|googleads|googleapis\..*\.ad-.*|googlesyndication|googletagmanager|greystripe|gstatic|heyzap|hyprmx|iasds01|inmobi|inneractive|instreamatic|integralads|jumptag|jwpcdn|jwpltx|jwpsrv|kochava|localytics|madnet|mapbox|mc\.yandex\.ru|media\.net|metrics\.|millennialmedia|mixpanel|mng-ads\.com|moat\.|moatads|mobclix|mobfox|mobpowertech|moodpresence|mopub|native_ads|nativex\.|nexage\.|ooyala|openx\.|pagead|pingstart|prebid|presage\.io|pubmatic|pubnative|rayjump|saspreview|scorecardresearch|smaato|smartadserver|sponsorpay|startappservice|startup\.mobile\.yandex\.net|statistics\.videofarm\.daum\.net|supersonicads|taboola|tapas|tapjoy|tapylitics|target\.my\.com|teads\.|umeng|unityads|vungle|zucks).*" StringReplace: "127.0.0.1" ━━━━━━━━━━━━━━━━━━━━━━
2 424
11
Notes on android.view setVisibility 👉 Visible = The View is visible to the user ◉ XML attribute: android:visibility="visible" ◉ Java code: view.setVisibility(View.VISIBLE); ◉ Integer Type: 0x0 ◉ Constant Value: 0 👉 Invisible = The View is hidden to the user, but still takes up space in the layout ◉ XML attribute: android:visibility="invisible" ◉ Java code: view.setVisibility(View.INVISIBLE); ◉ Integer Type: 0x4 ◉ Constant Value: 1 👉 Gone =  The View is completely hidden, and it does not take up space in the layout ◉ XML attribute: android:visibility="gone" ◉ Java code: view.setVisibility(View.GONE); ◉ Integer Type: 0x8 ◉ Constant Value: 2 💥💥💥💥💥💥💥💥💥💥💥💥💥 ✍ by @Its_me_MuhammadRizwan 🤝 Sponsor @TDOhex ♻️ Follow @Android_Patches 💗 Join us for more Info 💥💥💥💥💥💥💥💥💥💥💥💥💥
2 035
12
Useful Notes On Data types With Patches of arm32/64 These notes are made for those people who not much familiar with coding and for those lazy modders that don't dig in depth. ━━━━━━━━━━━━━━━━━━━━━━ Boolean = 8-bit, C bool true or false 👉 arm32 mov r0, 1 bx lr Patch = 0100A0E31EFF2FE1 mov r0, 0 bx lr Patch = 0000A0E31EFF2FE1 👉 arm64 mov w0, 1 ret Patch = 20008052C0035FD6 mov w0, 0 ret Patch = 00008052C0035FD6 ━━━━━━━━━━━━━━━━━━━━━━ Void = type with an empty set of values 👉 arm32 nop bx lr Patch = 00F020E31EFF2FE1 👉 arm64 nop ret Patch = 1F2003D5C0035FD6 ━━━━━━━━━━━━━━━━━━━━━━ void* pointer = addresses to data or code. A void* pointer can be converted into any other type of data pointer. https://en.cppreference.com/w/cpp/language/pointer#Pointers_to_void ━━━━━━━━━━━━━━━━━━━━━━ HalfByte = 4-bit (Nibble) Range = -8 to 7 (signed) Hexadecimal = 0x7 Decimal = 7 Binary = 111 👉 arm32 mov r0, 7 Patch = 0700A0E3 👉 arm64 mov w0, 7 Patch = E0008052 ━━━━━━━━━━━━━━━━━━━━━━ Byte = 8-bit, C char, Swift Int8 Range = -128 to 127 (signed) Hexadecimal = 0x7f Decimal = 127 Binary = 1111111 👉 arm32 mov r0, #127 bx lr Patch = 7F00A0E31EFF2FE1 Or movs r0, 0x7f bx lr Patch = 7F00B0E31EFF2FE1 👉 arm64 mov w0, 0x7f ret Patch = E00F8052C0035FD6 ━━━━━━━━━━━━━━━━━━━━━━ Halfword = 16-bit, C short, Swift Int16 Range = -32,768 to 32,767 (signed) Hexadecimal = 0x7fff Decimal = 32767 Binary = 111111111111111 👉 arm32 mov r0, #32767 bx lr Patch = FF0F07E31EFF2FE1 Or movt r0, 0x7fff bx lr Patch = FF0F47E31EFF2FE1 👉 arm64 mov w0, 0x7fff ret Patch = E0FF8F52C0035FD6 ━━━━━━━━━━━━━━━━━━━━━━ Word = 32-bit, C int, Swift Int32 Range = -2,147,483,648 to 2,147,483,647 (signed) Hexadecimal = 0x7fffffff Decimal = 2147483647 Binary = 1111111111111111111111111111111 Note: If parameter is larger than 16 bytes then it is passed by address. For passing this value 0x7fffffff 👉 arm32 mvn r0, #2147483647 bx lr Patch = 0201A0E31EFF2FE1 Or movw r0, 0xffff movt r0, 0x7fff bx lr Patch = FF0F0FE3FF0F47E31EFF2FE1 👉 arm64 mov w0, 0xffff movk w0, 0x7fff, lsl 16 ret Patch = E0FF9F52E0FFAF72C0035FD6 Or mov w0, 0x7fffffff ret Patch = 0000B012C0035FD6 ━━━━━━━━━━━━━━━━━━━━━━ Doubleword = 64-bit, C long, Swift Int Range = -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (signed) Hexadecimal = 0x7fffffffffffffff Decimal = 9223372036854775807 Binary = 111111111111111111111111111111111111111111111111111111111111111 Note: Remember, If parameter is larger than 16 bytes then it is passed by address. For passing this value 0xffffffff 👉 arm32 mvn r1, #2147483648 bx lr Patch = 0211E0E31EFF2FE1 Or movw r0, 0xffff movt r0, 0xffff bx lr Patch = FF0F0FE3FF0F4FE31EFF2FE1 👉 arm64 Note: Use "x" ragister for 64-bit values For passing this value 0x7fffffffff mov x0, 0xffff movk x0, 0xffff, lsl 16 movk x0, 0x7f, lsl 32 ret Patch = E0FF9FD2E0FFBFF2E00FC0F2C0035FD6 Or orr x0, xzr, 0x7fffffffff ret Patch = E09B40B2C0035FD6 ━━━━━━━━━━━━━━━━━━━━━━ Q. How to apply patches? A. Follow the steps 1. Copy patche from snippets 2. Run any hex editor 3. Go to your offset 4. Paste your patche Or 5. Enter this command if you are using radare2 wx CopyPastePatchHere @ 0xYourOffset Example: cd /sdacard r2 -w mylib.so wx 20008052C0035FD6 @ 0xa1234 💥💥💥💥💥💥💥💥💥💥💥💥💥 ✍ by @Its_me_MuhammadRizwan 🤝 Sponsor @TDOhex ♻️ Follow @Android_Patches 💗 Join us for more Info 💥💥💥💥💥💥💥💥💥💥💥💥💥
1 892