Вверх ↑
Этот топик читают: Гость
Ответов: 394
Рейтинг: 63
#31: 2022-05-31 05:19:21 ЛС | профиль | цитата
Udokanec, Какие строки нужно поменять в файле "a.smali"?
карма: 9

0
Ответов: 270
Рейтинг: 5
#32: 2022-05-31 09:46:42 ЛС | профиль | цитата
В "a.smali" ничего менять не надо
карма: 0

0
Ответов: 394
Рейтинг: 63
#33: 2022-05-31 18:54:57 ЛС | профиль | цитата
Udokanec писал(а):
В "a.smali" ничего менять не надо

Понятно. Проверь.

Add(MainForm,11479196,343,126)
{
Width=440
Height=100
}
Add(Button,1032059,182,231)
{
Left=290
Top=5
Width=100
Caption="Папка"
link(onClick,1584642:doBrowse,[])
}
Add(Button,1454278,322,231)
{
Left=290
Top=30
Width=100
Enabled=1
Caption="Заменить"
Point(doEnabled)
link(onClick,9717498:doSearch,[])
}
Add(Label,15810939,294,126)
{
Left=5
Top=10
Width=49
Height=17
Caption="Каталог:"
}
Add(Edit,8494145,273,231)
{
Left=60
Top=10
Width=195
Text=""
link(onChange,1454278:doEnabled,[])
}
Add(Browse,1584642,231,231)
{
Title="Select Folder"
NewDirButton=1
link(onBrowse,8494145:doText,[])
}
Add(FileSearch,9717498,378,231)
{
Ext="*.smali"
TimeType=1
link(onSearch,2039579:doValue,[])
link(onEndSearch,808965:doString,[(424,244)(424,405)])
link(Dir,8494145:Text,[(391,222)(370,222)(370,271)(279,271)])
}
Add(Memory,2039579,434,231)
{
link(onData,10551125:doEvent1,[])
}
Add(Message,14888828,637,399)
{
}
Add(StrList,14923820,798,182)
{
Strings=#14:61.145.124.238|14:ad.api.kaffnet|10:ad.mail.ru|18:ad.myinstashot.com|11:adc3-launch|8:adbuddiz|8:adcolony|8:addapptr|8:adincube|6:adjust|6:adkmob|11:adknowledge|8:admarvel|5:admob|5:Admob|6:admost|12:adnw_logging|15:adsafeprotected|5:adsdk|6:adsert|8:adserver|9:adservice|11:advertising|6:adview|11:adz.wattpad|7:aerserv|7:airpush|7:altamob|10:alta.eqmob|15:amazon-adsystem|9:amazonaws|9:analytics|10:appAdForce|14:appboyappbrain|7:appenda|5:appia|13:applifier.com|8:applovin|6:applvn|7:appnext|8:appnexus|8:appodeal|7:apprupt|7:apsalar|6:appsdt|9:appsflyer|16:audience_network|9:avocarrot|5:azure|17:boxdigital/sdk/ad|6:branch|10:ca-app-pub|29:certificate.mobile.yandex.net|10:chartboost|10:cloudfront|39:code.google.com/p/android/issues/detail|11:crashlytics|15:csi.gstatic.com|12:dsp.batmobil|6:duapps|11:firebaseapp|6:flurry|5:fyber|27:google/android/gms/internal|36:google.com/safebrowsing/clientreport|25:googleapis.com/auth/games|27:googleads.g.doubleclick.net|17:googlesyndication|14:graph.facebook|10:greystripe|6:heyzap|9:hockeyapp|6:hyprmx|8:InlineAd|6:inmobi|11:inneractive|12:instreamatic|11:integralads|10:ironsource|5:jirbo|7:jumptap|7:kochava|8:Leadbolt|10:localytics|6:loopme|9:madnet.ru|5:mdotm|11:measurement|9:mediabrix|7:metrica|15:millennialmedia|6:mngads|4:moat|7:mobclix|6:mobfox|8:mobvista|7:montexi|6:moolah|5:mopub|13:mp.mydas.mobi|10: my/target|18:NativeInterstitial|11:net.rayjump|18:network_ads_common|6:nexage|15:onelouder/adlib|5:openx|10:pagead/ads|17:plus1.wapstart.ru|8:pubmatic|9:pubnative|15:r.my.com/mobile|6:revmob|20:sb.scorecardresearch|11:smaato/SOMA|8:startapp|25:startup.mobile.yandex.net|13:supersonicads|10:tagmanager|5:tapas|6:tapjoy|21:udm.scorecardresearch|11:unity3d/ads|8:unityads|6:vdopia|6:vungle|9:www.dummy|5:wzrkt|5:xtify|16:yandexadexchange|7:zestadz|0:|
}
Add(StrMask,43527,952,238)
{
Point(doMask)
link(onTrue,9026426:doSplit,[])
link(Str,7166975:Item,[(958,222)(776,222)(776,285)(671,285)])
}
Add(ArrayEnum,11747147,812,245)
{
link(onItem,2883028:doEvent1,[])
link(Array,14923820:Array,[])
}
Add(Hub,2883028,861,245)
{
link(onEvent1,15360191:doString,[])
link(onEvent2,43527:doCompare,[(886,258)(886,244)])
}
Add(FormatStr,15360191,896,245)
{
Mask="*"*%1*""
link(onFString,43527:doMask,[])
}
Add(StrList,6355775,651,154)
{
Point(doGetString)
Point(onGetString)
Point(doReplace)
Point(doLoad)
Point(doSave)
link(Str,7532469:Result,[(657,145)(993,145)(993,292)(1063,292)])
link(FileName,2039579:Value,[(664,138)(510,138)(510,271)(440,271)])
}
Add(ArrayEnum,7166975,665,238)
{
link(onItem,15546020:doCompare,[])
link(onEndEnum,6355775:doSave,[(704,251)(704,223)(641,223)(641,209)])
link(Array,6355775:Array,[])
}
Add(StrPart,9026426,1008,245)
{
Char=", "
Point(Left)
link(onPart,7532469:doStrCatDlm,[])
}
Add(StrCatDelim,7532469,1057,252)
{
Delimiter=", "
Str2=""http://""
link(onStrCatDlm,16009929:doEvent1,[(1096,258)(1096,300)(515,300)(515,195)])
}
Add(DoData,2122395,574,189)
{
link(onEventData,6355775:doReplace,[])
link(Data,7166975:Index,[(580,180)(615,180)(615,278)(678,278)])
}
Add(Hub,10551125,574,231)
{
link(onEvent1,6355775:doLoad,[(620,237)(620,202)])
link(onEvent2,7166975:doEnum,[])
}
Add(StrMask,15546020,728,238)
{
Mask="*"https://*"
link(onTrue,11747147:doEnum,[])
}
Add(FormatStr,808965,581,399)
{
Mask="Обработано файлов - %1\r\nПроведено замен - %2"
link(onFString,14888828:doMessage,[])
link(Str2,13837333:Count,[])
}
Add(Hub,16009929,525,189)
{
link(onEvent1,2122395:doData,[])
link(onEvent2,13837333:doNext,[(550,202)(550,349)])
}
Add(CounterEx,13837333,588,343)
{
Max=100000000
}

карма: 9

1
Голосовали:Udokanec
Ответов: 270
Рейтинг: 5
#34: 2022-06-01 01:17:02 ЛС | профиль | цитата
Уважаемый Gunta все прекрасно работает.Спасибо.Но мне хотелось бы сделать поиск и замену через RE_Search хотелось бы все же разобраться как производить замену при помощи рег.выражений.И мне кажется программа будет проще.Если можете помогите.
карма: 0

0
Ответов: 394
Рейтинг: 63
#35: 2022-06-01 06:28:49 ЛС | профиль | цитата
Udokanec писал(а):
мне хотелось бы сделать поиск и замену через RE_Search хотелось бы все же разобраться как производить замену при помощи рег.выражений

Пример, происходит замена в файлах что ты выкладывал. Одно НО! Если нужно что-то исправить, то регулярку пиши сам.

Add(MainForm,2953706,161,98)
{
Width=431
Height=104
}
Add(Button,1032059,154,203)
{
Left=290
Top=5
Width=100
Caption="Папка"
link(onClick,1584642:doBrowse,[])
}
Add(Button,1454278,294,203)
{
Left=290
Top=30
Width=100
Enabled=1
Caption="Заменить"
Point(doEnabled)
link(onClick,9717498:doSearch,[])
}
Add(Label,15810939,238,98)
{
Left=5
Top=10
Width=49
Height=17
Caption="Каталог:"
}
Add(Edit,8494145,245,203)
{
Left=60
Top=10
Width=195
Text=""
link(onChange,1454278:doEnabled,[])
}
Add(Browse,1584642,203,203)
{
Title="Select Folder"
NewDirButton=1
link(onBrowse,8494145:doText,[])
}
Add(FileSearch,9717498,350,203)
{
Ext="*.smali"
TimeType=1
link(onSearch,8160937:doValue,[])
link(onEndSearch,14888828:doMessage,[(396,216)(396,265)])
link(Dir,8494145:Text,[(363,194)(342,194)(342,243)(251,243)])
}
Add(StrList,11697065,560,189)
{
Point(doSave)
Point(EndIdx)
link(FileName,11877606:Var,[])
}
Add(StrList,12827230,497,154)
{
Point(doLoad)
link(FileName,141181:Var,[])
}
Add(Message,14888828,497,259)
{
}
Add(GlobalVar,8160937,406,203)
{
Name="fn"
link(onValue,3042886:doEvent1,[])
}
Add(GlobalVar,141181,504,126)
{
Name="fn"
}
Add(GlobalVar,11877606,567,154)
{
Name="fn"
}
Add(Hub,3042886,455,203)
{
OutCount=3
link(onEvent1,12827230:doLoad,[(480,209)(480,188)])
link(onEvent2,5280974:doReplace,[])
link(onEvent3,11697065:doSave,[])
}
Add(RE_Replace,5280974,497,210)
{
Expression="\"https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)\""
ReplaceStr=""http://""
link(onReplace,11697065:doText,[])
link(SourceStr,12827230:Text,[])
}

