Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Quincy379
jadx
提交
7b4321ec
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,发现更多精彩内容 >>
提交
7b4321ec
编写于
6月 02, 2018
作者:
S
Skylot
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
gui: fix build for java 10 and update dependencies (#291)
上级
188bfd1a
变更
14
显示空白变更内容
内联
并排
Showing
14 changed file
with
71 addition
and
66 deletion
+71
-66
.gitignore
.gitignore
+0
-1
.travis.yml
.travis.yml
+37
-27
build.gradle
build.gradle
+2
-2
gradle.properties
gradle.properties
+1
-0
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.jar
+0
-0
gradle/wrapper/gradle-wrapper.properties
gradle/wrapper/gradle-wrapper.properties
+1
-1
jadx-cli/build.gradle
jadx-cli/build.gradle
+1
-1
jadx-core/build.gradle
jadx-core/build.gradle
+5
-5
jadx-core/src/main/java/jadx/core/dex/visitors/ModVisitor.java
...core/src/main/java/jadx/core/dex/visitors/ModVisitor.java
+9
-9
jadx-core/src/main/java/jadx/core/dex/visitors/SimplifyVisitor.java
...src/main/java/jadx/core/dex/visitors/SimplifyVisitor.java
+2
-2
jadx-core/src/main/java/jadx/core/utils/DebugUtils.java
jadx-core/src/main/java/jadx/core/utils/DebugUtils.java
+2
-0
jadx-gui/build.gradle
jadx-gui/build.gradle
+5
-6
jadx-gui/src/main/java/jadx/gui/ui/CodePanel.java
jadx-gui/src/main/java/jadx/gui/ui/CodePanel.java
+1
-1
jadx-gui/src/main/java/jadx/gui/utils/TextStandardActions.java
...gui/src/main/java/jadx/gui/utils/TextStandardActions.java
+5
-11
未找到文件。
.gitignore
浏览文件 @
7b4321ec
...
...
@@ -18,7 +18,6 @@ build/
classes/
idea/
.gradle/
gradle.properties
jadx-output/
*-tmp/
...
...
.travis.yml
浏览文件 @
7b4321ec
language
:
java
jdk
:
-
oraclejdk8
env
:
-
TERM=dumb GRADLE_OPTS="-Dorg.gradle.daemon=false"
sudo
:
false
dist
:
trusty
before_install
:
-
wget https://github.com/sormuras/bach/raw/master/install-jdk.sh
-
chmod +x gradlew
env
:
global
:
-
TERM=dumb
matrix
:
include
:
-
env
:
JDK=oracle-8
jdk
:
oraclejdk8
-
env
:
JDK=oracle-10
install
:
. ./install-jdk.sh -F 10 -L BCL
script
:
-
java -version
-
sed -i " 1 s/.*/&-b$TRAVIS_BUILD_NUMBER-$(git rev-parse --short HEAD)/" version
-
cat version
-
sed -i "s/BUILD_VERSION/$(head -c -1 version)/g" bintray.json
-
./gradlew clean build
after_success
:
-
./gradlew clean build jacocoTestReport
-
bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"
-
./gradlew clean sonarqube -Dsonar.host.url=$SONAR_HOST -Dsonar.organization=$SONAR_ORG -Dsonar.login=$SONAR_TOKEN
-
test $JDK = "oracle-8" && ./gradlew clean build jacocoTestReport && bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"
-
test $JDK = "oracle-8" && ./gradlew clean sonarqube -Dsonar.host.url=$SONAR_HOST -Dsonar.organization=$SONAR_ORG -Dsonar.login=$SONAR_TOKEN || echo "Skip sonar build and upload"
before_deploy
:
-
./gradlew clean dist
deploy
:
...
...
@@ -31,8 +42,7 @@ deploy:
on
:
branch
:
master
tags
:
false
sudo
:
false
condition
:
$JDK = oracle-8
notifications
:
email
:
...
...
build.gradle
浏览文件 @
7b4321ec
...
...
@@ -41,7 +41,7 @@ allprojects {
testCompile
'ch.qos.logback:logback-classic:1.2.3'
testCompile
'junit:junit:4.12'
testCompile
'org.hamcrest:hamcrest-library:1.3'
testCompile
'org.mockito:mockito-core:2.1
5.0
'
testCompile
'org.mockito:mockito-core:2.1
8.3
'
testCompile
'org.spockframework:spock-core:1.1-groovy-2.4'
testCompile
'cglib:cglib-nodep:3.2.6'
}
...
...
@@ -53,7 +53,7 @@ allprojects {
}
jacoco
{
toolVersion
=
"0.8.
0
"
toolVersion
=
"0.8.
1
"
}
jacocoTestReport
{
reports
{
...
...
gradle.properties
0 → 100644
浏览文件 @
7b4321ec
org.gradle.daemon
=
false
gradle/wrapper/gradle-wrapper.jar
浏览文件 @
7b4321ec
无法预览此类型文件
gradle/wrapper/gradle-wrapper.properties
浏览文件 @
7b4321ec
distributionBase
=
GRADLE_USER_HOME
distributionPath
=
wrapper/dists
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-4.7-bin.zip
zipStoreBase
=
GRADLE_USER_HOME
zipStorePath
=
wrapper/dists
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-4.5.1-bin.zip
jadx-cli/build.gradle
浏览文件 @
7b4321ec
...
...
@@ -5,7 +5,7 @@ applicationName = 'jadx'
dependencies
{
compile
(
project
(
':jadx-core'
))
compile
'com.beust:jcommander:1.7
2
'
compile
'com.beust:jcommander:1.7
4
'
compile
'ch.qos.logback:logback-classic:1.2.3'
}
...
...
jadx-core/build.gradle
浏览文件 @
7b4321ec
...
...
@@ -5,12 +5,12 @@ dependencies {
compile
files
(
'lib/dx-1.14.jar'
)
compile
'commons-io:commons-io:2.6'
compile
'org.ow2.asm:asm:6.
0
'
compile
'org.jetbrains:annotations:1
5.0
'
compile
'uk.com.robust-it:cloning:1.9.
9
'
compile
'org.ow2.asm:asm:6.
2
'
compile
'org.jetbrains:annotations:1
6.0.2
'
compile
'uk.com.robust-it:cloning:1.9.
10
'
testCompile
'org.smali:smali:2.2.
2
'
testCompile
'org.smali:baksmali:2.2.
2
'
testCompile
'org.smali:smali:2.2.
3
'
testCompile
'org.smali:baksmali:2.2.
3
'
testCompile
'org.apache.commons:commons-lang3:3.7'
}
...
...
jadx-core/src/main/java/jadx/core/dex/visitors/ModVisitor.java
浏览文件 @
7b4321ec
...
...
@@ -249,14 +249,9 @@ public class ModVisitor extends AbstractVisitor {
||
!
parentClass
.
getInnerClasses
().
contains
(
classNode
))
{
return
;
}
if
(!
classNode
.
getAccessFlags
().
isStatic
()
&&
(
callMth
.
getArgsCount
()
==
0
||
!
callMth
.
getArgumentsTypes
().
get
(
0
).
equals
(
parentClass
.
getClassInfo
().
getType
())))
{
return
;
}
// TODO: calculate this constructor and other constructor usage
Map
<
InsnArg
,
FieldNode
>
argsMap
=
getArgsToFieldsMapping
(
callMthNode
,
co
);
if
(
argsMap
.
isEmpty
())
{
if
(
argsMap
.
isEmpty
()
&&
!
callMthNode
.
getArguments
(
true
).
isEmpty
()
)
{
return
;
}
...
...
@@ -285,9 +280,14 @@ public class ModVisitor extends AbstractVisitor {
private
static
Map
<
InsnArg
,
FieldNode
>
getArgsToFieldsMapping
(
MethodNode
callMthNode
,
ConstructorInsn
co
)
{
Map
<
InsnArg
,
FieldNode
>
map
=
new
LinkedHashMap
<>();
ClassNode
parentClass
=
callMthNode
.
getParentClass
();
MethodInfo
callMth
=
callMthNode
.
getMethodInfo
();
ClassNode
cls
=
callMthNode
.
getParentClass
();
ClassNode
parentClass
=
cls
.
getParentClass
();
List
<
RegisterArg
>
argList
=
callMthNode
.
getArguments
(
false
);
int
startArg
=
parentClass
.
getAccessFlags
().
isStatic
()
?
0
:
1
;
int
startArg
=
0
;
if
(
callMth
.
getArgsCount
()
!=
0
&&
callMth
.
getArgumentsTypes
().
get
(
0
).
equals
(
parentClass
.
getClassInfo
().
getType
()))
{
startArg
=
1
;
}
int
argsCount
=
argList
.
size
();
for
(
int
i
=
startArg
;
i
<
argsCount
;
i
++)
{
RegisterArg
arg
=
argList
.
get
(
i
);
...
...
@@ -298,7 +298,7 @@ public class ModVisitor extends AbstractVisitor {
FieldNode
fieldNode
=
null
;
if
(
useInsn
.
getType
()
==
InsnType
.
IPUT
)
{
FieldInfo
field
=
(
FieldInfo
)
((
IndexInsnNode
)
useInsn
).
getIndex
();
fieldNode
=
parentClas
s
.
searchField
(
field
);
fieldNode
=
cl
s
.
searchField
(
field
);
if
(
fieldNode
==
null
||
!
fieldNode
.
getAccessFlags
().
isSynthetic
())
{
return
Collections
.
emptyMap
();
}
...
...
jadx-core/src/main/java/jadx/core/dex/visitors/SimplifyVisitor.java
浏览文件 @
7b4321ec
...
...
@@ -208,8 +208,8 @@ public class SimplifyVisitor extends AbstractVisitor {
}
// end of if constructor is for StringBuilder
}
// end of if we found a constructor early in the chain
}
catch
(
Throwable
e
)
{
LOG
.
debug
(
"Can't convert string concatenation: {} insn: {}"
,
mth
,
insn
,
e
);
}
catch
(
Exception
e
)
{
LOG
.
warn
(
"Can't convert string concatenation: {} insn: {}"
,
mth
,
insn
,
e
);
}
}
return
null
;
...
...
jadx-core/src/main/java/jadx/core/utils/DebugUtils.java
浏览文件 @
7b4321ec
...
...
@@ -6,6 +6,7 @@ import java.util.LinkedHashSet;
import
java.util.List
;
import
java.util.Set
;
import
org.jetbrains.annotations.TestOnly
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -32,6 +33,7 @@ import jadx.core.utils.exceptions.CodegenException;
import
jadx.core.utils.exceptions.JadxRuntimeException
;
@Deprecated
@TestOnly
public
class
DebugUtils
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
DebugUtils
.
class
);
...
...
jadx-gui/build.gradle
浏览文件 @
7b4321ec
plugins
{
id
'edu.sc.seis.launch4j'
version
'2.4.
3
'
id
'com.github.johnrengelman.shadow'
version
'2.0.
2
'
id
'edu.sc.seis.launch4j'
version
'2.4.
4
'
id
'com.github.johnrengelman.shadow'
version
'2.0.
4
'
}
apply
plugin:
'application'
...
...
@@ -11,14 +11,14 @@ dependencies {
compile
(
project
(
":jadx-core"
))
compile
(
project
(
":jadx-cli"
))
compile
'com.fifesoft:rsyntaxtextarea:2.6.1'
compile
'com.google.code.gson:gson:2.8.
2
'
compile
'com.google.code.gson:gson:2.8.
5
'
compile
files
(
'libs/jfontchooser-1.0.5.jar'
)
compile
'hu.kazocsaba:image-viewer:1.2.3'
compile
'org.apache.commons:commons-lang3:3.7'
compile
'io.reactivex.rxjava2:rxjava:2.1.1
3
'
compile
"com.github.akarnokd:rxjava2-swing:0.2.1
2
"
compile
'io.reactivex.rxjava2:rxjava:2.1.1
4
'
compile
"com.github.akarnokd:rxjava2-swing:0.2.1
3
"
}
applicationDistribution
.
with
{
...
...
@@ -63,7 +63,6 @@ launch4j {
initialHeapPercent
=
5
maxHeapSize
=
4096
maxHeapPercent
=
70
}
test
{
...
...
jadx-gui/src/main/java/jadx/gui/ui/CodePanel.java
浏览文件 @
7b4321ec
...
...
@@ -30,7 +30,7 @@ class CodePanel extends ContentPanel {
add
(
searchBar
,
BorderLayout
.
NORTH
);
add
(
scrollPane
);
KeyStroke
key
=
KeyStroke
.
getKeyStroke
(
KeyEvent
.
VK_F
,
InputEvent
.
CTRL_MASK
);
KeyStroke
key
=
KeyStroke
.
getKeyStroke
(
KeyEvent
.
VK_F
,
InputEvent
.
CTRL_
DOWN_
MASK
);
Utils
.
addKeyBinding
(
codeArea
,
key
,
"SearchAction"
,
new
SearchAction
());
}
...
...
jadx-gui/src/main/java/jadx/gui/utils/TextStandardActions.java
浏览文件 @
7b4321ec
package
jadx.gui.utils
;
import
javax.swing.*
;
import
javax.swing.event.UndoableEditEvent
;
import
javax.swing.event.UndoableEditListener
;
import
javax.swing.text.JTextComponent
;
import
javax.swing.undo.UndoManager
;
import
java.awt.*
;
...
...
@@ -102,26 +100,22 @@ public class TextStandardActions {
}
private
void
addKeyActions
()
{
KeyStroke
undoKey
=
KeyStroke
.
getKeyStroke
(
KeyEvent
.
VK_Z
,
InputEvent
.
CTRL_MASK
);
KeyStroke
undoKey
=
KeyStroke
.
getKeyStroke
(
KeyEvent
.
VK_Z
,
InputEvent
.
CTRL_
DOWN_
MASK
);
textComponent
.
getInputMap
().
put
(
undoKey
,
undoAction
);
KeyStroke
redoKey
=
KeyStroke
.
getKeyStroke
(
KeyEvent
.
VK_R
,
InputEvent
.
CTRL_MASK
);
KeyStroke
redoKey
=
KeyStroke
.
getKeyStroke
(
KeyEvent
.
VK_R
,
InputEvent
.
CTRL_
DOWN_
MASK
);
textComponent
.
getInputMap
().
put
(
redoKey
,
redoAction
);
}
private
void
registerListeners
()
{
textComponent
.
addMouseListener
(
new
MouseAdapter
()
{
@Override
public
void
mouseReleased
(
MouseEvent
e
)
{
if
(
e
.
getModifiers
()
==
InputEvent
.
BUTTON3_MASK
&&
e
.
getSource
()
==
textComponent
)
{
if
(
e
.
getButton
()
==
3
&&
e
.
getSource
()
==
textComponent
)
{
process
(
e
);
}
}
});
textComponent
.
getDocument
().
addUndoableEditListener
(
new
UndoableEditListener
()
{
public
void
undoableEditHappened
(
UndoableEditEvent
event
)
{
undoManager
.
addEdit
(
event
.
getEdit
());
}
});
textComponent
.
getDocument
().
addUndoableEditListener
(
event
->
undoManager
.
addEdit
(
event
.
getEdit
()));
}
private
void
process
(
MouseEvent
e
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录