import
re
from
com.pnfsoftware.jeb.client.api
import
IScript, IGraphicalClientContext
from
com.pnfsoftware.jeb.core
import
RuntimeProjectUtil
from
com.pnfsoftware.jeb.core.actions
import
Actions, ActionContext, ActionCommentData, ActionXrefsData
from
com.pnfsoftware.jeb.core.events
import
JebEvent, J
from
com.pnfsoftware.jeb.core.output
import
AbstractUnitRepresentation, UnitRepresentationAdapter
from
com.pnfsoftware.jeb.core.units.code
import
ICodeUnit, ICodeItem
from
com.pnfsoftware.jeb.core.units.code.java
import
IJavaSourceUnit, IJavaStaticField, IJavaNewArray, IJavaConstant, IJavaCall, IJavaField, IJavaMethod, IJavaClass
face_sdk_classes
=
{
u
'旷视科技-034K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3#2W2k6%4k6A6K9g2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'com.megvii.facepp\S*'
,
u
'旷视科技-e5fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3#2W2k6%4k6A6K9g2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'com.megvii.idcardquality\S*'
,
u
'旷视科技-059K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3#2W2k6%4k6A6K9g2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'com.megvii.kas\S*'
,
u
'旷视科技-2b0K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3#2W2k6%4k6A6K9g2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'com.megvii.kassilentlive.sdk\S*'
,
u
'旷视科技-b89K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3#2W2k6%4k6A6K9g2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'megvii.openapi.access\S*'
,
u
'商汤科技-2cfK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4y4W2L8Y4y4W2N6r3W2E0k6g2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'com.sensetime.senseid.sdk\S*'
,
u
'平安科技-tech.pingan.com'
: r
'com.pingan.ai.face.entity\S*'
,
u
'平安科技-tech.pingan.com'
: r
'com.pingan.ai.face.manager\S*'
,
u
'科大讯飞-05bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3W2X3L8s2W2@1k6h3E0Q4x3X3g2U0L8$3#2Q4x3U0M7`.
: r
'com.iflytek.cloud.FaceRequest\S*'
,
u
'科大讯飞-84bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3W2X3L8s2W2@1k6h3E0Q4x3X3g2U0L8$3#2Q4x3U0M7`.
: r
'com.iflytek.cloud.FaceDetector\S*'
,
u
'海鑫科金-b4eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3S2A6M7$3W2Y4L8W2)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6t1%4
: r
'com.hisign.FaceSDK\S*'
,
u
'海鑫科金-b5bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3S2A6M7$3W2Y4L8W2)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6t1%4
: r
'com.hisign.facedetectv1small\S*'
,
u
'海鑫科金-3a2K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3S2A6M7$3W2Y4L8W2)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6t1%4
: r
'com.hisign.matching.UvcInputAPI\S*'
,
u
'爱莫科技-04eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3q4A6L8h3q4D9L8q4)9J5k6s2c8W2j5$3S2Q4x3X3g2U0L8$3#2Q4x3U0M7`.
: r
'com.aimall.sdk.faceactiondetector\S*'
,
u
'爱莫科技-980K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3q4A6L8h3q4D9L8q4)9J5k6s2c8W2j5$3S2Q4x3X3g2U0L8$3#2Q4x3U0M7`.
: r
'com.aimall.sdk.trackerdetector\S*'
,
u
'爱莫科技-d0dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3q4A6L8h3q4D9L8q4)9J5k6s2c8W2j5$3S2Q4x3X3g2U0L8$3#2Q4x3U0M7`.
: r
'com.aimall.core\S*'
,
u
'百度AI-811K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3q4A6i4K6u0W2j5X3q4A6k6s2g2Q4x3X3g2U0L8$3#2Q4x3U0M7`.
: r
'com.baidu.idl.facesdk\S*'
,
u
'杭州小孔成像-7f8K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3c8X3j5h3y4W2i4K6u0W2N6r3g2U0K9q4)9J5y4H3`.`.
: r
'com.dface.api.FaceDetect\S*'
,
u
'杭州小孔成像-7b4K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3c8X3j5h3y4W2i4K6u0W2N6r3g2U0K9q4)9J5y4H3`.`.
: r
'com.dface.api.FaceCompare\S*'
,
u
'杭州小孔成像-72aK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3c8X3j5h3y4W2i4K6u0W2N6r3g2U0K9q4)9J5y4H3`.`.
: r
'com.dface.api.FaceTrack\S*'
,
u
'杭州小孔成像-615K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3c8X3j5h3y4W2i4K6u0W2N6r3g2U0K9q4)9J5y4H3`.`.
: r
'com.dface.dto.LicenseInfoType\S*'
,
u
'中科视拓-65cK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4y4W2k6i4c8S2N6r3g2U0K9q4)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'com.seeta.sdk\S*'
,
u
'广州云从科技-fb8K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4D9L8%4g2V1N6$3q4D9K9#2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'cn.cloudwalk.FaceInterface\S*'
,
u
'广州云从科技-067K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4D9L8%4g2V1N6$3q4D9K9#2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'cn.cloudwalk.callback.FaceInfoCallback\S*'
,
u
'广州云从科技-af8K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4D9L8%4g2V1N6$3q4D9K9#2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'cn.cloudwalk.sdk.FaceInfo\S*'
,
u
'广州云从科技-e13K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4D9L8%4g2V1N6$3q4D9K9#2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'cn.cloudwalk.sdk.realtime.FaceInfoCallback\S*'
,
u
'广州云从科技-489K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4D9L8%4g2V1N6$3q4D9K9#2)9J5k6h3y4G2L8g2)9J5y4H3`.`.
: r
'cn.cloudwalk.libproject\S*'
,
u
'杭州虹软科技-a55K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3q4A6i4K6u0W2j5i4u0U0M7$3!0X3N6q4)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6t1%4
: r
'com.arcsoft.facetracking\S*'
,
u
'杭州虹软科技-7e2K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3q4A6i4K6u0W2j5i4u0U0M7$3!0X3N6q4)9J5k6h3y4G2L8g2)9J5k6h3y4F1i4K6t1%4
: r
'com.arcsoft.facerecognition\S*'
,
u
'FaceTec-dev.facetec.com/'
: r
'com.facetec.sdk.FaceTecSDK\S*'
,
u
'FaceTec-dev.facetec.com/'
: r
'com.facetec.sdk.FaceTecSessionStatus\S*'
,
u
'FaceTec-dev.facetec.com/'
: r
'com.facetec.sdk.FaceTecSDKStatus\S*'
,
u
'上海依图科技-b1fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6K9i4c8#2N6r3g2U0K9q4)9J5k6h3y4G2L8g2)9J5c8W2)9J5y4H3`.`.
: r
'com.yitutech.face\S*'
,
}
found_sdk
=
[]
class
FaceSdkDectect(IScript):
def
run(
self
, ctx):
global
face_sdk_classes
global
found_sdk
engctx
=
ctx.getEnginesContext()
if
not
engctx:
print
(
'Back-end engines not initialized'
)
return
projects
=
engctx.getProjects()
if
not
projects:
print
(
'There is no opened project'
)
return
project
=
projects[
0
]
print
(
'Decompiling code units of %s...'
%
project)
codeUnit
=
RuntimeProjectUtil.findUnitsByType(project, ICodeUnit,
False
)
for
unit
in
codeUnit:
classes
=
unit.getClasses()
for
cls
in
classes:
for
(key, value)
in
face_sdk_classes.items():
pattern
=
re.
compile
(value, re.I)
x
=
pattern.search(
str
(
cls
))
if
(x):
found_sdk.append(key)
found_sdk
=
list
(
set
(found_sdk))
print
(
"FaceSdkDectect ------------------------------------------------"
)
for
sdk
in
found_sdk:
print
(sdk.encode(
'utf-8'
, errors
=
'ignore'
).decode(
'utf-8'
))
print
(
"FaceSdkDectect ------------------------------------------------"
)