карма: 9

0
Ответов: 270
Рейтинг: 5
#36: 2022-06-01 13:18:45 ЛС | профиль | цитата
Значит моя регулярка негодна.И мне нужно чобы эти адресса менялись.
"http.*://.*(61.145.124.238|ad.api.kaffnet|ad.mail.ru|ad.myinstashot.com|adc3-launch|adbuddiz|adcolony|addapptr|adincube|adjust|adkmob|adknowledge|admarvel|admob|Admob|admost|adnw_logging|adsafeprotected|adsdk|adsert|adserver|adservice|advertising|adview|adz.wattpad|aerserv|airpush|altamob|alta.eqmob|amazon-adsystem|amazonaws|analytics|appAdForce|appboy|appbrain|appenda|appia|applifier.com|applovin|applvn|appnext|appnexus|appodeal|apprupt|apsalar|appsdt|appsflyer|audience_network|avocarrot|azure|boxdigital/sdk/ad|branch|ca-app-pub|certificate.mobile.yandex.net|chartboost|cloudfront|code.google.com/p/android/issues/detail|crashlytics|csi.gstatic.com|doubleclick.net|dsp.batmobil|duapps|firebaseapp|flurry|fyber|g.doubleclick|google/android/gms/internal|google.com/safebrowsing/clientreport|googleapis.com/auth/games|googleads|googlesyndication|graph.facebook|greystripe|heyzap|hockeyapp|hyprmx|InlineAd|inmobi|inneractive|instreamatic|integralads|ironsource|jirbo|jumptap|kochava|Leadbolt|localytics|loopme|madnet.ru|mdotm|measurement|mediabrix|metrica|millennialmedia|mngads|moat|mobclix|mobfox|mobvista|montexi|moolah|mopub|mp.mydas.mobi|my/target|NativeInterstitial|net.rayjump|network_ads_common|nexage|onelouder/adlib|openx|pagead/ads|plus1.wapstart.ru|pubmatic|pubnative|r.my.com/mobile|revmob|sb.scorecardresearch|smaato/SOMA|startapp|startup.mobile.yandex.net|supersonicads|tagmanager|tapas|tapjoy|udm.scorecardresearch|unity3d/ads|unityads|vdopia|vungle|www.dummy|wzrkt|xtify|yandexadexchange|zestadz).*"

