Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
D
Data Recovery White
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
Data Recovery White
Commits
94dfd0ea
Commit
94dfd0ea
authored
Feb 21, 2025
by
guest
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交脚本
parent
ed360823
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
138 additions
and
830 deletions
+138
-830
mapping.json
app/mapping.json
+0
-825
test9 .py
app/test9 .py
+138
-5
No files found.
app/mapping.json
deleted
100644 → 0
View file @
ed360823
{
"string_ids"
:
{
"app_name"
:
"kettleedto"
,
"hello_blank_fragment"
:
"wrapedto"
,
"facebook_app_id"
:
"possibilityedto"
,
"first_fragment_label"
:
"donkeyedto"
,
"second_fragment_label"
:
"meatedto"
,
"next"
:
"safariedto"
,
"previous"
:
"chargeedto"
},
"color_ids"
:
{
"black"
:
"fractionedto"
,
"white"
:
"secularedto"
,
"color_747474"
:
"centedto"
,
"color_fa020b"
:
"menuedto"
,
"theme_color"
:
"exceededto"
,
"color_cccccc"
:
"lawedto"
,
"color_4f86eb"
:
"boatedto"
},
"dimen_ids"
:
{
"fab_margin"
:
"formulaedto"
,
"dp_8"
:
"grazeedto"
,
"dp_300"
:
"weekedto"
,
"dp_345"
:
"kneeedto"
,
"dp_17"
:
"modernedto"
,
"dp_5"
:
"instanceedto"
,
"dp_9"
:
"unanimousedto"
,
"dp_315"
:
"brainstormedto"
},
"style_ids"
:
{
"Base.Theme.DataRecovery"
:
"lawyeredto"
,
"Theme.DataRecovery"
:
"sameedto"
,
"CustomAlertDialogStyle"
:
"farewelledto"
,
"CustomAlertDialogStyleTransparent"
:
"layoutedto"
,
"splash.theme"
:
"acceptanceedto"
},
"view_ids"
:
{
"tvTime"
:
"eatedto"
,
"tvSelectAll"
:
"bazaaredto"
,
"group"
:
"batteryedto"
,
"idTopRl"
:
"mercyedto"
,
"idTvTitleBack"
:
"suitcaseedto"
,
"lottie"
:
"senioredto"
,
"lottieCompleted"
:
"eternaledto"
,
"tv"
:
"lickedto"
,
"main"
:
"normaledto"
,
"flBack"
:
"personaledto"
,
"tvType"
:
"erroredto"
,
"flFilter"
:
"gunedto"
,
"rv"
:
"questedto"
,
"llEmpty"
:
"bushedto"
,
"tvDelete"
:
"tooledto"
,
"tvTitle"
:
"assaultedto"
,
"tvDesc"
:
"collegeedto"
,
"tvN"
:
"satisfactionedto"
,
"tvY"
:
"wifeedto"
,
"adMedia"
:
"preferedto"
,
"adHeadline"
:
"expertiseedto"
,
"adBody"
:
"ifedto"
,
"adAppIcon"
:
"primitiveedto"
,
"adCallToAction"
:
"driededto"
,
"flFanhui"
:
"bangedto"
,
"ll"
:
"upwardedto"
,
"tvH"
:
"allyedto"
,
"tvM"
:
"conventionaledto"
,
"tvTemperature"
:
"handyedto"
,
"tvVoltage"
:
"diameteredto"
,
"tvTechnology"
:
"customeredto"
,
"tvCapacity"
:
"hibernateedto"
,
"tvElectric"
:
"tycoonedto"
,
"tvCurrentAverage"
:
"scanedto"
,
"flAd"
:
"agileedto"
,
"tvFinish"
:
"spentedto"
,
"llCamera"
:
"deportedto"
,
"llImport"
:
"biologyedto"
,
"ivSelector"
:
"countedto"
,
"ivType"
:
"armedto"
,
"tvName"
:
"anotheredto"
,
"tvInfo"
:
"nameedto"
,
"idImgIcon"
:
"behaveedto"
,
"idTvAppName"
:
"partedto"
,
"idTvDesc"
:
"interestedto"
,
"idTvSize"
:
"hypothesizeedto"
,
"idImgSelect"
:
"portionedto"
,
"tvTittle"
:
"meetingedto"
,
"llFinish"
:
"averageedto"
,
"ivWancheng"
:
"hilariousedto"
,
"tvScanning"
:
"omnipotentedto"
,
"line"
:
"curiousedto"
,
"tvFileNumber"
:
"becomeedto"
,
"tvFileType"
:
"inventededto"
,
"tvFolderNumber"
:
"harmonyedto"
,
"flEmpty"
:
"graphedto"
,
"clTop"
:
"resourceedto"
,
"ivBack"
:
"amedto"
,
"icSuccess"
:
"lastedto"
,
"rvFun"
:
"deeredto"
,
"llTop"
:
"behavioredto"
,
"ivIcon"
:
"dueedto"
,
"tvBtn"
:
"trolleyedto"
,
"tvTip"
:
"waistedto"
,
"llFile"
:
"snailedto"
,
"tvPath"
:
"battlefieldedto"
,
"idBottomtContent"
:
"riotedto"
,
"idYuan"
:
"wereedto"
,
"idTvJd"
:
"truckedto"
,
"tvSize"
:
"ignoranceedto"
,
"tvUnit"
:
"cheatedto"
,
"idScanResult"
:
"loopedto"
,
"exRv"
:
"roomedto"
,
"llTwoBtn"
:
"princeedto"
,
"tvGotIt2"
:
"explainedto"
,
"tvDeepScan"
:
"yinedto"
,
"iv"
:
"deficitedto"
,
"tvFoundNumber"
:
"requirementedto"
,
"llSelectAll"
:
"echoedto"
,
"tvClean"
:
"worldedto"
,
"idFullLottie"
:
"domeedto"
,
"idDeny"
:
"spideredto"
,
"idTvAllow"
:
"aidedto"
,
"pbLoading"
:
"notoriousedto"
,
"tvCancel"
:
"verbedto"
,
"flRyPhoto"
:
"judicialedto"
,
"flRyVideo"
:
"candleedto"
,
"cardRyDocument"
:
"alcoholedto"
,
"cardRyAudio"
:
"dietedto"
,
"cardPrivacySpace"
:
"perfectedto"
,
"cardPhotosManager"
:
"angleedto"
,
"vTop"
:
"cryedto"
,
"fl1"
:
"exerciseedto"
,
"edit1"
:
"pumpkinedto"
,
"fl2"
:
"feededto"
,
"edit2"
:
"areaedto"
,
"fl3"
:
"speciesedto"
,
"edit3"
:
"pushedto"
,
"fl4"
:
"lectureedto"
,
"edit4"
:
"stadiumedto"
,
"tvExit"
:
"aboveedto"
,
"flAllType"
:
"statementedto"
,
"flPicture"
:
"reviseedto"
,
"flVideo"
:
"gradualedto"
,
"flAudio"
:
"electedto"
,
"flDocument"
:
"fireplaceedto"
,
"flOther"
:
"projectedto"
,
"flSetting"
:
"whichedto"
,
"flScan"
:
"groundedto"
,
"llStorage"
:
"thighedto"
,
"tvStorage"
:
"intermediateedto"
,
"cardCleanJunk"
:
"convulsionedto"
,
"cardWhatsApp"
:
"familyedto"
,
"cardLargeFile"
:
"progressiveedto"
,
"cardAppManager"
:
"bagedto"
,
"cardAppProcess"
:
"excludeedto"
,
"cardBatteryInfo"
:
"extremeedto"
,
"llPhotos"
:
"headededto"
,
"llVideos"
:
"seasonaledto"
,
"viewpager2"
:
"relatededto"
,
"cardImport"
:
"messedto"
,
"tvSelectNumber"
:
"belongedto"
,
"tvImport"
:
"districtedto"
,
"flProgress"
:
"hobbyedto"
,
"tvPercent"
:
"zoneedto"
,
"pbRam"
:
"brotheredto"
,
"llTip"
:
"headquartersedto"
,
"tvPinTip"
:
"weightedto"
,
"tvUninstallTip"
:
"wagonedto"
,
"tvGoOrSetting"
:
"ghostwriteredto"
,
"indicatorView"
:
"applicationedto"
,
"llRyPhotos"
:
"allocationedto"
,
"llRyDocuments"
:
"vegetableedto"
,
"llRyVideos"
:
"edictedto"
,
"tvScanDuplicate"
:
"togetheredto"
,
"tvCleanBin"
:
"attitudeedto"
,
"flRecovered"
:
"infectionedto"
,
"llProgress"
:
"manneredto"
,
"pb"
:
"sailedto"
,
"tvLoad"
:
"blessedto"
,
"tvAdDes"
:
"marriageedto"
,
"llStart"
:
"carriageedto"
,
"idTvPrivacyPolicy"
:
"quoteedto"
,
"idTvStart"
:
"theateredto"
,
"progressBar"
:
"receiptedto"
,
"dialogAdLoadingText"
:
"poundedto"
,
"card"
:
"noedto"
,
"flSelect"
:
"prosecutionedto"
,
"tvTvGotIt"
:
"northedto"
,
"tvOpen"
:
"weatheredto"
,
"tvRecover"
:
"basketedto"
,
"llDate"
:
"constituencyedto"
,
"ivDate"
:
"transformedto"
,
"llSize"
:
"suggestedto"
,
"ivSize"
:
"createedto"
,
"llLayout"
:
"possibleedto"
,
"ivLayout"
:
"fasteredto"
,
"llAllSelect"
:
"hiccupedto"
,
"flSelectAll"
:
"sunshineedto"
,
"ivSelectAll"
:
"saltedto"
,
"clThumbnails"
:
"studentedto"
,
"tvThumbnails"
:
"displayedto"
,
"tvThumbnailsTip"
:
"firstedto"
,
"switchThumbnails"
:
"assetedto"
,
"llFilter"
:
"accompanyedto"
,
"rvFilter"
:
"expansionedto"
,
"flRecycleBin"
:
"demandedto"
,
"flScanning"
:
"dialogueedto"
,
"idXiala"
:
"anxietyedto"
,
"idTypeName"
:
"salespersonedto"
,
"idTypeSize"
:
"appointedto"
,
"idImgChoose"
:
"cooledto"
,
"idImgLoad"
:
"mainedto"
,
"idNeedGrant"
:
"orchestraedto"
,
"ivIconSmall"
:
"settlementedto"
,
"flCancel"
:
"courageedto"
,
"flBtn"
:
"didedto"
,
"ivBtn1"
:
"registrationedto"
,
"ivBtn2"
:
"vastedto"
,
"ivBtn3"
:
"gaffeedto"
,
"ivBtn4"
:
"leakedto"
,
"ivBtn5"
:
"buffaloedto"
,
"ivBtn6"
:
"nodeedto"
,
"ivBtn7"
:
"buriededto"
,
"ivBtn8"
:
"monsteredto"
,
"ivBtn9"
:
"conferenceedto"
,
"ivBtn10"
:
"dynamicedto"
,
"ivBtn11"
:
"standedto"
,
"ivBtn12"
:
"pulledto"
,
"ivBtn13"
:
"hostedto"
,
"ivBtn14"
:
"friendedto"
,
"llInput"
:
"forkedto"
,
"llRememberTip"
:
"recessionedto"
,
"idJunkScan"
:
"biographyedto"
,
"idView1"
:
"contrastedto"
,
"idView2"
:
"eyeedto"
,
"idView3"
:
"counciledto"
,
"tvFolder"
:
"tacticedto"
,
"iv1"
:
"thoughedto"
,
"iv2"
:
"possessionedto"
,
"iv3"
:
"effectedto"
,
"tvRemove"
:
"enfixedto"
,
"tvNoRemove"
:
"terrifyedto"
,
"llRemember"
:
"aboutedto"
,
"iconImageView"
:
"aloudedto"
,
"textView"
:
"refusededto"
,
"titleTextView"
:
"agencyedto"
,
"optionsView"
:
"discloseedto"
,
"advertiserTextView"
:
"loadedto"
,
"starRatingView"
:
"continentedto"
,
"bodyTextView"
:
"peanutedto"
,
"mediaViewContainer"
:
"bundleedto"
,
"ctaButton"
:
"railcaredto"
,
"tvDes"
:
"neighboredto"
,
"tvButton"
:
"toyedto"
,
"ivClose"
:
"advocateedto"
,
"tvOk"
:
"bloodyedto"
,
"flTittle"
:
"symboledto"
,
"llSelect"
:
"casualtyedto"
,
"rvMediaColumns"
:
"reactionedto"
,
"tvNoMessage"
:
"facilityedto"
,
"ivArrow"
:
"jawedto"
,
"llIv"
:
"heavenedto"
,
"ivYanhua"
:
"jeweledto"
,
"tvNumber"
:
"steepedto"
,
"tvSuccess"
:
"filteredto"
,
"tvDir"
:
"functionaledto"
,
"tvContinue"
:
"sideedto"
,
"idLlClean"
:
"concentrateedto"
,
"idRecoveryPhotos"
:
"tractionedto"
,
"idRecoveryVideos"
:
"legendedto"
,
"idRecoveryDocuments"
:
"eachedto"
,
"flGuanbi"
:
"formationedto"
,
"llDownload"
:
"spitedto"
,
"llDelete"
:
"earthwaxedto"
,
"tvManager"
:
"loyaltyedto"
,
"swipeRefreshLayout"
:
"rubedto"
,
"ivAddEmpty"
:
"relationedto"
,
"ivAdd"
:
"termsedto"
,
"idFrameLayout"
:
"highestedto"
,
"idLlContent"
:
"lengthedto"
,
"idImgClose"
:
"welfareedto"
,
"idTvTurn"
:
"confrontedto"
,
"flSkip"
:
"poltroonedto"
,
"tv0"
:
"bubbleedto"
,
"tv1"
:
"cupedto"
,
"tv2"
:
"vehicleedto"
,
"ll1"
:
"islandedto"
,
"ll2"
:
"driveredto"
,
"flBanner"
:
"spendedto"
,
"flSelector"
:
"deadedto"
,
"tvStop"
:
"vagueedto"
,
"switchStayNotification"
:
"meedto"
,
"switchFcmNotification"
:
"tableedto"
,
"llScore"
:
"vegetarianedto"
,
"llPrivacy"
:
"regularedto"
,
"llUserAgreement"
:
"spelledto"
,
"cardScreenshot"
:
"sweateredto"
,
"tvScreenshotSize"
:
"libertarianedto"
,
"cardRepeatPhotos"
:
"comedyedto"
,
"tvDuplicateSize"
:
"frozenedto"
,
"ivFace"
:
"evaluateedto"
,
"flClose"
:
"screamedto"
,
"idStar1"
:
"passageedto"
,
"idStar2"
:
"fleetedto"
,
"idStar3"
:
"potteryedto"
,
"idStar4"
:
"copeedto"
,
"idStar5"
:
"favouredto"
,
"tvSubmit"
:
"subjectedto"
},
"layout"
:
{
"item_screenshot"
:
"curledto"
,
"activity_whats_app_cleaner_animation"
:
"administrationedto"
,
"activity_pin"
:
"factedto"
,
"activity_large_file"
:
"earlieredto"
,
"dialog_exit_function"
:
"developedto"
,
"layout_native_custom_white"
:
"dryedto"
,
"activity_battery"
:
"willpoweredto"
,
"dialog_image_take"
:
"ideaedto"
,
"item_document"
:
"noiseedto"
,
"item_child"
:
"flavoredto"
,
"activity_file_scan_result"
:
"biggeredto"
,
"activity_layout_result"
:
"asideedto"
,
"activity_file_scan"
:
"ladderedto"
,
"activity_layout_cleanuping"
:
"antennaedto"
,
"layout_native_custom"
:
"feastedto"
,
"activity_app_process_animation"
:
"favouriteedto"
,
"activity_layout_clean_junk"
:
"caneedto"
,
"dialog_file_scan"
:
"reportedto"
,
"activity_whats_app_message_clean"
:
"hoveredto"
,
"dialog_permisson_open"
:
"archiveedto"
,
"popupwindow_recovery_filter"
:
"banneredto"
,
"activity_app_manager"
:
"modernizeedto"
,
"dialog_delete_permanently"
:
"widenedto"
,
"item_media_select"
:
"adoptionedto"
,
"fragment_recovery"
:
"cooperationedto"
,
"fragment_privacy_file_import"
:
"flamboyantedto"
,
"activity_privacy_pin_one"
:
"destructionedto"
,
"dialog_exit_app"
:
"hitedto"
,
"item_recovery_filter"
:
"adoptedto"
,
"dialog_large_file_type"
:
"architectedto"
,
"layout_native_small"
:
"draftedto"
,
"fragment_home"
:
"establishedto"
,
"activity_privacy_import"
:
"donoredto"
,
"activity_app_process"
:
"admitedto"
,
"activity_privacy_space"
:
"cabinedto"
,
"activity_guide"
:
"strikebreakeredto"
,
"fragment_home_2"
:
"fussedto"
,
"activity_splash"
:
"keepedto"
,
"activity_screen_shot_animation"
:
"creededto"
,
"dialog_ad_loading"
:
"manufactureedto"
,
"layout_max_native_big_2"
:
"everyedto"
,
"notification_common_small"
:
"kinshipedto"
,
"item_large_file"
:
"blandedto"
,
"item_media_grid_select"
:
"restorationedto"
,
"activity_whats_app_cleaner"
:
"secretaryedto"
,
"dialog_permission_bottomsheet"
:
"earlyedto"
,
"layout_max_native_small"
:
"huntingedto"
,
"activity_file_recovery"
:
"dilemmaedto"
,
"layout_max_native_big"
:
"hospitaledto"
,
"activity_repeat"
:
"outsideedto"
,
"item_parent"
:
"anywhereedto"
,
"notification_common"
:
"breastedto"
,
"activity_privacy_pin_two"
:
"theseedto"
,
"activity_layout_scan_junk"
:
"hornedto"
,
"item_folder_recovery"
:
"sacrededto"
,
"dialog_remove_file_tip"
:
"eventedto"
,
"layout_max_native_custom"
:
"setsedto"
,
"layout_native"
:
"hangedto"
,
"item_result_fun"
:
"dragedto"
,
"dialog_function_exit"
:
"gaveedto"
,
"item_time_media"
:
"eauxedto"
,
"item_whatsapp"
:
"chairedto"
,
"layout_native_custom_big"
:
"assignmentedto"
,
"activity_repeat_animation"
:
"capedto"
,
"item_screen_photo"
:
"introduceedto"
,
"activity_file_recovered"
:
"conceptionedto"
,
"activity_large_file_animation"
:
"directedto"
,
"stay_notification_big"
:
"effortedto"
,
"activity_privacy_manage"
:
"carryedto"
,
"item_media_grid"
:
"representedto"
,
"fragment_privacy_page"
:
"stilledto"
,
"popwindow_layout_view"
:
"appealedto"
,
"fragment_guide"
:
"ministeredto"
,
"activity_battery_info_animation"
:
"dogedto"
,
"dialog_camera_setting"
:
"ironyedto"
,
"activity_main"
:
"pipeedto"
,
"activity_screen_shot"
:
"hearedto"
,
"dialog_pin_re_enter"
:
"mostlyedto"
,
"item_folder"
:
"thereedto"
,
"layout_max_native_small_f8f8f8"
:
"circulateedto"
,
"item_media_columns4"
:
"photographyedto"
,
"item_app_manager"
:
"womanedto"
,
"dialog_app_process_exit"
:
"immuneedto"
,
"activity_app_manager_animation"
:
"runneredto"
,
"activity_setting"
:
"classifyedto"
,
"activity_photo_manager"
:
"routineedto"
,
"dialog_rate_star"
:
"suddenlyedto"
,
"item_media_columns3"
:
"identityedto"
,
"dialog_recovering"
:
"zeitgeistedto"
,
"item_time_media2"
:
"weaponedto"
,
"item_result_fun_2"
:
"discourageedto"
,
"item_media_file"
:
"theoristedto"
,
"item_media_columns2"
:
"greatedto"
},
"drawable"
:
{
"bg_switch_track"
:
"basketballedto"
,
"bg_ffffff_22"
:
"passionedto"
,
"bg_circle_selector_2"
:
"merelyedto"
,
"bg_clean_tab"
:
"feministedto"
,
"bg_border_pin_warm"
:
"overedto"
,
"bg_button_enable_selector"
:
"arrogantedto"
,
"bg_ad_button"
:
"consideredto"
,
"bg_ffffff_tlr20"
:
"pocketedto"
,
"bg_ffffff_20"
:
"relationshipedto"
,
"bg_577dfd_22"
:
"lightedto"
,
"bg_00ffffff_10"
:
"liberaledto"
,
"bg_bebebe_22"
:
"slaveedto"
,
"bg_eeeeee_22"
:
"truthedto"
,
"bg_stroke_577dfd_22"
:
"falledto"
,
"switch_track_on"
:
"courtshipedto"
,
"bg_4773ff_22"
:
"cannotedto"
,
"bg_square_selector"
:
"commerceedto"
,
"bg_587efc_3fd3ff"
:
"shockedto"
,
"bg_4773ff_20"
:
"supplyedto"
,
"bg_stroke_ffffff_22"
:
"oiledto"
,
"bg_d9e2fd_15"
:
"soaredto"
,
"bg_e7ecff_edf5ff_blr15"
:
"coatedto"
,
"switch_track"
:
"miracleedto"
,
"bg_e6e7e9_22"
:
"medleyedto"
,
"bg_e7ecff_edf5ff"
:
"negotiationedto"
,
"bg_801b1b1b_15"
:
"rankedto"
,
"ic_launcher_foreground"
:
"implicitedto"
,
"bg_pin_enable"
:
"leaderedto"
,
"bg_801b1b1b_10"
:
"fashionedto"
,
"bg_eb423b_2_5"
:
"lavaedto"
,
"bg_567dfd_15"
:
"marbleedto"
,
"bg_355bea_18"
:
"swallowedto"
,
"icon_100"
:
"pedestrianedto"
,
"shape_theme_r21"
:
"scientificedto"
,
"bg_ad_button_0073c3"
:
"choiceedto"
,
"icon_sss"
:
"eightedto"
,
"bg_tab_privacy"
:
"speakeredto"
,
"bg_stroke_bfbec4_15"
:
"overchargeedto"
,
"shape_splash_s"
:
"surfaceedto"
,
"shape_ram_pb"
:
"selfedto"
,
"shape_ffffff_r28"
:
"angeledto"
,
"bg_gradient_3e7df3_10"
:
"realizeedto"
,
"bg_switch_thumb_ffffff"
:
"kneeledto"
,
"bg_355bea_10"
:
"faithedto"
,
"bg_circle_border_selector"
:
"violationedto"
,
"bg_circle_selector"
:
"needsedto"
,
"bg_577dfd_tlr20"
:
"flashedto"
,
"icon_notification_small"
:
"chinedto"
,
"bg_stroke_black_15"
:
"publisheredto"
,
"bg_80ffffff_10"
:
"threatedto"
,
"switch_thumb_off"
:
"secureedto"
,
"circle_progress_bar"
:
"estimateedto"
,
"switch_track_off"
:
"temptationedto"
,
"bg_577dfd_17_5"
:
"signaledto"
,
"bg_f5f5f5_18"
:
"blowedto"
,
"bg_pin_normal"
:
"leastedto"
,
"bg_ffffff_tlr15"
:
"majorityedto"
,
"bg_ff852c_22"
:
"troopedto"
,
"bg_border_pin"
:
"metropolisedto"
,
"bg_recovery_tab"
:
"specificedto"
,
"switch_thumb"
:
"monthedto"
,
"bg_ffffff_10"
:
"colonyedto"
,
"bg_ffffff_tlr10"
:
"extraedto"
,
"switch_thumb_on"
:
"aloneedto"
,
"bg_delete_selector"
:
"haltedto"
,
"bg_efefef_20"
:
"absentedto"
,
"bg_recover_enable"
:
"lowedto"
,
"bg_bebebe_10"
:
"monopolyedto"
,
"bg_ad_border_ffffff"
:
"disappearedto"
,
"bg_577dfd_10"
:
"experimentedto"
,
"bg_801b1b1b_12_5"
:
"insistenceedto"
,
"ic_launcher_background"
:
"lingeredto"
,
"bg_ad_border"
:
"participateedto"
,
"bg_1a4772ff_5"
:
"misleadedto"
,
"splash_bp"
:
"gameedto"
},
"mipmap"
:
{
"ic_launcher"
:
"swamedto"
,
"ic_launcher_round"
:
"tractedto"
,
"videotu"
:
"furtheredto"
,
"jianotu_whatsapp"
:
"breadedto"
,
"temp_clean"
:
"rootedto"
,
"jianotul_whatsapp"
:
"revolutionedto"
,
"tu_videos_scan"
:
"interventionedto"
,
"jianotu"
:
"quietedto"
,
"recovery"
:
"youngedto"
,
"yuan"
:
"balledto"
,
"icon_recovered"
:
"mushroomedto"
,
"zhankai"
:
"electronedto"
,
"shezhimimaicon"
:
"commitmentedto"
,
"triangle_1"
:
"narrowedto"
,
"capacity"
:
"neutronedto"
,
"h_audio"
:
"thusedto"
,
"triangle_3"
:
"regretedto"
,
"btn_14"
:
"operaedto"
,
"btn_2"
:
"horoscopeedto"
,
"icon"
:
"expectationedto"
,
"quanxian"
:
"notededto"
,
"ad"
:
"behindedto"
,
"triangle_2"
:
"pastedto"
,
"quit"
:
"felledto"
,
"wancheng"
:
"drumedto"
,
"pingfeniconk"
:
"staredto"
,
"h_cleanjunk"
:
"insuranceedto"
,
"t_weixuan"
:
"systemedto"
,
"download"
:
"shoutedto"
,
"h_screenshot"
:
"coerceedto"
,
""
:
"adviseredto"
,
"flac"
:
"motoristedto"
,
"recovery_documents"
:
"upperedto"
,
"tianchitu"
:
"scenarioedto"
,
"btn_3"
:
"mixedto"
,
"space"
:
"emotionedto"
,
"tu"
:
"rabbitedto"
,
"button_blue"
:
"netedto"
,
"cjxuanzhuan"
:
"seemedto"
,
"weixuan"
:
"demonstratoredto"
,
"tab_recovery_n"
:
"rebellionedto"
,
"tishi"
:
"busedto"
,
"wav"
:
"measureedto"
,
"audiomessages"
:
"forwardedto"
,
"tools_1"
:
"connectionedto"
,
"screenshot_m"
:
"introductionedto"
,
"triangle_4"
:
"matchedto"
,
"pingfenicon"
:
"evidenceedto"
,
"doc"
:
"pleadedto"
,
"tubg_yanhua"
:
"happenededto"
,
"btn_12"
:
"bitchedto"
,
"btn_4"
:
"enoughedto"
,
"queshengye"
:
"trayedto"
,
"fanhui_b"
:
"actionedto"
,
"videomessages"
:
"glassedto"
,
"t_xuan"
:
"thinkeredto"
,
"btn_8"
:
"liabilityedto"
,
"electric"
:
"themedto"
,
"tu_documents_scan"
:
"headedto"
,
"xuanzhong"
:
"neutraledto"
,
"tu_yanhua"
:
"elementedto"
,
"wenjianjia"
:
"butteredto"
,
"home"
:
"mouthedto"
,
"tuicon"
:
"fractaledto"
,
"tab_clean_s"
:
"longeredto"
,
"user"
:
"bikeedto"
,
"cleantu2"
:
"careedto"
,
"xing_s"
:
"shootedto"
,
"guanbi_b"
:
"copyrightedto"
,
"delicon"
:
"doseedto"
,
"btn_9"
:
"increaseedto"
,
"cleantu3"
:
"woodedto"
,
"gouxuan_s"
:
"remunerateedto"
,
"cleanjunk_ss"
:
"estateedto"
,
"ydytu1"
:
"champagneedto"
,
"bg_1"
:
"gentlyedto"
,
"quanxuan_n"
:
"improvementedto"
,
"cleantu1"
:
"pickedto"
,
"temperature"
:
"accordingedto"
,
"h_similar"
:
"guideedto"
,
"h_battery"
:
"brandedto"
,
"btn_5"
:
"ignorantedto"
,
"shezhi"
:
"holidayedto"
,
"tu_photos_scan"
:
"sunriseedto"
,
"btn_13"
:
"concertedto"
,
"bg_2"
:
"mealedto"
,
"kongwenjian"
:
"ventureedto"
,
"ydytu2"
:
"justiceedto"
,
"imagemessages"
:
"profitedto"
,
"photos_ss"
:
"hauntedto"
,
"qingliz"
:
"ditchedto"
,
"privacy"
:
"professionedto"
,
"technology"
:
"honestedto"
,
"photo"
:
"quotaedto"
,
"recovery_photo"
:
"lookedto"
,
"btn_6"
:
"sadedto"
,
"btn_10"
:
"footballedto"
,
"shouqi"
:
"performeredto"
,
"h_appmanager"
:
"equipedto"
,
"documents_ss"
:
"revolutionaryedto"
,
"xls"
:
"lazyedto"
,
"score"
:
"griefedto"
,
"zhanweitu2"
:
"additionedto"
,
"fanhui"
:
"differedto"
,
"clean"
:
"observeedto"
,
"photosmanager"
:
"steppededto"
,
"photos_p"
:
"trendedto"
,
"del"
:
"sandwichedto"
,
"logo"
:
"noneedto"
,
"repeatedphotos"
:
"liquidedto"
,
"button_green"
:
"artistedto"
,
"quanxuan_s"
:
"garlicedto"
,
"duplicate_m"
:
"birthdayedto"
,
"videos_ss"
:
"binedto"
,
"videos"
:
"curtainedto"
,
"voltage"
:
"cellaredto"
,
"btn_11"
:
"pursuitedto"
,
"tab_clean_n"
:
"churchedto"
,
"take"
:
"trustedto"
,
"btn_7"
:
"ouredto"
,
"tanchuangbg"
:
"consumeredto"
,
"junk_exit"
:
"proclaimedto"
,
"xing_n"
:
"preferenceedto"
,
"gouxuan_n"
:
"southernedto"
,
"largeicon"
:
"loudedto"
,
"delete"
:
"pavementedto"
,
"tu_1"
:
"talledto"
,
"mp3"
:
"wheneveredto"
,
"pdf"
:
"bearedto"
,
"ppt"
:
"calorieedto"
,
"jiazai_scan"
:
"overlookedto"
,
"current"
:
"trainedto"
,
"tianjia"
:
"sensitiveedto"
,
"qingchuicon"
:
"draweredto"
,
"recovery_videos"
:
"signedto"
,
"large"
:
"bookedto"
,
"jiazai"
:
"silkedto"
,
"apk"
:
"linearedto"
,
"arrow_l"
:
"episodeedto"
,
"jiantou"
:
"deleteedto"
,
"gxuan"
:
"pardonedto"
,
"h_appprocess"
:
"landscapeedto"
,
"screenshots"
:
"principaledto"
,
"importimage"
:
"tolerateedto"
,
"videos_p"
:
"swimmingedto"
,
"qingliyuan"
:
"wristedto"
,
"whatsapp"
:
"corruptionedto"
,
"btn_1"
:
"beanedto"
,
"tab_recovery_s"
:
"spiritedto"
,
"qiehuan"
:
"waterfalledto"
,
"guanbi"
:
"availableedto"
,
"qdylogo"
:
"rifleedto"
,
"bg_result"
:
"splitedto"
,
"log_clean"
:
"strapedto"
,
"bg"
:
"stitchedto"
},
"raw"
:
{
"new_lottie_large_file"
:
"equationedto"
,
"loading_completed"
:
"fededto"
,
"loading"
:
"yearedto"
,
"loading_completed_w"
:
"threnodyedto"
,
"new_complete"
:
"inspectoredto"
},
"xml"
:
{
"backup_rules"
:
"budgeedto"
,
"data_extraction_rules"
:
"reputationedto"
},
"dir"
:
{
"com.base.datarecovery"
:
"importantedto"
,
"com.base.datarecovery.ads"
:
"importantedto.admireedto.sweptedto"
,
"com.base.datarecovery.fcm"
:
"importantedto.growedto.umbrellaedto"
,
"com.base.datarecovery.bean"
:
"importantedto.concreteedto.cameedto"
,
"com.base.datarecovery.view"
:
"importantedto.maidedto.witnessedto.nationalismedto"
,
"com.base.datarecovery.help"
:
"importantedto.afteredto.constitutionaledto"
,
"com.base.datarecovery.utils"
:
"importantedto.gallonedto"
,
"com.base.datarecovery.ads.max"
:
"importantedto.admireedto.sweptedto.joinedto"
,
"com.base.datarecovery.adapter"
:
"importantedto.deserveedto.manufactureredto.viableedto"
,
"com.base.datarecovery.service"
:
"importantedto.igneousedto.fulledto.saladedto"
,
"com.base.datarecovery.activity"
:
"importantedto.appliededto.surgeonedto.promiseedto"
,
"com.base.datarecovery.fragment"
:
"importantedto.candidateedto"
,
"com.base.datarecovery.receiver"
:
"importantedto.weedto.carpetedto.acresedto"
,
"com.base.datarecovery.fcm.work"
:
"importantedto.growedto.umbrellaedto.butterflyedto.fraudedto.toweredto"
,
"com.base.datarecovery.ads.admob"
:
"importantedto.admireedto.sweptedto.testedto.huntedto.storageedto"
,
"com.base.datarecovery.viewmodel"
:
"importantedto.commandedto.weededto.caughtedto"
,
"com.base.datarecovery.activity.guide"
:
"importantedto.appliededto.surgeonedto.promiseedto.forthedto"
,
"com.base.datarecovery.activity.repeat"
:
"importantedto.appliededto.surgeonedto.promiseedto.nobleedto.defendedto.tastyedto"
,
"com.base.datarecovery.activity.splash"
:
"importantedto.appliededto.surgeonedto.promiseedto.dialectedto"
,
"com.base.datarecovery.activity.battery"
:
"importantedto.appliededto.surgeonedto.promiseedto.obtainedto.museumedto.outletedto"
,
"com.base.datarecovery.activity.recovery"
:
"importantedto.appliededto.surgeonedto.promiseedto.freedomedto"
,
"com.base.datarecovery.activity.whatsapp"
:
"importantedto.appliededto.surgeonedto.promiseedto.wonderedto"
,
"com.base.datarecovery.activity.junkclean"
:
"importantedto.appliededto.surgeonedto.promiseedto.prospectedto.consumptionedto.blameedto"
,
"com.base.datarecovery.activity.largefile"
:
"importantedto.appliededto.surgeonedto.promiseedto.enteredto.eatenedto.ridingedto"
,
"com.base.datarecovery.activity.appmanager"
:
"importantedto.appliededto.surgeonedto.promiseedto.steeledto"
,
"com.base.datarecovery.activity.screenshot"
:
"importantedto.appliededto.surgeonedto.promiseedto.rapeedto"
,
"com.base.datarecovery.activity.appprocess"
:
"importantedto.appliededto.surgeonedto.promiseedto.petedto"
,
"com.base.datarecovery.activity.privacyspace"
:
"importantedto.appliededto.surgeonedto.promiseedto.respectableedto.prisonedto.comfortableedto"
,
"com.base.datarecovery.activity.photomanager"
:
"importantedto.appliededto.surgeonedto.promiseedto.produceredto.motionedto.momentumedto"
},
"class"
:
{
"AdmobMaxHelper"
:
"Differenceedto"
,
"AdMaxInit"
:
"Situationedto"
,
"AdMaxInterstitialUtils"
:
"Suntanedto"
,
"AdMaxEvent"
:
"Ubiquitousedto"
,
"AdMaxNativeUtils"
:
"Funeraledto"
,
"AdMaxOpenUtils"
:
"Parkingedto"
,
"AdDisplayUtils"
:
"Monarchedto"
,
"AdmobNativeUtils"
:
"Orbitedto"
,
"AdmobBannerColla"
:
"Verdictedto"
,
"AdmobOpenUtils"
:
"Complainedto"
,
"AdmobInterstitialUtils"
:
"Leavingedto"
,
"NativeView"
:
"Veryedto"
,
"AdmobEvent"
:
"Snapedto"
,
"StayNotificationService"
:
"Operationaledto"
,
"StayJobService"
:
"Rescueedto"
,
"MyApplication"
:
"Exhibitionedto"
,
"TestSimilar"
:
"Zuluedto"
,
"DocumentRecoveryStringManager"
:
"Fileedto"
,
"PhotoRecoveryStringManager"
:
"Nightedto"
,
"TimeUtils"
:
"Passedto"
,
"CleanJunkStringResourceManager"
:
"Wateredto"
,
"BatteryInfoStringManager"
:
"Sayedto"
,
"NewFileUtils"
:
"Shoulderedto"
,
"RamUtils"
:
"Intentionedto"
,
"ScreenshotCleanupStringManager"
:
"Slopeedto"
,
"SimilarHelper"
:
"Mechanismedto"
,
"InstallHelps"
:
"Timetableedto"
,
"VideoRecoveryStringManager"
:
"Harvestedto"
,
"ActivityManagerUtils"
:
"Rocketedto"
,
"HexExt"
:
"Ancestoredto"
,
"AppPreferences"
:
"Waitedto"
,
"AppProcessStringManager"
:
"Digitaledto"
,
"BarUtils"
:
"Transcendedto"
,
"LogEx"
:
"Tumbleedto"
,
"ScreenUtil"
:
"Mightedto"
,
"DuplicatePhotoStringResourceManager"
:
"Arrowedto"
,
"AppManagerStringManager"
:
"Bitteredto"
,
"WhatsappStringManager"
:
"Myselfedto"
,
"EventUtils"
:
"Rideredto"
,
"NewComUtils"
:
"Superintendentedto"
,
"LargeFileStringManager"
:
"Selectionedto"
,
"ReportUtils"
:
"Declarationedto"
,
"AESHelper"
:
"Wisdomedto"
,
"PrivacySpaceStringManager"
:
"Substituteedto"
,
"MediaStoreUtils"
:
"Youthedto"
,
"LargeFileUtils"
:
"Souledto"
,
"FileHexEx"
:
"Buttocksedto"
,
"AppBean"
:
"Ridgeedto"
,
"ConstObject"
:
"Hateedto"
,
"FolderBean"
:
"Changingedto"
,
"MediaTimeBean"
:
"Commentedto"
,
"MediaBean"
:
"Vigorousedto"
,
"ConfigBean"
:
"Exitedto"
,
"ScreenshotBean"
:
"Oxygenedto"
,
"WhatsAppCleanerBean"
:
"Highlightedto"
,
"FIleBean"
:
"Dignityedto"
,
"RecoveryBean"
:
"Absenceedto"
,
"ParentBean"
:
"Unpleasantedto"
,
"RecoveryFilterBean"
:
"Plainedto"
,
"BlackUtils"
:
"Assumeedto"
,
"ConfigHelper"
:
"Neckedto"
,
"KotlinExt"
:
"Constraintedto"
,
"BaseActivity"
:
"Murderedto"
,
"FileHelp"
:
"Concessionedto"
,
"PermissionHelp"
:
"Rackedto"
,
"BaseApplication"
:
"Interferenceedto"
,
"BaseFragment"
:
"Jumpedto"
,
"MediaStoreHelp"
:
"Memberedto"
,
"ActivityLauncher"
:
"Peakedto"
,
"AppFunctionAdapter"
:
"Policeedto"
,
"FileGridAdapter"
:
"Testifyedto"
,
"FileFolderAdapter"
:
"Earnedto"
,
"LargeFileAdapter"
:
"Mazeedto"
,
"RecoveryFilterAdapter"
:
"Swearedto"
,
"JunkExpandAdapter"
:
"Wayedto"
,
"WhatsAppMediaAdapter"
:
"Workshopedto"
,
"FileTimeColumnsAdapter"
:
"Equaledto"
,
"WhatsAppCleanerAdapter"
:
"Volumeedto"
,
"AppManagerAdapter"
:
"Factoredto"
,
"ScreenShotAdapter"
:
"Sumedto"
,
"MediaAdapter"
:
"Eagleedto"
,
"MediaSubAdapter"
:
"Characteredto"
,
"RepeatActivity"
:
"Trafficedto"
,
"RepeatAnimationActivity"
:
"Weakedto"
,
"MainActivity"
:
"Byedto"
,
"ResultActivity"
:
"Halcyonedto"
,
"WhatsAppCleanerActivity"
:
"Contraryedto"
,
"WhatsAppMessageCleanActivity"
:
"Jovialedto"
,
"WhatsAppCleanerAnimationActivity"
:
"Tiptoeedto"
,
"BatteryInfoAnimationActivity"
:
"Probablyedto"
,
"BatteryActivity"
:
"Hardshipedto"
,
"PhotoManagerAnimationActivity"
:
"Collectionedto"
,
"PhotoManagerActivity"
:
"Curveedto"
,
"SettingActivity"
:
"Hatedto"
,
"ScreenShotAnimationActivity"
:
"Eyebrowedto"
,
"ScreenShotActivity"
:
"Boardedto"
,
"FileRecoveryActivity"
:
"Flingedto"
,
"FileRecoveredActivity"
:
"Fourthedto"
,
"FileScanResultActivity"
:
"Spilledto"
,
"GuideActivity"
:
"Appearanceedto"
,
"AppManagerActivity"
:
"Glideedto"
,
"AppManagerAnimationActivity"
:
"Liveredto"
,
"PrivacyManager"
:
"Policyedto"
,
"Splash2Activity"
:
"Styleedto"
,
"StartUtils"
:
"Registeredto"
,
"TaskManager"
:
"Breatheedto"
,
"PrivacyImportActivity"
:
"Hopeedto"
,
"PrivacySpaceActivity"
:
"Exclaimededto"
,
"PrivacyPinOneActivity"
:
"Knitedto"
,
"PrivacyPinTwoActivity"
:
"Pastureedto"
,
"PrivacyManageActivity"
:
"Shirtedto"
,
"AppProcessActivity"
:
"Negligenceedto"
,
"AppProcessAnimationActivity"
:
"Delayedto"
,
"SplashActivity"
:
"Edgeedto"
,
"LargeFileAnimationActivity"
:
"Madeedto"
,
"LargeFileActivity"
:
"Premiumedto"
,
"ScanJunk2Activity"
:
"Failedto"
,
"CleaningActivity"
:
"Confusionedto"
,
"ScanJunkActivity"
:
"Reserveedto"
,
"CleanJunkActivity"
:
"Amberedto"
,
"MessagingService"
:
"Cooperateedto"
,
"CloseNotificationReceiver"
:
"Busyedto"
,
"WorkHelp"
:
"Merchantedto"
,
"NotificationUtil"
:
"Appleedto"
,
"RecoveryTimerManager"
:
"Scrapeedto"
,
"ScreenStatusReceiver"
:
"Wakeedto"
,
"FcmReceiver"
:
"Lionedto"
,
"FCMManager"
:
"Correctionedto"
,
"BatteryReceiver"
:
"Coachedto"
,
"DialogViews"
:
"Photocopyedto"
,
"CustomDialog"
:
"Acceptableedto"
,
"NotifPermisonPop"
:
"Wrestleedto"
,
"FileScanDialog"
:
"Salvationedto"
,
"XmlEx"
:
"Gestureedto"
,
"PermissionDialog"
:
"Coveredto"
,
"XmlLottieAnimationView"
:
"Victoryedto"
,
"RateStarPop"
:
"Yellowedto"
,
"AsteriskPasswordTransformationMethod"
:
"Impulseedto"
,
"FileViewModel"
:
"Electronicsedto"
,
"GuideFragment"
:
"Correctedto"
,
"PrivacyPageFragment"
:
"Stepedto"
,
"RecoveryFragment"
:
"Conscienceedto"
,
"PrivacyFileImportFragment"
:
"Flawededto"
,
"HomeFragment"
:
"Problemedto"
}
}
\ No newline at end of file
app/test9.py
→
app/test9
.py
View file @
94dfd0ea
...
...
@@ -983,8 +983,8 @@ def deal_code():
if
os
.
path
.
isdir
(
os
.
path
.
join
(
new_path
,
i
)):
continue
result_path
.
append
(
os
.
path
.
join
(
new_path
,
i
))
add_import
(
applicationId
+
'.R'
,
result_path
)
add_import
(
applicationId
+
'.BuildConfig'
,
result_path
)
#
add_import(applicationId + '.R', result_path)
#
add_import(applicationId + '.BuildConfig', result_path)
# 类名
print
(
"类名 start"
)
...
...
@@ -1064,7 +1064,18 @@ def deal_res_type(res_type):
name
=
j
.
rsplit
(
'.'
,
1
)[
0
]
path
=
os
.
path
.
join
(
path_join
,
j
)
if
'.DS_Store'
not
in
path
:
shutil
.
move
(
path
,
path
.
replace
(
name
,
type_mapping
[
name
]))
# shutil.move(path, path.replace(name, type_mapping[name]))
# 仅替换文件名部分
dir_path
,
file_name
=
os
.
path
.
split
(
path
)
new_file_name
=
file_name
.
replace
(
name
,
type_mapping
[
name
])
new_path
=
os
.
path
.
join
(
dir_path
,
new_file_name
)
# 打印路径调试信息
print
(
f
"源路径: {path}"
)
print
(
f
"目标路径: {new_path}"
)
# 移动文件
shutil
.
move
(
path
,
new_path
)
sub_map
=
{}
for
i
in
type_mapping
:
...
...
@@ -1540,7 +1551,130 @@ def main():
deal_code
()
def
load_mapping
(
file_path
):
"""加载 mapping.json 文件并打印内容."""
try
:
with
open
(
file_path
,
'r'
,
encoding
=
'utf-8'
)
as
f
:
data
=
json
.
load
(
f
)
print
(
"Loaded Mapping:"
)
print
(
json
.
dumps
(
data
,
indent
=
4
,
ensure_ascii
=
False
))
# 打印映射内容
return
data
.
get
(
"view_ids"
,
{})
except
(
FileNotFoundError
,
json
.
JSONDecodeError
)
as
e
:
print
(
f
"Error loading mapping file: {e}"
)
return
{}
def
replace_identifiers_in_file
(
file_path
,
mapping
,
replacements_log
):
"""替换单个文件中的标识符,并存储替换的内容到 JSON 日志."""
with
open
(
file_path
,
'r'
,
encoding
=
'utf-8'
)
as
f
:
original_text
=
f
.
read
()
print
(
f
"
\n
Processing File: {file_path}"
)
print
(
"Original Content:"
)
print
(
original_text
)
# 打印文件原始内容
modified_text
=
original_text
replacements
=
[]
# 替换所有绑定相关的引用
def
replace_binding_references
(
match
):
identifier
=
match
.
group
(
2
)
or
match
.
group
(
3
)
return
f
"{match.group(1)}.{mapping.get(identifier, identifier)}"
# 替换类似 `binding.tvTest1` 和 `it.tvTest1` 的结构
modified_text
=
re
.
sub
(
r'\b(binding|it)\.([a-zA-Z_0-9]+)\b'
,
replace_binding_references
,
modified_text
)
# 替换无前缀的变量名,如 `tvTest1` 和 `tvTest2`,根据 mapping 文件中的 view_ids 替换
def
replace_variable_names
(
match
):
identifier
=
match
.
group
(
1
)
# 使用 mapping 中的 view_ids 替换变量名
new_identifier
=
mapping
.
get
(
identifier
,
identifier
)
if
new_identifier
!=
identifier
:
replacements
.
append
({
"original"
:
identifier
,
"modified"
:
new_identifier
})
return
new_identifier
# 先提取所有引号中的内容
quoted_texts
=
re
.
findall
(
r'"([^"]*)"'
,
modified_text
)
# 将引号中的内容临时替换为占位符
placeholders
=
[
f
"__PLACEHOLDER_{i}__"
for
i
in
range
(
len
(
quoted_texts
))]
for
i
,
quoted
in
enumerate
(
quoted_texts
):
modified_text
=
modified_text
.
replace
(
f
'"{quoted}"'
,
placeholders
[
i
])
# 过滤掉方法调用中的标识符(例如 taichiPref.edit() 不替换 edit)
def
is_function_call
(
match
):
# 检查匹配的标识符后是否跟着 `()`
return
f
"{match.group(1)}()"
if
match
.
group
(
2
)
else
None
# 替换变量名,排除函数调用
modified_text
=
re
.
sub
(
r'\b('
+
'|'
.
join
(
mapping
.
keys
())
+
r')\b(?!\()'
,
replace_variable_names
,
modified_text
)
# 将占位符替换回原始引号内容
for
i
,
quoted
in
enumerate
(
quoted_texts
):
modified_text
=
modified_text
.
replace
(
placeholders
[
i
],
f
'"{quoted}"'
)
# 过滤重复的替换项:根据 (original, modified) 进行去重
seen_replacements
=
set
()
unique_replacements
=
[]
for
replacement
in
replacements
:
replacement_tuple
=
(
replacement
[
"original"
],
replacement
[
"modified"
])
if
replacement_tuple
not
in
seen_replacements
:
unique_replacements
.
append
(
replacement
)
seen_replacements
.
add
(
replacement_tuple
)
if
unique_replacements
:
replacements_log
[
file_path
]
=
unique_replacements
# 写入修改后的内容
with
open
(
file_path
,
'w'
,
encoding
=
'utf-8'
)
as
f
:
f
.
write
(
modified_text
)
else
:
print
(
"No replacements made."
)
def
process_files_in_directory
(
directory
,
mapping
,
replacements_log
):
"""处理目录下的所有文件并打印文件路径."""
for
root
,
_
,
files
in
os
.
walk
(
directory
):
for
file
in
files
:
if
file
.
endswith
(
".kt"
):
# 仅处理 Kotlin 文件
file_path
=
os
.
path
.
join
(
root
,
file
)
replace_identifiers_in_file
(
file_path
,
mapping
,
replacements_log
)
def
solve_runapplyalso
():
# 配置路径
mapping_file
=
"mapping.json"
src_directory
=
"./src/main/java"
log_file
=
"replacement_log.json"
# 加载映射表
mapping
=
load_mapping
(
mapping_file
)
# 检查路径
if
not
os
.
path
.
exists
(
src_directory
):
print
(
f
"Source directory not found: {src_directory}"
)
elif
not
mapping
:
print
(
"Mapping file is empty or not found."
)
else
:
# 存储替换日志
replacements_log
=
{}
# 开始处理文件
process_files_in_directory
(
src_directory
,
mapping
,
replacements_log
)
# 将替换日志保存为 JSON 文件
with
open
(
log_file
,
'w'
,
encoding
=
'utf-8'
)
as
log
:
json
.
dump
(
replacements_log
,
log
,
ensure_ascii
=
False
,
indent
=
4
)
print
(
f
"
\n
Replacement completed. Log saved to {log_file}."
)
if
__name__
==
'__main__'
:
if
os
.
path
.
exists
(
'build.gradle'
):
gradle_path
=
'build.gradle'
...
...
@@ -1548,8 +1682,7 @@ if __name__ == '__main__':
gradle_path
=
'build.gradle.kts'
else
:
exit
(
'找不到 build.gradle 文件'
)
#获取build.gradle.kts里的namespace,以此确定混淆目录和包名
applicationId
=
re
.
search
(
'namespace .*?["
\'
](.*?)["
\'
]'
,
open
(
gradle_path
,
'r'
,
encoding
=
'utf-8'
)
.
read
())[
1
]
print
(
applicationId
)
main
()
# solve_runapplyalso()
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment