48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
"""Удаляет баннеры рекламы
|
|
|
|
"disable_ad": {
|
|
"enabled": true
|
|
}
|
|
"""
|
|
|
|
__author__ = "Kentai Radiquum <radiquum@gmail.com>"
|
|
__version__ = "1.0.0"
|
|
import textwrap
|
|
from typing import Any, Dict
|
|
|
|
from pydantic import Field
|
|
|
|
from utils.config import PatchTemplate
|
|
from utils.smali_parser import (find_smali_method_end, find_smali_method_start,
|
|
get_smali_lines, replace_smali_method_body)
|
|
|
|
|
|
class Patch(PatchTemplate):
|
|
priority: int = Field(frozen=True, exclude=True, default=0)
|
|
|
|
def apply(self, base: Dict[str, Any]) -> bool:
|
|
path = "./decompiled/smali_classes3/com/swiftsoft/anixartd/Prefs.smali"
|
|
replacement = [
|
|
f"\t{line}\n"
|
|
for line in textwrap.dedent(
|
|
"""\
|
|
.locals 0
|
|
const/4 p0, 0x1
|
|
return p0
|
|
"""
|
|
).splitlines()
|
|
]
|
|
|
|
lines = get_smali_lines(path)
|
|
for index, line in enumerate(lines):
|
|
if line.find("IS_SPONSOR") >= 0:
|
|
method_start = find_smali_method_start(lines, index)
|
|
method_end = find_smali_method_end(lines, index)
|
|
new_content = replace_smali_method_body(
|
|
lines, method_start, method_end, replacement
|
|
)
|
|
|
|
with open(path, "w", encoding="utf-8") as file:
|
|
file.writelines(new_content)
|
|
return True
|