Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
E
Easy File Manager Junk
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
Easy File Manager Junk
Commits
26d4bfaf
Commit
26d4bfaf
authored
Jun 23, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+干掉混淆+和加密。
parent
64c94ed8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
0 additions
and
1989 deletions
+0
-1989
proguard.py
app/proguard.py
+0
-1815
AESHelper.kt
...src/main/java/com/base/easyfilemanager/helps/AESHelper.kt
+0
-61
AESTextView.kt
...c/main/java/com/base/easyfilemanager/helps/AESTextView.kt
+0
-16
BlackHelps.kt
...rc/main/java/com/base/easyfilemanager/helps/BlackHelps.kt
+0
-63
KotlinExt.kt
...src/main/java/com/base/easyfilemanager/helps/KotlinExt.kt
+0
-34
No files found.
app/proguard.py
deleted
100644 → 0
View file @
64c94ed8
This diff is collapsed.
Click to expand it.
app/src/main/java/com/base/easyfilemanager/helps/AESHelper.kt
deleted
100644 → 0
View file @
64c94ed8
package
com.base.easyfilemanager.helps
import
android.util.Base64
import
java.security.SecureRandom
import
javax.crypto.Cipher
import
javax.crypto.spec.GCMParameterSpec
import
javax.crypto.spec.SecretKeySpec
object
AESHelper
{
private
const
val
aesKey
=
"bt8n2r8wdqk30wcu"
private
val
cipher
by
lazy
{
Cipher
.
getInstance
(
"AES/GCM/NoPadding"
)
}
fun
encrypt
(
content
:
String
):
String
{
try
{
val
iv
=
ByteArray
(
12
).
apply
{
SecureRandom
().
nextBytes
(
this
)
}
val
contentBytes
=
content
.
toByteArray
(
Charsets
.
UTF_8
)
val
params
=
GCMParameterSpec
(
128
,
iv
)
cipher
.
init
(
Cipher
.
ENCRYPT_MODE
,
secretKey
,
params
)
val
encryptData
=
cipher
.
doFinal
(
contentBytes
)
assert
(
encryptData
.
size
==
contentBytes
.
size
+
16
)
val
message
=
ByteArray
(
12
+
contentBytes
.
size
+
16
)
System
.
arraycopy
(
iv
,
0
,
message
,
0
,
12
)
System
.
arraycopy
(
encryptData
,
0
,
message
,
12
,
encryptData
.
size
)
return
String
(
Base64
.
encode
(
message
,
Base64
.
NO_WRAP
),
Charsets
.
UTF_8
)
}
catch
(
_
:
Exception
)
{
}
return
content
}
@Synchronized
fun
decrypt
(
content
:
String
):
String
{
try
{
val
con
=
content
.
replace
(
" "
.
toRegex
(),
"+"
)
val
contentByte
=
Base64
.
decode
(
con
,
Base64
.
NO_WRAP
)
require
(
contentByte
.
size
>=
12
+
16
)
val
params
=
GCMParameterSpec
(
128
,
contentByte
,
0
,
12
)
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
secretKey
,
params
)
val
decryptData
=
cipher
.
doFinal
(
contentByte
,
12
,
contentByte
.
size
-
12
)
return
String
(
decryptData
,
Charsets
.
UTF_8
)
}
catch
(
_
:
Exception
)
{
}
return
content
}
private
val
secretKey
by
lazy
{
SecretKeySpec
(
aesKey
.
toByteArray
(),
"AES"
)
}
}
\ No newline at end of file
app/src/main/java/com/base/easyfilemanager/helps/AESTextView.kt
deleted
100644 → 0
View file @
64c94ed8
package
com.base.easyfilemanager.helps
import
android.content.Context
import
android.util.AttributeSet
import
com.noober.background.view.BLTextView
import
com.base.easyfilemanager.helps.KotlinExt.decode
class
AESTextView
@JvmOverloads
constructor
(
context
:
Context
,
attrs
:
AttributeSet
?
=
null
)
:
BLTextView
(
context
,
attrs
)
{
override
fun
setText
(
text
:
CharSequence
?,
type
:
BufferType
?)
{
super
.
setText
(
text
?.
toString
()
?.
run
{
decode
().
takeIf
{
it
!=
this
}
}
?:
text
,
type
)
}
}
\ No newline at end of file
app/src/main/java/com/base/easyfilemanager/helps/BlackHelps.kt
deleted
100644 → 0
View file @
64c94ed8
package
com.base.easyfilemanager.helps
object
BlackHelps
{
// private val url by lazy {
// val pkg = ConfigHelper.packageName
// val url = StringBuilder(
// "${ConfigHelper.apiUrl}/${
// pkg.filter { it.isLowerCase() }.substring(4, 9)
// }cl"
// )
// url.append("?pkg=$pkg")
// url.toString()
// }
//
// val client = OkHttpClient.Builder().apply {
// if (BuildConfig.DEBUG) {
// addInterceptor(HttpLoggingInterceptor().apply {
// level = HttpLoggingInterceptor.Level.BODY
// })
// }
// }.build()
// fun getBlackList() {
// val data = JSONObject()
// val pkg = BaseApplication.context.packageName
// val s = JSONObject()
//// .put("${pkg}_1", "${ScreenUtils.getScreenHeight()}")
//// .put("${pkg}_2", "${ScreenUtils.getScreenWidth()}")
//// .put("${pkg}_3", DeviceUtils.getModel())
// .put("${pkg}_4", Build.MANUFACTURER)
// .put("${pkg}_5", Build.VERSION.SDK_INT)
//// .put("${pkg}_8", AppUtils.getAppVersionName())
//// .put("${pkg}_9", DeviceUtils.getAndroidID())
// .put("${pkg}_10", ConfigHelper.gid)
// .put("${pkg}_11", System.getProperty("http.agent"))
// .put("${pkg}_13", "android")
// // .put("${pkg}_14", "${AppUtils.getAppVersionCode()}")
// .put("${pkg}_15", "google")
// .put("${pkg}_24", BuildConfig.BUILD_TYPE)
// data.put("bp", s)
// val body = AESHelper.encrypt(data.toString()).toRequestBody("application/json;charset=utf-8".toMediaTypeOrNull())
// val request = Request.Builder()
// .post(body)
// .url(url)
// .build()
// client.newCall(request).enqueue(object : Callback {
// override fun onFailure(call: Call, e: IOException) {
//
// }
//
// override fun onResponse(call: Call, response: Response) {
// response.body?.string()?.let {
// Regex("\"data\":\"(.*?)\"").find(it)!!.groupValues[1]
// }?.let { data2 ->
// val booleanS = AESHelper.decrypt(data2)
// AdmobUtils.isBlack = booleanS.contains("true")
// }
// }
// })
//
// }
}
\ No newline at end of file
app/src/main/java/com/base/easyfilemanager/helps/KotlinExt.kt
View file @
26d4bfaf
...
@@ -8,47 +8,13 @@ import java.util.Locale
...
@@ -8,47 +8,13 @@ import java.util.Locale
object
KotlinExt
{
object
KotlinExt
{
private
val
aesMap
=
mutableMapOf
<
Int
,
String
>()
fun
Int
.
string
(
vararg
arg
:
Any
)
=
try
{
(
aesMap
[
this
]
?:
BaseApplication
.
context
.
getString
(
this
).
decode
()).
run
{
aesMap
[
this
@string
]
=
this
String
.
format
(
this
,
*
arg
)
}
}
catch
(
_
:
Exception
)
{
""
}
fun
String
.
decode
()
=
AESHelper
.
decrypt
(
this
)
.
replace
(
"\\r"
,
"\r"
)
.
replace
(
"\\n"
,
"\n"
)
.
replace
(
"\\'"
,
"'"
)
.
replace
(
"\\\""
,
"\""
)
.
replace
(
"\\?"
,
"?"
)
.
replace
(
"&"
,
"&"
)
fun
Collection
<
View
>.
setOnClickListener
(
listener
:
(
View
)
->
Unit
)
{
fun
Collection
<
View
>.
setOnClickListener
(
listener
:
(
View
)
->
Unit
)
{
this
.
forEach
{
this
.
forEach
{
it
.
setOnClickListener
(
listener
)
it
.
setOnClickListener
(
listener
)
}
}
}
}
fun
View
.
setTrackedOnClickListener
(
action
:
(
view
:
View
)
->
Unit
)
{
setOnClickListener
{
action
(
this
)
var
view
:
View
?
=
this
while
(
view
!=
null
)
{
try
{
val
obj
=
JSONObject
()
obj
.
put
(
"view_id"
,
resources
.
getResourceEntryName
(
view
.
id
))
break
}
catch
(
_
:
Exception
)
{
view
=
view
.
parent
as
?
View
}
}
}
}
fun
Number
.
toFormatSize
(
count
:
Int
=
1
):
String
{
fun
Number
.
toFormatSize
(
count
:
Int
=
1
):
String
{
var
suffix
=
"B"
var
suffix
=
"B"
...
...
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