Редактировалось 1 раз(а), последний 2022-06-01 13:23:15
карма: 0

0
Ответов: 394
Рейтинг: 63
#37: 2022-06-01 18:48:05 ЛС | профиль | цитата
Udokanec писал(а):
Значит моя регулярка негодна

Ничего не значит. Воспользуйся любым regular expressions online (я пользовался - https://www.freeformatter.com/regex-tester.html) и отлаживай свою регулярку. У меня писать их никакого терпения не хватает, а разбираться в чужих – это вообще выше моих сил.
карма: 9

0
Ответов: 270
Рейтинг: 5
#38: 2022-06-07 02:28:06 ЛС | профиль | цитата
Подскажите пожалуйста почему рег.выражение invoke-virtual \{([pv]\d+), ([pv]\d+)\}, Ljava/security/Signature;->verify\(\[B\)Z\n\n move-result ([pv]\d+) на https://www.freeformatter.com/regex-tester.html -работает.
а в Xiasm invoke-virtual \{([pv]\d+), ([pv]\d+)\}, Ljava/security/Signature;->verify\(\[B\)Z\r\n move-result ([pv]\d+) нет.
Add(Button,1032059,504,175)
{
Left=155
Top=25
Width=100
Caption="Папка"
link(onClick,4127652:doExec,[])
}
Add(RE_Search,4127652,609,175)
{
Expression="invoke-virtual \{([pv]\d+), ([pv]\d+)\}, Ljava/security/Signature;->verify\(\[B\)Z\r\n move-result ([pv]\d+)"
ModifierM=0
link(onMatch,12520392:doEvent1,[])
link(SourceStr,7368708:Text,[])
}
Add(Hub,12520392,651,175)
{
OutCount=3
link(onEvent1,3967029:doAdd,[])
}
Add(Memo,3967029,693,175)
{
Left=30
Top=85
Width=380
Height=120
ScrollBars=3
}
Add(StrList,7368708,609,126)
{
Strings=#0:|75: invoke-direct {v2, v1}, Ljava/lang/String;-><init>(Ljava/lang/String;)V|0:|22: move-object v1, v2|0:|11: :goto_5|93: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V|0:|12: throw v0|0:|11: :cond_b|36: const-string v1, "SHA256withDSA"|0:|16: goto :goto_6|0:|11: :cond_c|38: const-string v1, "SHA512withECDSA"|0:|16: goto :goto_6|8: :cond_e|86: invoke-virtual {v9, v0}, Ljava/security/Signature;->update(Ljava/nio/ByteBuffer;)V|0:|67: invoke-virtual {v9, v8}, Ljava/security/Signature;->verify([B)Z|0:|18: move-result v1|14: :try_end_1|89: .catch Ljava/security/NoSuchAlgorithmException; {:try_start_1 .. :try_end_1} :catch_9|93: .catch Ljava/security/spec/InvalidKeySpecException; {:try_start_1 .. :try_end_1} :catch_8|
Point(doLoad)
}


Редактировалось 3 раз(а), последний 2022-06-11 14:31:59
карма: 0

0
Ответов: 394
Рейтинг: 63
#39: 2022-06-07 06:46:47 ЛС | профиль | цитата
Udokanec писал(а):
Подскажите пожалуйста почему рег.выражение

\\s+ обозначает любое количество пробельных символов начиная с 1-го,
[url]https://ru.wikipedia.org/wiki/Категория:Пробельные_символы[/url]
Add(MainForm,2953706,294,70)
{
Width=455
}
Add(Button,1032059,301,126)
{
Left=155
Top=25
Width=100
Caption="Папка"
link(onClick,4127652:doExec,[])
}
Add(RE_Search,4127652,371,126)
{
Expression="invoke-virtual \{([pv]\d+), ([pv]\d+)\}, Ljava/security/Signature;->verify\(\[B\)Z\\s+move-result ([pv]\d+)"
ModifierX=0
link(onMatch,12520392:doEvent1,[])
link(SourceStr,7368708:Text,[])
}
Add(Hub,12520392,413,126)
{
OutCount=3
link(onEvent1,3967029:doAdd,[])
}
Add(Memo,3967029,455,126)
{
Left=30
Top=85
Width=380
Height=120
ScrollBars=3
}
Add(StrList,7368708,371,77)
{
Strings=#0:|75: invoke-direct {v2, v1}, Ljava/lang/String;-><init>(Ljava/lang/String;)V|0:|22: move-object v1, v2|0:|11: :goto_5|93: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V|0:|12: throw v0|0:|11: :cond_b|36: const-string v1, "SHA256withDSA"|0:|16: goto :goto_6|0:|11: :cond_c|38: const-string v1, "SHA512withECDSA"|0:|16: goto :goto_6|8: :cond_e|86: invoke-virtual {v9, v0}, Ljava/security/Signature;->update(Ljava/nio/ByteBuffer;)V|0:|67: invoke-virtual {v9, v8}, Ljava/security/Signature;->verify([B)Z|0:|18: move-result v1|14: :try_end_1|89: .catch Ljava/security/NoSuchAlgorithmException; {:try_start_1 .. :try_end_1} :catch_9|93: .catch Ljava/security/spec/InvalidKeySpecException; {:try_start_1 .. :try_end_1} :catch_8|
Point(doLoad)
}


Редактировалось 2 раз(а), последний 2022-06-07 07:33:39
карма: 9

1
Голосовали:Udokanec
Ответов: 270
Рейтинг: 5
#40: 2022-06-11 14:24:08 ЛС | профиль | цитата
Есть текст

Текст
:cond_3
invoke-super {p0}, Landroidx/activity/ComponentActivity;->onBackPressed()V

:goto_0
return-void
.end method

.method protected onCreate(Landroid/os/Bundle;)V
.locals 7

.line 1

invoke-super {p0, p1}, Landroidx/appcompat/app/e;->onCreate(Landroid/os/Bundle;)V

const p1, 0x7f0c001d

.line 2
invoke-virtual {p0, p1}, Landroidx/appcompat/app/e;->setContentView(I)V

const p1, 0x7f09013e

После .method protected onCreate(Landroid/os/Bundle;)V
.locals 7

.line 1] мне нужно вставить текст и сохранить

Никак не получается распарсить текст.BloсkFind у меня не берет многострочный текст

Редактировалось 10 раз(а), последний 2022-06-11 14:39:51
карма: 0

0
Ответов: 394
Рейтинг: 63
#41: 2022-06-11 14:58:07 ЛС | профиль | цитата
Udokanec писал(а):
Никак не получается распарсить текст.BloсkFind у меня не берет многострочный текст

Вот как можно это сделать. В верхнем мемо печатай любой текст.

Add(MainForm,2953706,56,182)
{
Width=850
Height=550
link(onCreate,16037282:doEvent2,[])
}
Add(StrList,5064370,126,84)
{
Strings=#7::cond_3|74:invoke-super {p0}, Landroidx/activity/ComponentActivity;->onBackPressed()V|0:|7::goto_0|11:return-void|11:.end method|0:|48:.method protected onCreate(Landroid/os/Bundle;)V|9:.locals 7|0:|7:.line 1|0:|81:invoke-super {p0, p1}, Landroidx/appcompat/app/e;->onCreate(Landroid/os/Bundle;)V|0:|20:const p1, 0x7f0c001d|0:|7:.line 2|71:invoke-virtual {p0, p1}, Landroidx/appcompat/app/e;->setContentView(I)V|0:|20:const p1, 0x7f09013e|
}
Add(Replace,6528042,175,196)
{
link(onReplace,3345098:doText,[])
link(Str,5064370:Text,[(181,180)(132,180)])
link(Sub_str,3332814:Var2,[])
link(Dest,5339370:Result,[(195,187)(216,187)])
}
Add(Memo,3345098,266,175)
{
Top=136
Width=834
Height=375
Align=5
ScrollBars=3
}
Add(StrList,2711950,182,84)
{
Strings=#48:.method protected onCreate(Landroid/os/Bundle;)V|9:.locals 7|0:|7:.line 1|
}
Add(StrCatDelim,5339370,210,147)
{
Delimiter="\r\n"
link(Str1,3332814:Var3,[(216,131)])
link(Str2,1852090:Text,[(223,131)(230,131)])
}
Add(GetDataEx,3332814,182,126)
{
link(Data,2711950:Text,[])
}
Add(Hub,16037282,126,189)
{
InCount=2
link(onEvent1,5339370:doStrCatDlm,[(151,195)(151,153)])
link(onEvent2,6528042:doReplace,[])
}
Add(Memo,1852090,224,84)
{
Width=834
Height=116
Align=2
Strings=#43:Всё что надо вставить после найденных строк|0:|1: |0:|
ScrollBars=3
link(onChange,16037282:doEvent1,[(263,90)(263,76)(116,76)(116,195)])
}

карма: 9

0
Ответов: 270
Рейтинг: 5
#42: 2022-06-11 16:49:31 ЛС | профиль | цитата
Спасибо но так не пойдет.У .locals и у .line всегда разные номера.Вот их я спарсить и не могу
карма: 0

0
Ответов: 394
Рейтинг: 63
#43: 2022-06-12 06:37:39 ЛС | профиль | цитата
Udokanec писал(а):
.У .locals и у .line всегда разные номера

Почему это сразу не написать? И как, по-твоему, я могу об этом знать?
Пойми только тебе понятна программа, которую ты делаешь. Я могу об этом только догадываться.

Add(MainForm,12800017,238,189)
{
Width=850
Height=550
link(onCreate,13231865:doExec,[])
}
Add(StrList,5064370,322,133)
{
Strings=#7::cond_3|74:invoke-super {p0}, Landroidx/activity/ComponentActivity;->onBackPressed()V|0:|7::goto_0|11:return-void|11:.end method|0:|48:.method protected onCreate(Landroid/os/Bundle;)V|9:.locals 7|0:|7:.line 1|0:|81:invoke-super {p0, p1}, Landroidx/appcompat/app/e;->onCreate(Landroid/os/Bundle;)V|0:|20:const p1, 0x7f0c001d|0:|7:.line 2|71:invoke-virtual {p0, p1}, Landroidx/appcompat/app/e;->setContentView(I)V|0:|20:const p1, 0x7f09013e|
}
Add(Replace,6528042,427,210)
{
link(onReplace,3345098:doText,[])
link(Str,7450446:Var3,[(433,180)])
link(Dest,5339370:Result,[])
}
Add(Memo,3345098,497,189)
{
Top=136
Width=834
Height=375
Align=5
ScrollBars=3
}
Add(StrCatDelim,5339370,441,140)
{
Delimiter="\r\n"
link(Str2,809544:Text,[])
}
Add(Hub,16037282,378,203)
{
link(onEvent1,5339370:doStrCatDlm,[(403,209)(403,146)])
link(onEvent2,6528042:doReplace,[])
}
Add(RE_Search,13231865,322,203)
{
Expression="\.method protected onCreate\(Landroid\/os\/Bundle;\)V\s+\.locals \d\s+\.line \d"
link(onMatch,16037282:doEvent1,[])
link(SourceStr,7450446:Var2,[])
}
Add(GetDataEx,7450446,322,175)
{
link(Data,5064370:Text,[])
}
Add(VisualStrings,809544,448,56)
{
Lines=#0:|43:Всё что надо вставить после найденных строк|0:|
Width=256
Height=46
}

карма: 9

2
Голосовали:Udokanec, flint2
Ответов: 1994
Рейтинг: 129
#44: 2022-06-13 21:29:04 ЛС | профиль | цитата
И как, по-твоему, я могу об этом знать?
Просто прекрасно! И так всю дорогу!

Редактировалось 1 раз(а), последний 2022-06-13 21:29:32
карма: 5

0
44
Сообщение
...
Прикрепленные файлы
(файлы не залиты)