Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Quincy379
jadx
提交
d1e5186d
J
jadx
项目概览
Quincy379
/
jadx
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jadx
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d1e5186d
编写于
10月 26, 2020
作者:
S
Skylot
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
perf(res): speed up rename of deobfuscated resources
上级
d06ba953
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
7 deletion
+29
-7
jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java
jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java
+20
-7
jadx-core/src/main/java/jadx/core/xmlgen/entry/ValuesParser.java
...re/src/main/java/jadx/core/xmlgen/entry/ValuesParser.java
+9
-0
未找到文件。
jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java
浏览文件 @
d1e5186d
...
...
@@ -167,17 +167,30 @@ public class RootNode {
}
private
void
updateObfuscatedFiles
(
ResTableParser
parser
,
List
<
ResourceFile
>
resources
)
{
if
(
args
.
isSkipResources
())
{
return
;
}
long
start
=
System
.
currentTimeMillis
();
int
renamedCount
=
0
;
ResourceStorage
resStorage
=
parser
.
getResStorage
();
ValuesParser
valuesParser
=
new
ValuesParser
(
this
,
parser
.
getStrings
(),
resStorage
.
getResourcesNames
());
for
(
int
i
=
0
;
i
<
resources
.
size
();
i
++)
{
ResourceFile
resource
=
resources
.
get
(
i
);
for
(
ResourceEntry
ri
:
parser
.
getResStorage
().
getResources
())
{
if
(
resource
.
getOriginalName
().
equals
(
valuesParser
.
getValueString
(
ri
)))
{
resource
.
setAlias
(
ri
);
break
;
}
Map
<
String
,
ResourceEntry
>
entryNames
=
new
HashMap
<>();
for
(
ResourceEntry
resEntry
:
resStorage
.
getResources
())
{
String
val
=
valuesParser
.
getSimpleValueString
(
resEntry
);
if
(
val
!=
null
)
{
entryNames
.
put
(
val
,
resEntry
);
}
}
for
(
ResourceFile
resource
:
resources
)
{
ResourceEntry
resEntry
=
entryNames
.
get
(
resource
.
getOriginalName
());
if
(
resEntry
!=
null
)
{
resource
.
setAlias
(
resEntry
);
renamedCount
++;
}
}
if
(
LOG
.
isDebugEnabled
())
{
LOG
.
debug
(
"Renamed obfuscated resources: {}, duration: {}ms"
,
renamedCount
,
System
.
currentTimeMillis
()
-
start
);
}
}
private
void
initInnerClasses
()
{
...
...
jadx-core/src/main/java/jadx/core/xmlgen/entry/ValuesParser.java
浏览文件 @
d1e5186d
...
...
@@ -47,6 +47,15 @@ public class ValuesParser extends ParserConstants {
}
}
@Nullable
public
String
getSimpleValueString
(
ResourceEntry
ri
)
{
RawValue
simpleValue
=
ri
.
getSimpleValue
();
if
(
simpleValue
==
null
)
{
return
null
;
}
return
decodeValue
(
simpleValue
);
}
@Nullable
public
String
getValueString
(
ResourceEntry
ri
)
{
RawValue
simpleValue
=
ri
.
getSimpleValue
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录