Commit 0503cb2a by luozhenzhen

防作弊项目提交

parents
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
mongodb
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="mongodb" />
</profile>
</annotationProcessing>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$" charset="UTF-8" />
</component>
</project>
\ No newline at end of file
<component name="libraryTable">
<library name="reyunCrypto">
<CLASSES>
<root url="jar://$USER_HOME$/Desktop/reyunCrypto.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="18e48efb-7a0f-47d3-aebf-afeded1a5206" name="Default" comment="" />
<ignored path="$PROJECT_DIR$/target/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="DatabaseView">
<option name="SHOW_INTERMEDIATE" value="true" />
<option name="GROUP_DATA_SOURCES" value="true" />
<option name="GROUP_SCHEMA" value="true" />
<option name="GROUP_CONTENTS" value="false" />
<option name="SORT_POSITIONED" value="false" />
<option name="SHOW_EMPTY_GROUPS" value="false" />
<option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
<option name="HIDDEN_KINDS">
<set />
</option>
<expand />
<select />
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="SpecialSecret.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/common/SpecialSecret.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="390">
<caret line="15" column="5" selection-start-line="15" selection-start-column="5" selection-end-line="15" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Algorithm.class" pinned="false" current-in-tab="false">
<entry file="jar://$USER_HOME$/Desktop/reyunCrypto.jar!/com/reyun/Algorithm.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="152">
<caret line="50" column="23" selection-start-line="50" selection-start-column="23" selection-end-line="50" selection-end-column="23" />
<folding>
<element signature="e#1409#1410#0" expanded="true" />
<element signature="e#1447#1448#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="DevicecheatController.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/DevicecheatController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="376">
<caret line="35" column="40" selection-start-line="35" selection-start-column="30" selection-end-line="35" selection-end-column="40" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="DeviceService.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/service/DeviceService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="145">
<caret line="119" column="23" selection-start-line="119" selection-start-column="23" selection-end-line="119" selection-end-column="23" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Application.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/Application.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="208">
<caret line="11" column="61" selection-start-line="11" selection-start-column="61" selection-end-line="11" selection-end-column="61" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="DataImportController.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/DataImportController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="358">
<caret line="308" column="40" selection-start-line="308" selection-start-column="40" selection-end-line="308" selection-end-column="40" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="application.properties" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/resources/application.properties">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="26" selection-start-column="26" selection-end-column="26" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="application-prod.properties" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.properties">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="182">
<caret line="7" column="28" selection-start-line="7" selection-start-column="28" selection-end-line="7" selection-end-column="28" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="加密库移植服务器" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/doc/加密库移植服务器">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="11" column="11" selection-start-line="11" selection-start-column="11" selection-end-line="11" selection-end-column="11" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="application-dev.properties" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.properties">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Class" />
</list>
</option>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>/api</find>
<find>/data/application</find>
<find>27017</find>
<find>dllPath</find>
</findStrings>
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/RiskDirDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/RiskFileDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/RiskApp.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/RiskDir.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/RiskFile.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/Secret.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/UpdateInfo.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/DeviceConf.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/DeviceInfoAndroid.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/DeviceInfoIos.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/RiskApp.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/RiskDir.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/RiskFile.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/DeviceConf.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/bak/DeviceConfDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/DeviceConfDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/UpdateInfo.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/bak/DeviceInfoIosDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/bak/RiskAppDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/bak/RiskDirDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/bak/RiskFileDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/DeviceInfoDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/DeviceInfo.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/SensorInfo.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/bak/SensorInfoAndroidDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/bak/SensorInfoIosDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/dto/DeviceConfDataDto.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/SensorInfoIos.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/SensorInfoAndroid.java" />
<option value="$PROJECT_DIR$/src/main/java/com/Algorithm.java" />
<option value="$PROJECT_DIR$/src/main/java/Algorithm.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/constant/OSEnum.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/SecretDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/UpdateInfoDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/dao/bak/UpdateInfoDao.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/util/Algorithm.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/util/DllAddUtil.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/mongodb/DevicecheatController.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/entity/vo/common/BaseParam.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/util/SecretUtil.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/util/DeformedBase64.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/util/RSAUtil.java" />
<option value="$PROJECT_DIR$/pom.xml" />
<option value="$PROJECT_DIR$/src/main/java/com/Application.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/mongodb/IndexController.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/service/DeviceService.java" />
<option value="$PROJECT_DIR$/src/main/resources/application.properties" />
<option value="$PROJECT_DIR$/src/main/resources/application-prod.properties" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/common/SpecialSecret.java" />
<option value="$PROJECT_DIR$/src/main/java/com/demo/mongodb/DataImportController.java" />
<option value="$PROJECT_DIR$/doc/加密库移植服务器" />
</list>
</option>
</component>
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsGulpfileManager">
<detection-done>true</detection-done>
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="NodePackageJsonFileManager">
<packageJsonPaths />
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="1912" />
<option name="y" value="-8" />
<option name="width" value="1936" />
<option name="height" value="1056" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="mongodb" type="b2602c69:ProjectViewProjectNode" />
<item name="mongodb-demo" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="mongodb" type="b2602c69:ProjectViewProjectNode" />
<item name="mongodb-demo" type="462c0819:PsiDirectoryNode" />
<item name="doc" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="mongodb" type="b2602c69:ProjectViewProjectNode" />
<item name="mongodb-demo" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
<pane id="PackagesPane" />
<pane id="AndroidView" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="project.structure.last.edited" value="Libraries" />
<property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.2" />
</component>
<component name="RecentsManager">
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
<recent name="" />
</key>
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\eclipseWorkSpace\mongodb-demo\src\main\resources" />
<recent name="C:\eclipseWorkSpace\mongodb-demo\lib" />
<recent name="C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\mongodb" />
<recent name="C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\util" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="com" />
<recent name="com.demo.dao.bak" />
<recent name="com.demo.entity.po.bak" />
<recent name="com.demo.dao" />
<recent name="com.demo.util" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\eclipseWorkSpace\mongodb-demo\src\main\resources" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager" selected="Application.Application">
<configuration name="Application" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.Application" />
<module name="mongodb" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value=".*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
</configuration>
<configuration name="DataImportController" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.demo.mongodb.DataImportController" />
<module name="mongodb" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.demo.mongodb.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
</configuration>
<configuration name="RSAUtil" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.demo.util.RSAUtil" />
<module name="mongodb" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.demo.util.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
</configuration>
<configuration name="SecretUtil" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.demo.util.SecretUtil" />
<module name="mongodb" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.demo.util.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
</configuration>
<configuration name="SpecialSecret" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.demo.common.SpecialSecret" />
<module name="mongodb" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.demo.common.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<patterns />
</configuration>
<configuration default="true" type="TestNG" factoryName="TestNG">
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SUITE_NAME" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="GROUP_NAME" />
<option name="TEST_OBJECT" value="CLASS" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
<option name="OUTPUT_DIRECTORY" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<option name="USE_DEFAULT_REPORTERS" value="false" />
<option name="PROPERTIES_FILE" />
<properties />
<listeners />
</configuration>
<list>
<item itemvalue="Application.Application" />
<item itemvalue="Application.SecretUtil" />
<item itemvalue="Application.RSAUtil" />
<item itemvalue="Application.DataImportController" />
<item itemvalue="Application.SpecialSecret" />
</list>
<recent_temporary>
<list>
<item itemvalue="Application.Application" />
<item itemvalue="Application.SecretUtil" />
<item itemvalue="Application.SpecialSecret" />
<item itemvalue="Application.RSAUtil" />
<item itemvalue="Application.DataImportController" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="18e48efb-7a0f-47d3-aebf-afeded1a5206" name="Default" comment="" />
<created>1561949877037</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1561949877037</updated>
<workItem from="1561949882139" duration="5065000" />
<workItem from="1563954054139" duration="42992000" />
<workItem from="1564368207760" duration="44769000" />
<workItem from="1564549341125" duration="30721000" />
<workItem from="1565231529369" duration="10215000" />
<workItem from="1565765156309" duration="606000" />
<workItem from="1565767090377" duration="604000" />
<workItem from="1565768422117" duration="9699000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="144671000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="1912" y="-8" width="1936" height="1056" extended-state="6" />
<editor active="true" />
<layout>
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="bottom" id="Event Log" order="13" sideWeight="0.50053304" side_tool="true" weight="0.43847874" />
<window_info anchor="right" id="Maven Projects" order="8" />
<window_info anchor="bottom" id="Database Changes" order="11" show_stripe_button="false" />
<window_info id="Capture Tool" order="7" />
<window_info id="Designer" order="2" />
<window_info anchor="right" id="Database" order="9" side_tool="true" weight="0.32995737" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info id="UI Designer" order="4" />
<window_info anchor="bottom" id="Debug" order="3" sideWeight="0.49946696" weight="0.24859813" />
<window_info anchor="bottom" id="TODO" order="6" weight="0.32997763" />
<window_info anchor="bottom" id="Messages" order="9" weight="0.32885906" />
<window_info anchor="right" id="Palette&#9;" order="5" />
<window_info id="Image Layers" order="3" />
<window_info anchor="bottom" id="Java Enterprise" order="10" />
<window_info anchor="right" id="Capture Analysis" order="4" />
<window_info anchor="bottom" id="Version Control" order="12" show_stripe_button="false" />
<window_info anchor="bottom" id="Run" order="2" weight="0.45861298" />
<window_info anchor="bottom" id="Spring" order="7" weight="0.32997763" />
<window_info anchor="bottom" id="Terminal" order="8" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.3555437" />
<window_info anchor="right" id="Bean Validation" order="7" />
<window_info id="Web" order="6" side_tool="true" />
<window_info anchor="bottom" id="Find" order="1" weight="0.4295302" />
<window_info anchor="right" id="Theme Preview" order="6" />
<window_info id="Favorites" order="5" side_tool="true" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
</layout>
<layout-to-restore>
<window_info id="Designer" order="2" />
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="bottom" id="Run" order="2" weight="0.45861298" />
<window_info anchor="bottom" id="Spring" order="7" weight="0.32997763" />
<window_info id="Image Layers" order="3" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info id="UI Designer" order="4" />
<window_info id="Favorites" order="5" side_tool="true" />
<window_info anchor="bottom" id="Terminal" order="8" />
<window_info id="Capture Tool" order="7" />
<window_info anchor="right" id="Capture Analysis" order="4" />
<window_info anchor="bottom" id="Event Log" order="13" sideWeight="0.50053304" side_tool="true" weight="0.43847874" />
<window_info anchor="bottom" id="Messages" order="9" weight="0.32885906" />
<window_info anchor="bottom" id="TODO" order="6" weight="0.32997763" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="bottom" id="Java Enterprise" order="10" />
<window_info anchor="bottom" id="Database Changes" order="11" show_stripe_button="false" />
<window_info anchor="bottom" id="Version Control" order="12" show_stripe_button="false" />
<window_info anchor="right" id="Maven Projects" order="8" />
<window_info anchor="bottom" id="Find" order="1" weight="0.4295302" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.3555437" />
<window_info anchor="right" id="Database" order="9" side_tool="true" weight="0.32995737" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info id="Web" order="6" side_tool="true" />
<window_info anchor="right" id="Palette&#9;" order="5" />
<window_info anchor="right" id="Theme Preview" order="6" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="Debug" order="3" sideWeight="0.49946696" weight="0.24859813" />
<window_info anchor="right" id="Bean Validation" order="7" />
</layout-to-restore>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/MongodbController.java</url>
<line>33</line>
<properties />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/entity/User.java</url>
<line>6</line>
<properties />
<option name="timeStamp" value="1" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/DevicecheatController.java</url>
<line>91</line>
<properties />
<option name="timeStamp" value="3" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/service/DeviceService.java</url>
<line>78</line>
<properties />
<option name="timeStamp" value="12" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/DataImportController.java</url>
<line>1556</line>
<properties />
<option name="timeStamp" value="15" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/DevicecheatController.java</url>
<line>38</line>
<properties />
<option name="timeStamp" value="17" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/service/DeviceService.java</url>
<line>114</line>
<properties />
<option name="timeStamp" value="18" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/util/DllAddUtil.java</url>
<line>15</line>
<properties />
<option name="timeStamp" value="29" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/common/SpecialSecret.java</url>
<line>111</line>
<properties />
<option name="timeStamp" value="31" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/common/SpecialSecret.java</url>
<line>114</line>
<properties />
<option name="timeStamp" value="32" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/common/SpecialSecret.java</url>
<line>90</line>
<properties />
<option name="timeStamp" value="34" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>jar://C:/workByMyself/jdk1.8/src.zip!/java/lang/ClassLoader.java</url>
<line>1852</line>
<properties />
<option name="timeStamp" value="35" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/common/SpecialSecret.java</url>
<line>38</line>
<properties />
<option name="timeStamp" value="38" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/service/DeviceService.java</url>
<line>332</line>
<properties />
<option name="timeStamp" value="39" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/service/DeviceService.java</url>
<line>140</line>
<properties />
<option name="timeStamp" value="40" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/service/DeviceService.java</url>
<line>159</line>
<properties />
<option name="timeStamp" value="41" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/service/DeviceService.java</url>
<line>179</line>
<properties />
<option name="timeStamp" value="42" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/IndexController.java</url>
<line>23</line>
<properties />
<option name="timeStamp" value="44" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/common/SpecialSecret.java</url>
<line>54</line>
<properties />
<option name="timeStamp" value="45" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/DataImportController.java</url>
<line>313</line>
<properties />
<option name="timeStamp" value="46" />
</line-breakpoint>
</breakpoints>
<option name="time" value="47" />
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/dto/SoftDto.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="520">
<caret line="26" lean-forward="true" selection-start-line="26" selection-end-line="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/po/SensorInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="281">
<caret line="18" column="11" selection-start-line="18" selection-start-column="11" selection-end-line="18" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/dao/bak/SensorInfoAndroidDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="442">
<caret line="17" column="3" lean-forward="true" selection-end-line="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/dao/bak/SensorInfoIosDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="494">
<caret line="19" lean-forward="true" selection-end-line="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/SensorInfoIos.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="312">
<caret line="12" column="30" lean-forward="true" selection-end-line="241" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/SensorInfoAndroid.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="183">
<caret line="12" column="15" selection-end-line="204" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/dto/DeviceConfDataDto.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="312">
<caret line="12" column="19" selection-start-line="12" selection-start-column="19" selection-end-line="12" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/util/Algorithm.java" />
<entry file="jar://C:/workByMyself/jdk1.8/src.zip!/java/util/Base64.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1122">
<caret line="576" column="48" selection-start-line="576" selection-start-column="45" selection-end-line="576" selection-end-column="48" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/vo/DeviceIdVo.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="182">
<caret line="7" column="38" selection-start-line="7" selection-start-column="38" selection-end-line="7" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/dao/DeviceInfoDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="338">
<caret line="14" column="39" selection-start-line="14" selection-start-column="39" selection-end-line="14" selection-end-column="39" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/dao/SecretDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="16" column="66" selection-start-line="16" selection-start-column="66" selection-end-line="16" selection-end-column="66" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/po/bak/UpdateInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="208">
<caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/dao/bak/UpdateInfoDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="156">
<caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/dao/SensorInfoDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="234">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="jar://C:/workByMyself/jdk1.8/src.zip!/java/lang/SecurityManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="194">
<caret line="830" column="16" selection-start-line="830" selection-start-column="16" selection-end-line="830" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/po/Secret.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="454">
<caret line="50" column="18" selection-start-line="50" selection-start-column="18" selection-end-line="50" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="jar://C:/workByMyself/jdk1.8/src.zip!/java/lang/reflect/Field.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="194">
<caret line="754" column="30" selection-start-line="754" selection-start-column="27" selection-end-line="754" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="jar://C:/workByMyself/jdk1.8/src.zip!/java/lang/Thread.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="48854">
<caret line="1958" selection-start-line="1958" selection-end-line="1958" />
</state>
</provider>
</entry>
<entry file="jar://C:/workByMyself/jdk1.8/src.zip!/java/lang/System.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="27742">
<caret line="1121" column="37" selection-start-line="1121" selection-start-column="37" selection-end-line="1121" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="jar://C:/workByMyself/jdk1.8/src.zip!/java/lang/Runtime.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="21710">
<caret line="869" column="27" selection-start-line="869" selection-start-column="27" selection-end-line="869" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="jar://C:/workByMyself/jdk1.8/src.zip!/java/lang/ClassLoader.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="46410">
<caret line="1864" column="9" selection-start-line="1864" selection-start-column="9" selection-end-line="1864" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/vo/DeviceConfVo.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="182">
<caret line="7" column="39" selection-start-line="7" selection-start-column="39" selection-end-line="7" selection-end-column="39" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/vo/common/BaseParam.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="962">
<caret line="37" column="52" selection-start-line="37" selection-start-column="52" selection-end-line="37" selection-end-column="52" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/util/RSAUtil.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2964">
<caret line="125" column="7" lean-forward="true" selection-start-line="102" selection-start-column="5" selection-end-line="125" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/MongodbController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-234">
<folding>
<element signature="e#0#2942#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.m2/repository/org/springframework/spring-web/4.3.2.RELEASE/spring-web-4.3.2.RELEASE.jar!/org/springframework/web/method/support/InvocableHandlerMethod.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="158">
<caret line="137" selection-start-line="137" selection-end-line="137" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/IndexController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="624">
<caret line="29" column="30" selection-start-line="29" selection-end-line="30" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/keystore.p12_linux_test">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/util/DeformedBase64.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2263">
<caret line="322" column="7" selection-start-line="315" selection-start-column="4" selection-end-line="322" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/util/DllAddUtil.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="364">
<caret line="15" selection-start-line="15" selection-end-line="15" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/util/ResultObject.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="104">
<caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/constant/OSEnum.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="52">
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/constant/ResultStatus.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="52">
<caret line="2" column="12" selection-start-line="2" selection-start-column="12" selection-end-line="2" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/dao/DeviceConfDao.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="312">
<caret line="17" selection-start-line="17" selection-end-line="17" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pom.xml">
<provider editor-type-id="MavenHelperPluginDependencyAnalyzer" />
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="780">
<caret line="30" column="20" selection-start-line="27" selection-start-column="6" selection-end-line="30" selection-end-column="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/util/Algorithm.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="78">
<caret line="3" column="13" selection-start-line="3" selection-start-column="13" selection-end-line="3" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/entity/po/DeviceInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="364">
<caret line="14" column="11" selection-start-line="14" selection-start-column="11" selection-end-line="14" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="jar://C:/workByMyself/jdk1.8/jre/lib/jce.jar!/javax/crypto/KeyGenerator.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="289">
<caret line="66" column="37" selection-start-line="66" selection-start-column="37" selection-end-line="66" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/util/SecretUtil.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="520">
<caret line="25" column="36" selection-start-line="25" selection-start-column="36" selection-end-line="25" selection-end-column="36" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/DevicecheatController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="376">
<caret line="35" column="40" selection-start-line="35" selection-start-column="30" selection-end-line="35" selection-end-column="40" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/Application.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="208">
<caret line="11" column="61" selection-start-line="11" selection-start-column="61" selection-end-line="11" selection-end-column="61" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/application-dev.properties">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/keystore.p12">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/application.properties">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="26" selection-start-column="26" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/service/DeviceService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="145">
<caret line="119" column="23" selection-start-line="119" selection-start-column="23" selection-end-line="119" selection-end-column="23" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/Desktop/reyunCrypto.jar!/com/reyun/Algorithm.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="152">
<caret line="50" column="23" selection-start-line="50" selection-start-column="23" selection-end-line="50" selection-end-column="23" />
<folding>
<element signature="e#1409#1410#0" expanded="true" />
<element signature="e#1447#1448#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/common/SpecialSecret.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="390">
<caret line="15" column="5" selection-start-line="15" selection-start-column="5" selection-end-line="15" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/demo/mongodb/DataImportController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="358">
<caret line="308" column="40" selection-start-line="308" selection-start-column="40" selection-end-line="308" selection-end-column="40" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/application-prod.properties">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="182">
<caret line="7" column="28" selection-start-line="7" selection-start-column="28" selection-end-line="7" selection-end-column="28" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/doc/加密库移植服务器">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="11" column="11" selection-start-line="11" selection-start-column="11" selection-end-line="11" selection-end-column="11" />
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>
<state key="ArtifactsStructureConfigurable.UI">
<settings>
<artifact-editor />
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="FacetStructureConfigurable.UI">
<settings>
<last-edited>Spring</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="GlobalLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="JdkListConfigurable.UI">
<settings>
<last-edited>1.8</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ModuleStructureConfigurable.UI">
<settings>
<last-edited>mongodb</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
<option value="0.6" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectJDKs.UI">
<settings>
<last-edited>1.8</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectLibrariesConfigurable.UI">
<settings>
<last-edited>reyunCrypto</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>springboot</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/java/com/mao2080/T.java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/test/java=UTF-8
encoding//src/test/resources=UTF-8
encoding/<project>=UTF-8
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
## 在服务器上重新编译openssl
## 在服务器上重新编译openssl
参考[Linux系统下编译Openssl](https://www.jianshu.com/p/4328c3675389)
1. 把编译好的libcrypto.a替换加密库libs/下相同的文件
2. 将openssl生成目录下的include/openssl替换加密库的include/openssl
## 确保服务器的libstdc++.so.xx ;xx在24以上
没有可以在网上下载一个
\ No newline at end of file
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffbccfa2602, pid=6240, tid=0x0000000000001de8
#
# JRE version: Java(TM) SE Runtime Environment (8.0_162-b12) (build 1.8.0_162-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.162-b12 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [crypto.dll+0x2602]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0x0000000003084800): JavaThread "main" [_thread_in_native, id=7656, stack(0x0000000002df0000,0x0000000002ef0000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000de7000
Registers:
RAX=0x0000000000000000, RBX=0x0000000000000001, RCX=0x0000000000000001, RDX=0x00000000000be72f
RSP=0x0000000002eef120, RBP=0x000000009ab2644e, RSI=0x0000000000000000, RDI=0x0000000002eef2b0
R8 =0x0000000000d7a1d0, R9 =0x0000000000000041, R10=0x00000000ffffffff, R11=0x0000000002eeefe0
R12=0x0000000000000000, R13=0x0000000000000000, R14=0x0000000000de7000, R15=0x0000000000000000
RIP=0x00007ffbccfa2602, EFLAGS=0x0000000000010286
Top of Stack: (sp=0x0000000002eef120)
0x0000000002eef120: 0000000002eef2b0 0000000000dd8a2e
0x0000000002eef130: 0000000000000052 0000000000000001
0x0000000002eef140: d995f52e00000001 fffffffffffffffe
0x0000000002eef150: 0000000003084800 0000000000000000
0x0000000002eef160: 0000000017683878 0000000000000000
0x0000000002eef170: 0000000000d79694 00000000030849f8
0x0000000002eef180: 0000000002eef290 00007ffbccfa20fb
0x0000000002eef190: 0000000002eef2b0 0000000002eef2b0
0x0000000002eef1a0: 0000000002000000 0000000000000000
0x0000000002eef1b0: 0000000002eef310 00007ffbccfa3f90
0x0000000002eef1c0: fffffffffffffffe 00000000000003d8
0x0000000002eef1d0: 0000000000000020 00000000191ac540
0x0000000002eef1e0: 0000000000000000 000000000000000c
0x0000000002eef1f0: 0000000000000000 000000000000000f
0x0000000002eef200: 00000000030849f8 0000000002eef600
0x0000000002eef210: 00000000191ac540 0000000002eef280
Instructions: (pc=0x00007ffbccfa2602)
0x00007ffbccfa25e2: 24 20 01 00 00 00 8b de 45 85 c0 0f 84 47 02 00
0x00007ffbccfa25f2: 00 8b ce 66 66 66 0f 1f 84 00 00 00 00 00 ff cd
0x00007ffbccfa2602: 41 0f b6 06 88 84 0c 80 00 00 00 ff c3 48 ff c1
0x00007ffbccfa2612: 4d 8d 76 01 44 0f b6 ac 24 82 00 00 00 44 0f b6
Register to memory mapping:
RAX=0x0000000000000000 is an unknown value
RBX=0x0000000000000001 is an unknown value
RCX=0x0000000000000001 is an unknown value
RDX=0x00000000000be72f is an unknown value
RSP=0x0000000002eef120 is pointing into the stack for thread: 0x0000000003084800
RBP=0x000000009ab2644e is an unallocated location in the heap
RSI=0x0000000000000000 is an unknown value
RDI=0x0000000002eef2b0 is pointing into the stack for thread: 0x0000000003084800
R8 =0x0000000000d7a1d0 is an unknown value
R9 =0x0000000000000041 is an unknown value
R10=0x00000000ffffffff is an unallocated location in the heap
R11=0x0000000002eeefe0 is pointing into the stack for thread: 0x0000000003084800
R12=0x0000000000000000 is an unknown value
R13=0x0000000000000000 is an unknown value
R14=0x0000000000de7000 is an unknown value
R15=0x0000000000000000 is an unknown value
Stack: [0x0000000002df0000,0x0000000002ef0000], sp=0x0000000002eef120, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [crypto.dll+0x2602]
C [crypto.dll+0x20fb]
C 0x0000000003198c67
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.demo.util.Algorithm.aes256Decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+0
j com.demo.common.SpecialSecret.main([Ljava/lang/String;)V+75
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x0000000019254800 JavaThread "Service Thread" daemon [_thread_blocked, id=8688, stack(0x0000000019980000,0x0000000019a80000)]
0x00000000191af800 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=16332, stack(0x0000000019880000,0x0000000019980000)]
0x00000000191ae800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=3964, stack(0x0000000019780000,0x0000000019880000)]
0x00000000191aa800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=4640, stack(0x0000000019680000,0x0000000019780000)]
0x0000000019193800 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=2824, stack(0x0000000019580000,0x0000000019680000)]
0x0000000017c7e800 JavaThread "Attach Listener" daemon [_thread_blocked, id=1856, stack(0x0000000019480000,0x0000000019580000)]
0x0000000017c32800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6680, stack(0x0000000019380000,0x0000000019480000)]
0x000000000317e000 JavaThread "Finalizer" daemon [_thread_blocked, id=16060, stack(0x0000000018e80000,0x0000000018f80000)]
0x0000000017be9000 JavaThread "Reference Handler" daemon [_thread_blocked, id=16160, stack(0x0000000018d80000,0x0000000018e80000)]
=>0x0000000003084800 JavaThread "main" [_thread_in_native, id=7656, stack(0x0000000002df0000,0x0000000002ef0000)]
Other Threads:
0x0000000017be8000 VMThread [stack: 0x0000000018c80000,0x0000000018d80000] [id=15236]
0x0000000019336800 WatcherThread [stack: 0x0000000019a80000,0x0000000019b80000] [id=13284]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap:
PSYoungGen total 37888K, used 4076K [0x00000000d6300000, 0x00000000d8d00000, 0x0000000100000000)
eden space 32768K, 12% used [0x00000000d6300000,0x00000000d66fb008,0x00000000d8300000)
from space 5120K, 0% used [0x00000000d8800000,0x00000000d8800000,0x00000000d8d00000)
to space 5120K, 0% used [0x00000000d8300000,0x00000000d8300000,0x00000000d8800000)
ParOldGen total 86016K, used 0K [0x0000000082800000, 0x0000000087c00000, 0x00000000d6300000)
object space 86016K, 0% used [0x0000000082800000,0x0000000082800000,0x0000000087c00000)
Metaspace used 3474K, capacity 4500K, committed 4864K, reserved 1056768K
class space used 375K, capacity 388K, committed 512K, reserved 1048576K
Card table byte_map: [0x0000000012540000,0x0000000012930000] byte_map_base: 0x000000001212c000
Marking Bits: (ParMarkBitMap*) 0x0000000076800860
Begin Bits: [0x0000000012fd0000, 0x0000000014f30000)
End Bits: [0x0000000014f30000, 0x0000000016e90000)
Polling page: 0x00000000009f0000
CodeCache: size=245760Kb used=1173Kb max_used=1180Kb free=244586Kb
bounds [0x0000000003180000, 0x00000000033f0000, 0x0000000012180000]
total_blobs=303 nmethods=45 adapters=171
compilation: enabled
Compilation events (10 events):
Event: 0.229 Thread 0x00000000191af800 nmethod 41 0x00000000032a0a50 code [0x00000000032a0c00, 0x00000000032a1250]
Event: 0.229 Thread 0x00000000191af800 42 3 java.lang.System::getSecurityManager (4 bytes)
Event: 0.229 Thread 0x00000000191af800 nmethod 42 0x00000000032a2510 code [0x00000000032a2660, 0x00000000032a2790]
Event: 0.229 Thread 0x00000000191af800 43 3 java.nio.Buffer::checkIndex (22 bytes)
Event: 0.229 Thread 0x00000000191af800 nmethod 43 0x00000000032a03d0 code [0x00000000032a0540, 0x00000000032a0788]
Event: 0.229 Thread 0x00000000191af800 44 3 java.nio.DirectLongBufferU::ix (10 bytes)
Event: 0.230 Thread 0x00000000191af800 nmethod 44 0x00000000032a56d0 code [0x00000000032a5820, 0x00000000032a5990]
Event: 0.231 Thread 0x00000000191aa800 nmethod 40 0x00000000032a4c50 code [0x00000000032a4da0, 0x00000000032a4f98]
Event: 0.232 Thread 0x00000000191af800 45 3 java.lang.String::indexOf (7 bytes)
Event: 0.232 Thread 0x00000000191af800 nmethod 45 0x00000000032a8410 code [0x00000000032a8580, 0x00000000032a8788]
GC Heap History (0 events):
No events
Deoptimization events (0 events):
No events
Classes redefined (0 events):
No events
Internal exceptions (2 events):
Event: 0.056 Thread 0x0000000003084800 Exception <a 'java/lang/NoSuchMethodError': Method sun.misc.Unsafe.defineClass(Ljava/lang/String;[BII)Ljava/lang/Class; name or signature does not match> (0x00000000d6307ca0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u162\10278\hotspot
Event: 0.056 Thread 0x0000000003084800 Exception <a 'java/lang/NoSuchMethodError': Method sun.misc.Unsafe.prefetchRead(Ljava/lang/Object;J)V name or signature does not match> (0x00000000d6307f88) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u162\10278\hotspot\src\share\vm\prim
Events (10 events):
Event: 0.231 loading class sun/net/NetProperties
Event: 0.231 loading class sun/net/NetProperties done
Event: 0.231 loading class sun/net/NetProperties$1
Event: 0.231 loading class sun/net/NetProperties$1 done
Event: 0.231 loading class java/net/URI
Event: 0.232 loading class java/net/URI done
Event: 0.232 loading class java/net/URI$Parser
Event: 0.232 loading class java/net/URI$Parser done
Event: 0.232 loading class sun/net/spi/DefaultProxySelector$NonProxyInfo
Event: 0.232 loading class sun/net/spi/DefaultProxySelector$NonProxyInfo done
Dynamic libraries:
0x00007ff6abc50000 - 0x00007ff6abc87000 C:\workByMyself\jdk1.8\bin\java.exe
0x00007ffc02960000 - 0x00007ffc02b4d000 C:\WINDOWS\SYSTEM32\ntdll.dll
0x00007ffc001d0000 - 0x00007ffc00283000 C:\WINDOWS\System32\KERNEL32.DLL
0x00007ffbff830000 - 0x00007ffbffac3000 C:\WINDOWS\System32\KERNELBASE.dll
0x00007ffc00290000 - 0x00007ffc00333000 C:\WINDOWS\System32\ADVAPI32.dll
0x00007ffc01940000 - 0x00007ffc019de000 C:\WINDOWS\System32\msvcrt.dll
0x00007ffc00370000 - 0x00007ffc0040e000 C:\WINDOWS\System32\sechost.dll
0x00007ffbffb90000 - 0x00007ffbffcb2000 C:\WINDOWS\System32\RPCRT4.dll
0x00007ffbffdb0000 - 0x00007ffbfff47000 C:\WINDOWS\System32\USER32.dll
0x00007ffbfeee0000 - 0x00007ffbfef00000 C:\WINDOWS\System32\win32u.dll
0x00007ffc00410000 - 0x00007ffc00439000 C:\WINDOWS\System32\GDI32.dll
0x00007ffbfeab0000 - 0x00007ffbfec49000 C:\WINDOWS\System32\gdi32full.dll
0x00007ffbffad0000 - 0x00007ffbffb70000 C:\WINDOWS\System32\msvcp_win.dll
0x00007ffbff6e0000 - 0x00007ffbff7da000 C:\WINDOWS\System32\ucrtbase.dll
0x00007ffbf0dd0000 - 0x00007ffbf1049000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.615_none_05b4414a072024d4\COMCTL32.dll
0x00007ffc02250000 - 0x00007ffc0257c000 C:\WINDOWS\System32\combase.dll
0x00007ffbfea30000 - 0x00007ffbfeaae000 C:\WINDOWS\System32\bcryptPrimitives.dll
0x00007ffc00340000 - 0x00007ffc0036e000 C:\WINDOWS\System32\IMM32.DLL
0x0000000077390000 - 0x0000000077461000 C:\workByMyself\jdk1.8\jre\bin\msvcr100.dll
0x0000000075fe0000 - 0x0000000076880000 C:\workByMyself\jdk1.8\jre\bin\server\jvm.dll
0x00007ffc01b50000 - 0x00007ffc01b58000 C:\WINDOWS\System32\PSAPI.DLL
0x00007ffbe99b0000 - 0x00007ffbe99b9000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
0x00007ffc028c0000 - 0x00007ffc0292d000 C:\WINDOWS\System32\WS2_32.dll
0x00007ffbf6690000 - 0x00007ffbf669a000 C:\WINDOWS\SYSTEM32\VERSION.dll
0x00007ffbfaf00000 - 0x00007ffbfaf24000 C:\WINDOWS\SYSTEM32\WINMM.dll
0x00007ffbfadc0000 - 0x00007ffbfaded000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll
0x00007ffbff7e0000 - 0x00007ffbff82a000 C:\WINDOWS\System32\cfgmgr32.dll
0x0000000077380000 - 0x000000007738f000 C:\workByMyself\jdk1.8\jre\bin\verify.dll
0x0000000077350000 - 0x0000000077379000 C:\workByMyself\jdk1.8\jre\bin\java.dll
0x0000000077190000 - 0x00000000771b3000 C:\workByMyself\jdk1.8\jre\bin\instrument.dll
0x0000000077330000 - 0x0000000077346000 C:\workByMyself\jdk1.8\jre\bin\zip.dll
0x00007ffc00440000 - 0x00007ffc01930000 C:\WINDOWS\System32\SHELL32.dll
0x00007ffc00120000 - 0x00007ffc001c8000 C:\WINDOWS\System32\shcore.dll
0x00007ffbfef00000 - 0x00007ffbff64a000 C:\WINDOWS\System32\windows.storage.dll
0x00007ffbfe980000 - 0x00007ffbfe9a4000 C:\WINDOWS\System32\profapi.dll
0x00007ffbfe9b0000 - 0x00007ffbfea0d000 C:\WINDOWS\System32\powrprof.dll
0x00007ffc01fe0000 - 0x00007ffc02032000 C:\WINDOWS\System32\shlwapi.dll
0x00007ffbfe960000 - 0x00007ffbfe971000 C:\WINDOWS\System32\kernel.appcore.dll
0x00007ffbffb70000 - 0x00007ffbffb87000 C:\WINDOWS\System32\cryptsp.dll
0x00007ffbeeae0000 - 0x00007ffbeeafa000 C:\workByMyself\idea2017\IntelliJ IDEA 2018.1.6\bin\breakgen64.dll
0x0000000077310000 - 0x000000007732a000 C:\workByMyself\jdk1.8\jre\bin\net.dll
0x00007ffbfe1a0000 - 0x00007ffbfe207000 C:\WINDOWS\system32\mswsock.dll
0x00007ffbccfa0000 - 0x00007ffbcd109000 C:\workByMyself\jdk1.8\jre\bin\crypto.dll
0x00007ffbfec50000 - 0x00007ffbfee2b000 C:\WINDOWS\System32\CRYPT32.dll
0x00007ffbfea10000 - 0x00007ffbfea22000 C:\WINDOWS\System32\MSASN1.dll
0x00007ffbff650000 - 0x00007ffbff676000 C:\WINDOWS\System32\bcrypt.dll
0x00007ffbe5810000 - 0x00007ffbe5827000 C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll
0x00007ffbc22f0000 - 0x00007ffbc238d000 C:\WINDOWS\SYSTEM32\MSVCP140.dll
0x00007ffbfaf30000 - 0x00007ffbfb11d000 C:\WINDOWS\SYSTEM32\dbghelp.dll
VM Arguments:
jvm_args: -Djava.library.path=C://workByMyself//jdk1.8//jre//bin//crypto.dll -javaagent:C:\workByMyself\idea2017\IntelliJ IDEA 2018.1.6\lib\idea_rt.jar=62250:C:\workByMyself\idea2017\IntelliJ IDEA 2018.1.6\bin -Dfile.encoding=UTF-8
java_command: com.demo.common.SpecialSecret
java_class_path (initial): C:\workByMyself\jdk1.8\jre\lib\charsets.jar;C:\workByMyself\jdk1.8\jre\lib\deploy.jar;C:\workByMyself\jdk1.8\jre\lib\ext\access-bridge-64.jar;C:\workByMyself\jdk1.8\jre\lib\ext\cldrdata.jar;C:\workByMyself\jdk1.8\jre\lib\ext\dnsns.jar;C:\workByMyself\jdk1.8\jre\lib\ext\jaccess.jar;C:\workByMyself\jdk1.8\jre\lib\ext\jfxrt.jar;C:\workByMyself\jdk1.8\jre\lib\ext\localedata.jar;C:\workByMyself\jdk1.8\jre\lib\ext\nashorn.jar;C:\workByMyself\jdk1.8\jre\lib\ext\sunec.jar;C:\workByMyself\jdk1.8\jre\lib\ext\sunjce_provider.jar;C:\workByMyself\jdk1.8\jre\lib\ext\sunmscapi.jar;C:\workByMyself\jdk1.8\jre\lib\ext\sunpkcs11.jar;C:\workByMyself\jdk1.8\jre\lib\ext\zipfs.jar;C:\workByMyself\jdk1.8\jre\lib\javaws.jar;C:\workByMyself\jdk1.8\jre\lib\jce.jar;C:\workByMyself\jdk1.8\jre\lib\jfr.jar;C:\workByMyself\jdk1.8\jre\lib\jfxswt.jar;C:\workByMyself\jdk1.8\jre\lib\jsse.jar;C:\workByMyself\jdk1.8\jre\lib\management-agent.jar;C:\workByMyself\jdk1.8\jre\lib\plugin.jar;C:\workByMyself\jdk1.8\jre\lib\resources.jar;C:\workByMyself\jdk1.8\jre\lib\rt.jar;C:\eclipseWorkSpace\mongodb-demo\target\classes;C:\Users\reyun\.m2\repository\com\alibaba\fastjson\1.2.54\fastjson-1.2.54.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot-starter-web\1.4.0.RELEASE\spring-boot-starter-web-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot-starter\1.4.0.RELEASE\spring-boot-starter-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot\1.4.0.RELEASE\spring-boot-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\1.4.0.RELEASE\spring-boot-autoconfigure-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot-starter-logging\1.4.0.RELEASE\spring-boot-starter-logging-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\ch\qos\logback\logback-classic\1.1.7\logback-classic-1.1.7.jar;C:\Users\reyun\.m2\repository\ch\qos\logback\logbac
Launcher Type: SUN_STANDARD
Environment Variables:
JAVA_HOME=C:\workByMyself\jdk1.8
CLASSPATH=.;C:\workByMyself\jdk1.8_121\lib;C:\workByMyself\jdk1.8_121\lib\tools.jar
PATH=C:\非工作软件区\安装区\软件开发\xshell6\;C:\workByMyself\jdk1.8_121\bin;C:\workByMyself\jdk1.8_121\jre\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\workByMyself\tomcat-8.5.30\lib;C:\workByMyself\tomcat-8.5.30\bin;C:\workByMyself\maven\apache-maven-3.5.4\bin;C:\workByMyself\git tool\bin;C:\workByMyself\gradle410\gradle-4.10-rc-2\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\非工作软件区\安装区\软件开发\mysql\mysql-5.6.42-winx64\bin;C:\workByMyself\nodejs\;C:\Users\reyun\AppData\Local\Programs\Python\Python37-32\Scripts\;C:\Users\reyun\AppData\Local\Programs\Python\Python37-32\;C:\workByMyself\ruby\Ruby25-x64\bin;C:\Users\reyun\AppData\Local\Microsoft\WindowsApps;;C:\Program Files (x86)\Fiddler2;C:\非工作软件区\安装区\辅助软件\抓包工具fiddler\Fiddler;C:\Users\reyun\AppData\Local\Microsoft\WindowsApps;C:\Users\reyun\AppData\Roaming\npm
USERNAME=reyun
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 158 Stepping 9, GenuineIntel
--------------- S Y S T E M ---------------
OS: Windows 10.0 , 64 bit Build 17763 (10.0.17763.475)
CPU:total 4 (initial active 4) (4 cores per cpu, 1 threads per core) family 6 model 158 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, tsc, tscinvbit, bmi1, bmi2, adx
Memory: 4k page, physical 8221268k(1474764k free), swap 19755604k(8496240k free)
vm_info: Java HotSpot(TM) 64-Bit Server VM (25.162-b12) for windows-amd64 JRE (1.8.0_162-b12), built on Dec 19 2017 20:00:03 by "java_re" with MS VC++ 10.0 (VS2010)
time: Mon Jul 29 17:01:03 2019
elapsed time: 0 seconds (0d 0h 0m 0s)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffbccfa2602, pid=9388, tid=0x00000000000024fc
#
# JRE version: Java(TM) SE Runtime Environment (8.0_162-b12) (build 1.8.0_162-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.162-b12 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [crypto.dll+0x2602]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0x0000000003515800): JavaThread "main" [_thread_in_native, id=9468, stack(0x0000000001760000,0x0000000001860000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x000000000140d000
Registers:
RAX=0x0000000000000000, RBX=0x0000000000000001, RCX=0x0000000000000001, RDX=0x000000000011dac6
RSP=0x000000000185f0b0, RBP=0x000000009ab06971, RSI=0x0000000000000000, RDI=0x000000000185f240
R8 =0x000000001a270070, R9 =0x0000000000000041, R10=0x00000000ffffffff, R11=0x000000000185ef70
R12=0x0000000000000000, R13=0x0000000000000000, R14=0x000000000140d000, R15=0x0000000000000000
RIP=0x00007ffbccfa2602, EFLAGS=0x0000000000010286
Top of Stack: (sp=0x000000000185f0b0)
0x000000000185f0b0: 000000000185f240 000000000140a368
0x000000000185f0c0: 0000000000000000 0000000000000003
0x000000000185f0d0: a7119a2d00000001 fffffffffffffffe
0x000000000185f0e0: 0000000003515800 0000000000000000
0x000000000185f0f0: 0000000017b1f268 0000000000000000
0x000000000185f100: 000000000137b604 00000000035159f8
0x000000000185f110: 000000000185f220 00007ffbccfa20fb
0x000000000185f120: 000000000185f240 000000000185f240
0x000000000185f130: 0000000001000000 0000000000000000
0x000000000185f140: 000000000185f2a0 00007ffbccfa3f90
0x000000000185f150: fffffffffffffffe 00000000000003d8
0x000000000185f160: 0000000000000020 0000000019704400
0x000000000185f170: 0000000000000000 000000000000000c
0x000000000185f180: 0000000000000000 000000000000000f
0x000000000185f190: 00000000035159f8 000000000185f590
0x000000000185f1a0: 0000000019704400 000000000185f210
Instructions: (pc=0x00007ffbccfa2602)
0x00007ffbccfa25e2: 24 20 01 00 00 00 8b de 45 85 c0 0f 84 47 02 00
0x00007ffbccfa25f2: 00 8b ce 66 66 66 0f 1f 84 00 00 00 00 00 ff cd
0x00007ffbccfa2602: 41 0f b6 06 88 84 0c 80 00 00 00 ff c3 48 ff c1
0x00007ffbccfa2612: 4d 8d 76 01 44 0f b6 ac 24 82 00 00 00 44 0f b6
Register to memory mapping:
RAX=0x0000000000000000 is an unknown value
RBX=0x0000000000000001 is an unknown value
RCX=0x0000000000000001 is an unknown value
RDX=0x000000000011dac6 is an unknown value
RSP=0x000000000185f0b0 is pointing into the stack for thread: 0x0000000003515800
RBP=0x000000009ab06971 is an unallocated location in the heap
RSI=0x0000000000000000 is an unknown value
RDI=0x000000000185f240 is pointing into the stack for thread: 0x0000000003515800
R8 =0x000000001a270070 is an unknown value
R9 =0x0000000000000041 is an unknown value
R10=0x00000000ffffffff is an unallocated location in the heap
R11=0x000000000185ef70 is pointing into the stack for thread: 0x0000000003515800
R12=0x0000000000000000 is an unknown value
R13=0x0000000000000000 is an unknown value
R14=0x000000000140d000 is an unknown value
R15=0x0000000000000000 is an unknown value
Stack: [0x0000000001760000,0x0000000001860000], sp=0x000000000185f0b0, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [crypto.dll+0x2602]
C [crypto.dll+0x20fb]
C 0x0000000003631df0
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.demo.util.Algorithm.aes256Decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+0
j com.demo.common.SpecialSecret.main([Ljava/lang/String;)V+75
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x00000000197d0800 JavaThread "Service Thread" daemon [_thread_blocked, id=680, stack(0x000000001a070000,0x000000001a170000)]
0x0000000019711000 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=10184, stack(0x0000000019f70000,0x000000001a070000)]
0x0000000019703800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=10424, stack(0x0000000019e70000,0x0000000019f70000)]
0x0000000019701000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=13904, stack(0x0000000019d70000,0x0000000019e70000)]
0x00000000180f8000 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=6304, stack(0x0000000019c70000,0x0000000019d70000)]
0x00000000180eb800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=14280, stack(0x0000000019b70000,0x0000000019c70000)]
0x00000000180df800 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=2688, stack(0x0000000019a70000,0x0000000019b70000)]
0x00000000194b3800 JavaThread "Attach Listener" daemon [_thread_blocked, id=8752, stack(0x0000000019970000,0x0000000019a70000)]
0x00000000180ad800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2112, stack(0x0000000019870000,0x0000000019970000)]
0x000000001809f000 JavaThread "Finalizer" daemon [_thread_blocked, id=9096, stack(0x0000000019310000,0x0000000019410000)]
0x0000000003607000 JavaThread "Reference Handler" daemon [_thread_blocked, id=14384, stack(0x0000000019210000,0x0000000019310000)]
=>0x0000000003515800 JavaThread "main" [_thread_in_native, id=9468, stack(0x0000000001760000,0x0000000001860000)]
Other Threads:
0x0000000018077800 VMThread [stack: 0x0000000019110000,0x0000000019210000] [id=16028]
0x0000000019747800 WatcherThread [stack: 0x000000001a170000,0x000000001a270000] [id=14620]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap:
PSYoungGen total 37888K, used 4278K [0x00000000d6300000, 0x00000000d8d00000, 0x0000000100000000)
eden space 32768K, 13% used [0x00000000d6300000,0x00000000d672d8d0,0x00000000d8300000)
from space 5120K, 0% used [0x00000000d8800000,0x00000000d8800000,0x00000000d8d00000)
to space 5120K, 0% used [0x00000000d8300000,0x00000000d8300000,0x00000000d8800000)
ParOldGen total 86016K, used 0K [0x0000000082800000, 0x0000000087c00000, 0x00000000d6300000)
object space 86016K, 0% used [0x0000000082800000,0x0000000082800000,0x0000000087c00000)
Metaspace used 3277K, capacity 4568K, committed 4864K, reserved 1056768K
class space used 348K, capacity 392K, committed 512K, reserved 1048576K
Card table byte_map: [0x00000000129d0000,0x0000000012dc0000] byte_map_base: 0x00000000125bc000
Marking Bits: (ParMarkBitMap*) 0x0000000076800860
Begin Bits: [0x0000000013460000, 0x00000000153c0000)
End Bits: [0x00000000153c0000, 0x0000000017320000)
Polling page: 0x0000000001860000
CodeCache: size=245760Kb used=1120Kb max_used=1128Kb free=244639Kb
bounds [0x0000000003610000, 0x0000000003880000, 0x0000000012610000]
total_blobs=277 nmethods=36 adapters=162
compilation: enabled
Compilation events (10 events):
Event: 0.273 Thread 0x0000000019711000 32 3 sun.misc.MetaIndex::mayContain (51 bytes)
Event: 0.273 Thread 0x0000000019703800 33 4 java.lang.CharacterData::of (120 bytes)
Event: 0.273 Thread 0x0000000019711000 nmethod 32 0x00000000037290d0 code [0x0000000003729280, 0x0000000003729918]
Event: 0.273 Thread 0x0000000019703800 nmethod 33 0x0000000003725350 code [0x0000000003725480, 0x00000000037254f8]
Event: 0.273 Thread 0x0000000019701000 34 4 java.lang.CharacterDataLatin1::getProperties (11 bytes)
Event: 0.273 Thread 0x0000000019701000 nmethod 34 0x0000000003729bd0 code [0x0000000003729d00, 0x0000000003729d98]
Event: 0.274 Thread 0x0000000019711000 35 1 java.net.URL::getPath (5 bytes)
Event: 0.274 Thread 0x0000000019711000 nmethod 35 0x0000000003725050 code [0x00000000037251a0, 0x00000000037252b0]
Event: 0.274 Thread 0x0000000019711000 36 1 java.net.URL::getAuthority (5 bytes)
Event: 0.274 Thread 0x0000000019711000 nmethod 36 0x000000000372a910 code [0x000000000372aa60, 0x000000000372ab70]
GC Heap History (0 events):
No events
Deoptimization events (0 events):
No events
Classes redefined (0 events):
No events
Internal exceptions (2 events):
Event: 0.047 Thread 0x0000000003515800 Exception <a 'java/lang/NoSuchMethodError': Method sun.misc.Unsafe.defineClass(Ljava/lang/String;[BII)Ljava/lang/Class; name or signature does not match> (0x00000000d6307ca0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u162\10278\hotspot
Event: 0.047 Thread 0x0000000003515800 Exception <a 'java/lang/NoSuchMethodError': Method sun.misc.Unsafe.prefetchRead(Ljava/lang/Object;J)V name or signature does not match> (0x00000000d6307f88) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u162\10278\hotspot\src\share\vm\prim
Events (10 events):
Event: 7.111 Executing VM operation: GetCurrentLocation
Event: 7.111 Executing VM operation: GetCurrentLocation done
Event: 7.111 Executing VM operation: ChangeSingleStep
Event: 7.111 Executing VM operation: ChangeSingleStep done
Event: 7.112 Executing VM operation: ChangeSingleStep
Event: 7.112 Executing VM operation: ChangeSingleStep done
Event: 7.112 Executing VM operation: GetCurrentLocation
Event: 7.112 Executing VM operation: GetCurrentLocation done
Event: 7.112 Executing VM operation: ChangeSingleStep
Event: 7.112 Executing VM operation: ChangeSingleStep done
Dynamic libraries:
0x00007ff6abc50000 - 0x00007ff6abc87000 C:\workByMyself\jdk1.8\bin\java.exe
0x00007ffc02960000 - 0x00007ffc02b4d000 C:\WINDOWS\SYSTEM32\ntdll.dll
0x00007ffc001d0000 - 0x00007ffc00283000 C:\WINDOWS\System32\KERNEL32.DLL
0x00007ffbff830000 - 0x00007ffbffac3000 C:\WINDOWS\System32\KERNELBASE.dll
0x00007ffc00290000 - 0x00007ffc00333000 C:\WINDOWS\System32\ADVAPI32.dll
0x00007ffc01940000 - 0x00007ffc019de000 C:\WINDOWS\System32\msvcrt.dll
0x00007ffc00370000 - 0x00007ffc0040e000 C:\WINDOWS\System32\sechost.dll
0x00007ffbffb90000 - 0x00007ffbffcb2000 C:\WINDOWS\System32\RPCRT4.dll
0x00007ffbffdb0000 - 0x00007ffbfff47000 C:\WINDOWS\System32\USER32.dll
0x00007ffbfeee0000 - 0x00007ffbfef00000 C:\WINDOWS\System32\win32u.dll
0x00007ffc00410000 - 0x00007ffc00439000 C:\WINDOWS\System32\GDI32.dll
0x00007ffbfeab0000 - 0x00007ffbfec49000 C:\WINDOWS\System32\gdi32full.dll
0x00007ffbffad0000 - 0x00007ffbffb70000 C:\WINDOWS\System32\msvcp_win.dll
0x00007ffbff6e0000 - 0x00007ffbff7da000 C:\WINDOWS\System32\ucrtbase.dll
0x00007ffbf0dd0000 - 0x00007ffbf1049000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.615_none_05b4414a072024d4\COMCTL32.dll
0x00007ffc02250000 - 0x00007ffc0257c000 C:\WINDOWS\System32\combase.dll
0x00007ffbfea30000 - 0x00007ffbfeaae000 C:\WINDOWS\System32\bcryptPrimitives.dll
0x00007ffc00340000 - 0x00007ffc0036e000 C:\WINDOWS\System32\IMM32.DLL
0x0000000077390000 - 0x0000000077461000 C:\workByMyself\jdk1.8\jre\bin\msvcr100.dll
0x0000000075fe0000 - 0x0000000076880000 C:\workByMyself\jdk1.8\jre\bin\server\jvm.dll
0x00007ffc01b50000 - 0x00007ffc01b58000 C:\WINDOWS\System32\PSAPI.DLL
0x00007ffbe99b0000 - 0x00007ffbe99b9000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
0x00007ffc028c0000 - 0x00007ffc0292d000 C:\WINDOWS\System32\WS2_32.dll
0x00007ffbfaf00000 - 0x00007ffbfaf24000 C:\WINDOWS\SYSTEM32\WINMM.dll
0x00007ffbfadc0000 - 0x00007ffbfaded000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll
0x00007ffbff7e0000 - 0x00007ffbff82a000 C:\WINDOWS\System32\cfgmgr32.dll
0x00007ffbf6690000 - 0x00007ffbf669a000 C:\WINDOWS\SYSTEM32\VERSION.dll
0x0000000077380000 - 0x000000007738f000 C:\workByMyself\jdk1.8\jre\bin\verify.dll
0x0000000077350000 - 0x0000000077379000 C:\workByMyself\jdk1.8\jre\bin\java.dll
0x00000000771d0000 - 0x0000000077205000 C:\workByMyself\jdk1.8\jre\bin\jdwp.dll
0x00000000771c0000 - 0x00000000771c8000 C:\workByMyself\jdk1.8\jre\bin\npt.dll
0x0000000077190000 - 0x00000000771b3000 C:\workByMyself\jdk1.8\jre\bin\instrument.dll
0x0000000077330000 - 0x0000000077346000 C:\workByMyself\jdk1.8\jre\bin\zip.dll
0x00007ffc00440000 - 0x00007ffc01930000 C:\WINDOWS\System32\SHELL32.dll
0x00007ffc00120000 - 0x00007ffc001c8000 C:\WINDOWS\System32\shcore.dll
0x00007ffbfef00000 - 0x00007ffbff64a000 C:\WINDOWS\System32\windows.storage.dll
0x00007ffbfe980000 - 0x00007ffbfe9a4000 C:\WINDOWS\System32\profapi.dll
0x00007ffbfe9b0000 - 0x00007ffbfea0d000 C:\WINDOWS\System32\powrprof.dll
0x00007ffc01fe0000 - 0x00007ffc02032000 C:\WINDOWS\System32\shlwapi.dll
0x00007ffbfe960000 - 0x00007ffbfe971000 C:\WINDOWS\System32\kernel.appcore.dll
0x00007ffbffb70000 - 0x00007ffbffb87000 C:\WINDOWS\System32\cryptsp.dll
0x0000000077180000 - 0x0000000077189000 C:\workByMyself\jdk1.8\jre\bin\dt_socket.dll
0x00007ffbfe1a0000 - 0x00007ffbfe207000 C:\WINDOWS\system32\mswsock.dll
0x00007ffbccfa0000 - 0x00007ffbcd109000 C:\workByMyself\jdk1.8\jre\bin\crypto.dll
0x00007ffbfec50000 - 0x00007ffbfee2b000 C:\WINDOWS\System32\CRYPT32.dll
0x00007ffbfea10000 - 0x00007ffbfea22000 C:\WINDOWS\System32\MSASN1.dll
0x00007ffbff650000 - 0x00007ffbff676000 C:\WINDOWS\System32\bcrypt.dll
0x00007ffbc22f0000 - 0x00007ffbc238d000 C:\WINDOWS\SYSTEM32\MSVCP140.dll
0x00007ffbe5810000 - 0x00007ffbe5827000 C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll
0x00007ffbfaf30000 - 0x00007ffbfb11d000 C:\WINDOWS\SYSTEM32\dbghelp.dll
VM Arguments:
jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:62260,suspend=y,server=n -Djava.library.path=C://workByMyself//jdk1.8//jre//bin//crypto.dll -javaagent:C:\Users\reyun\AppData\Local\Temp\capture769jars\debugger-agent.jar=file:/C:/Users/reyun/AppData/Local/Temp/capture.props -Dfile.encoding=UTF-8
java_command: com.demo.common.SpecialSecret
java_class_path (initial): C:\workByMyself\jdk1.8\jre\lib\charsets.jar;C:\workByMyself\jdk1.8\jre\lib\deploy.jar;C:\workByMyself\jdk1.8\jre\lib\ext\access-bridge-64.jar;C:\workByMyself\jdk1.8\jre\lib\ext\cldrdata.jar;C:\workByMyself\jdk1.8\jre\lib\ext\dnsns.jar;C:\workByMyself\jdk1.8\jre\lib\ext\jaccess.jar;C:\workByMyself\jdk1.8\jre\lib\ext\jfxrt.jar;C:\workByMyself\jdk1.8\jre\lib\ext\localedata.jar;C:\workByMyself\jdk1.8\jre\lib\ext\nashorn.jar;C:\workByMyself\jdk1.8\jre\lib\ext\sunec.jar;C:\workByMyself\jdk1.8\jre\lib\ext\sunjce_provider.jar;C:\workByMyself\jdk1.8\jre\lib\ext\sunmscapi.jar;C:\workByMyself\jdk1.8\jre\lib\ext\sunpkcs11.jar;C:\workByMyself\jdk1.8\jre\lib\ext\zipfs.jar;C:\workByMyself\jdk1.8\jre\lib\javaws.jar;C:\workByMyself\jdk1.8\jre\lib\jce.jar;C:\workByMyself\jdk1.8\jre\lib\jfr.jar;C:\workByMyself\jdk1.8\jre\lib\jfxswt.jar;C:\workByMyself\jdk1.8\jre\lib\jsse.jar;C:\workByMyself\jdk1.8\jre\lib\management-agent.jar;C:\workByMyself\jdk1.8\jre\lib\plugin.jar;C:\workByMyself\jdk1.8\jre\lib\resources.jar;C:\workByMyself\jdk1.8\jre\lib\rt.jar;C:\eclipseWorkSpace\mongodb-demo\target\classes;C:\Users\reyun\.m2\repository\com\alibaba\fastjson\1.2.54\fastjson-1.2.54.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot-starter-web\1.4.0.RELEASE\spring-boot-starter-web-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot-starter\1.4.0.RELEASE\spring-boot-starter-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot\1.4.0.RELEASE\spring-boot-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\1.4.0.RELEASE\spring-boot-autoconfigure-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\org\springframework\boot\spring-boot-starter-logging\1.4.0.RELEASE\spring-boot-starter-logging-1.4.0.RELEASE.jar;C:\Users\reyun\.m2\repository\ch\qos\logback\logback-classic\1.1.7\logback-classic-1.1.7.jar;C:\Users\reyun\.m2\repository\ch\qos\logback\logbac
Launcher Type: SUN_STANDARD
Environment Variables:
JAVA_HOME=C:\workByMyself\jdk1.8
CLASSPATH=.;C:\workByMyself\jdk1.8_121\lib;C:\workByMyself\jdk1.8_121\lib\tools.jar
PATH=C:\非工作软件区\安装区\软件开发\xshell6\;C:\workByMyself\jdk1.8_121\bin;C:\workByMyself\jdk1.8_121\jre\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\workByMyself\tomcat-8.5.30\lib;C:\workByMyself\tomcat-8.5.30\bin;C:\workByMyself\maven\apache-maven-3.5.4\bin;C:\workByMyself\git tool\bin;C:\workByMyself\gradle410\gradle-4.10-rc-2\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\非工作软件区\安装区\软件开发\mysql\mysql-5.6.42-winx64\bin;C:\workByMyself\nodejs\;C:\Users\reyun\AppData\Local\Programs\Python\Python37-32\Scripts\;C:\Users\reyun\AppData\Local\Programs\Python\Python37-32\;C:\workByMyself\ruby\Ruby25-x64\bin;C:\Users\reyun\AppData\Local\Microsoft\WindowsApps;;C:\Program Files (x86)\Fiddler2;C:\非工作软件区\安装区\辅助软件\抓包工具fiddler\Fiddler;C:\Users\reyun\AppData\Local\Microsoft\WindowsApps;C:\Users\reyun\AppData\Roaming\npm
USERNAME=reyun
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 158 Stepping 9, GenuineIntel
--------------- S Y S T E M ---------------
OS: Windows 10.0 , 64 bit Build 17763 (10.0.17763.475)
CPU:total 4 (initial active 4) (4 cores per cpu, 1 threads per core) family 6 model 158 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, tsc, tscinvbit, bmi1, bmi2, adx
Memory: 4k page, physical 8221268k(1375096k free), swap 19755604k(8465012k free)
vm_info: Java HotSpot(TM) 64-Bit Server VM (25.162-b12) for windows-amd64 JRE (1.8.0_162-b12), built on Dec 19 2017 20:00:03 by "java_re" with MS VC++ 10.0 (VS2010)
time: Mon Jul 29 17:01:20 2019
elapsed time: 7 seconds (0d 0h 0m 7s)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>mongodb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.RC1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>reyun</groupId>
<artifactId>crypto</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/reyunCrypto.jar</systemPath>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<resources>
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.7" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.7" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.2.RELEASE" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.4" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.7" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.7" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.2.RELEASE" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.4.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.4" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:6.0.4" level="project" />
<orderEntry type="library" name="Maven: redis.clients:jedis:2.9.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.4.2" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
</component>
</module>
\ No newline at end of file
package com;
import com.reyun.Algorithm;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = "com")
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
package com.demo.common;
import com.demo.util.SecretUtil;
import com.reyun.Algorithm;
/**
* 用于特殊处理加密
*/
public class SpecialSecret {
public static final String dllPath = "/data/application/deviceCheck/crypto/libcrypto.so";
static {
System.load(dllPath);
// Algorithm.InitCrypto();
}
/**
*
* 解密数据
* @param secretData
* @param key
* @return
*/
public static String getData(String secretData, String key){
Algorithm alg = new Algorithm();
return alg.aes256Decode(secretData, key);
}
/**
* aes加密data
* @param data
* @param key
* @return
*/
public static String aesData(String data, String key){
Algorithm alg = new Algorithm();
return alg.aes256Encode(data, key);
}
/**
*
*
* 对于AES密钥的处理
* 6字节随机数+真实密钥+8字节随机数->反转
* 然后拿私钥钥进行RSA加密
* @param str
* @param privateKey
* @return
*/
public static String getSecretAesStr(String str, String privateKey) throws Exception{
Algorithm alg = new Algorithm();
String aesStr = SecretUtil.getRandNum(6) + str + SecretUtil.getRandNum(8);
str = reverseString(aesStr);
return alg.rsaPrivateEncode(str, privateKey);
}
/**
*
* 对于RSA 公钥的处理
*da
* 6字节随机数+真实密钥+8字节随机数->反转
* @param str
* @return
*/
public static String getSecretRSAStr(String str){
String rsaStr = SecretUtil.getRandNum(6) + str + SecretUtil.getRandNum(8);
return reverseString(rsaStr);
}
private static String reverseString(String str) {
StringBuffer buffer = new StringBuffer(str);
return buffer.reverse().toString();
}
// public static void main(String args[]) throws Exception{
//
//// System.out.println("开始测试-----------");
////// System.load("C:\\eclipseWorkSpace\\mongodb-demo\\lib\\crypto.dll");
////// DllAddUtil.addLibraryDir("C:\\eclipseWorkSpace\\mongodb-demo\\lib\\crypto.dll");
////
//// String dllPath = System.getProperty("user.dir") + "/lib/crypto.dll";
//// System.out.println(System.getProperty("user.dir"));
////
//// DllAddUtil.addLibraryDir("dllPath");
////// System.out.println(System.getProperty("java.library.path"));
////// System.loadLibrary("crypto");
//// System.load(dllPath);
//// Algorithm alg = new Algorithm();
//// String txt = "小红帽123";
//// String pubkey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCLtMtk2fLimNPRK5rG0jVBeX8kSO8CP8aMkeu7" +
//// "N94ieqQqhbBArhdA7b5/kd6durfY5dq7NWAPQAK8+/P3XE92qdkshcgX9bYqO9dvE1fSgtLZN1OK" +
//// "Pgm1quNZT5fqxOMQZwancRdqgt53aEjvjANtIoOCNV2QkPsl0a0icGmTXQIDAQAB";
//// String privateKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIu0y2TZ8uKY09ErmsbSNUF5fyRI" +
//// "7wI/xoyR67s33iJ6pCqFsECuF0Dtvn+R3p26t9jl2rs1YA9AArz78/dcT3ap2SyFyBf1tio7128T" +
//// "V9KC0tk3U4o+CbWq41lPl+rE4xBnBqdxF2qC3ndoSO+MA20ig4I1XZCQ+yXRrSJwaZNdAgMBAAEC" +
//// "gYBJ2EGeSDnDHobvzD2elCQEPMVAl7CGHtHDIapZplkrHmpB87JLLfoqnsAPzDnAY56j7jMkuzzQ" +
//// "MsR/wimdeVSimfqlgpTe1KNIdOkZnppAbEijqhngJhUXFNJMmhUyHSaRd1AQ5aYZoIsIyndP13TM" +
//// "RQyX883sbKISIEX7qajxPQJBANZi58PWH9Xg5nrNi6zm0bDvmQe9QIQR03Mv4pWcPmzIcbNCWDeK" +
//// "Nlp9Wqr66jDc7YUkxfAjnDuLsE8g9OzpGBMCQQCm0vORg+BF1QFcLpdG7lilqFZbqjl/hLFzeCAp" +
//// "4L4GrMqSFhYs6h/pWg9FYpPvSY8grZo4qgX97t+QAvHAr/TPAkAPvA6alvqbLfh8ht17gS1euRcY" +
//// "NFGp380PJTKSHHeQcF239GSZHvHCTnT7G5NYpr5gCUTlzRdIX4Y/KIIRaUI1AkARFIwnm+78d2Ca" +
//// "RZLrij+9Rk0BOZ6FddqNTgFNCFusZ0ieSHCgzJ/Tzoq9uegXmdpzqBKgNphCdZCiOAr0hY91AkAt" +
//// "tN1h4g3LA1fhq0MvwgtNb9fVdSDoqCOSELQjKsqQach99kaMApo3uBLpCypAyi2X99i31SDEH/XO" +
//// "ytCzS3IG";
//// String str = alg.rsaPrivateEncode(txt,privateKey);
//// System.out.println("rsa加密后:"+str);
////
//// System.out.println("rsa解密后:"+alg.rsaPublicDecode(str,pubkey));
////
////
//// System.out.println("结束测试-----------");
////
//// System.out.println("开始测试SHA-----------");
//// String shaStr = alg.sha1(txt);
//// System.out.println("sha加密后:"+str);
////
//// System.out.println("结束测试SHA-----------");
//
//
//// System.out.println("开始测试aes-----------");
//// txt="123";
//// String aesKey = "5662e7c3d61fd5e0e67acd8bace6d1b0";
//// String aesStr = alg.aes256Encode(txt,aesKey);
//// System.out.println("aes加密后:"+aesStr);
//// String aesdecodeStr = alg.aes256Decode(aesStr,aesKey);
//// System.out.println("aes解密后:"+aesdecodeStr);
//
//// System.out.println("结束测试aes-----------");
//
// String data = "ajTGaaaaqJ1ymOOGL5UCvY0Q2CKsla==";
// String aesKey = "5662e7c3d61fd5e0e67acd8bace6d1b0ef9907bd408411d3732fe2959c3e6cc8";
// String result = SpecialSecret.aesData(data, aesKey);
// System.out.println("result is "+ result);
//
//
//
// }
}
package com.demo.constant;
public enum OSEnum {
IOS("ios"),
ANDROID("android");
OSEnum(String val) {
this.val = val;
}
/**
* 根据传入的os获取对应枚举
* @param os
* @return
*/
public static OSEnum getOS(String os){
os = os.toLowerCase();
for(OSEnum osEnum : OSEnum.values()) {
if(os.equals(osEnum.getVal())){
return osEnum;
}
}
return null;
}
private String val;
public String getVal() {
return val;
}
public void setVal(String val) {
this.val = val;
}
}
package com.demo.constant;
public enum ResultStatus {
SUCCESS(0,"success"),
FAIL(-200,"failed");
private int code;
private String desc;
ResultStatus() {
}
ResultStatus(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
package com.demo.dao;
import com.demo.entity.po.DeviceConf;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
@Repository
public class DeviceConfDao {
@Autowired
private MongoTemplate mongoTemplate;
public DeviceConf findEnable(String os){
Query query = Query.query(Criteria.where("status").is(true).and("os").is(os));
DeviceConf deviceConf = mongoTemplate.findOne(query, DeviceConf.class);
return deviceConf;
}
}
package com.demo.dao;
import com.demo.entity.po.DeviceInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class DeviceInfoDao {
@Autowired
private MongoTemplate mongoTemplate;
public void insert(DeviceInfo deviceInfo){
mongoTemplate.insert(deviceInfo);
}
}
package com.demo.dao;
import com.demo.entity.po.Secret;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
@Repository
public class SecretDao {
@Autowired
private MongoTemplate mongoTemplate;
public Secret findEnableSecret(String gorganization){
Query query = Query.query(Criteria.where("status").is(true).and("gorganization").is(gorganization));
Secret secret = mongoTemplate.findOne(query, Secret.class);
return secret;
}
public void insert(Secret secret){
mongoTemplate.insert(secret);
}
}
package com.demo.dao;
import com.demo.entity.po.SensorInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class SensorInfoDao {
@Autowired
private MongoTemplate mongoTemplate;
public void insert(SensorInfo sensorInfoIos){
mongoTemplate.insert(sensorInfoIos);
}
}
//package com.demo.dao.bak;
//
//import com.demo.entity.po.DeviceConf;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.data.mongodb.core.query.Criteria;
//import org.springframework.data.mongodb.core.query.Query;
//import org.springframework.stereotype.Repository;
//
//
//@Repository
//public class DeviceConfDao {
// @Autowired
// private MongoTemplate mongoTemplate;
//
// public DeviceConf findEnable(){
// Query query = Query.query(Criteria.where("status").is(1));
// DeviceConf deviceConf = mongoTemplate.findOne(query, DeviceConf.class);
// return deviceConf;
// }
//
//}
package com.demo.dao.bak;
import com.demo.entity.po.bak.DeviceInfoAndroid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class DeviceInfoAndroidDao {
@Autowired
private MongoTemplate mongoTemplate;
public void insert(DeviceInfoAndroid deviceInfoAndroid){
mongoTemplate.insert(deviceInfoAndroid);
}
}
package com.demo.dao.bak;
import com.demo.entity.po.bak.DeviceInfoIos;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class DeviceInfoIosDao {
@Autowired
private MongoTemplate mongoTemplate;
public void insert(DeviceInfoIos deviceInfoIos){
mongoTemplate.insert(deviceInfoIos);
}
}
//package com.demo.dao.bak;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.data.mongodb.core.query.Criteria;
//import org.springframework.data.mongodb.core.query.Query;
//import org.springframework.stereotype.Repository;
//
//import java.util.List;
//
//@Repository
//public class RiskAppDao {
// @Autowired
// private MongoTemplate mongoTemplate;
//
// public List<RiskApp> findAll(String os){
// Query query = Query.query(Criteria.where("os").is(os));
// List<RiskApp> riskApps = mongoTemplate.find(query, RiskApp.class);
// return riskApps;
// }
//
//
//}
//package com.demo.dao.bak;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.data.mongodb.core.query.Criteria;
//import org.springframework.data.mongodb.core.query.Query;
//import org.springframework.stereotype.Repository;
//
//import java.util.List;
//
//@Repository
//public class RiskDirDao {
// @Autowired
// private MongoTemplate mongoTemplate;
//
// public List<RiskDir> findAll(String os){
// Query query = Query.query(Criteria.where("os").is(os));
// List<RiskDir> riskDirs = mongoTemplate.find(query, RiskDir.class);
// return riskDirs;
// }
//
//
//}
//package com.demo.dao.bak;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.data.mongodb.core.query.Criteria;
//import org.springframework.data.mongodb.core.query.Query;
//import org.springframework.stereotype.Repository;
//
//import java.util.List;
//
//@Repository
//public class RiskFileDao {
// @Autowired
// private MongoTemplate mongoTemplate;
//
// public List<RiskFile> findAll(String os){
// Query query = Query.query(Criteria.where("os").is(os));
// List<RiskFile> riskFiles = mongoTemplate.find(query, RiskFile.class);
// return riskFiles;
// }
//
//
//}
//package com.demo.dao.bak;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.stereotype.Repository;
//
//
//@Repository
//public class SensorInfoAndroidDao {
// @Autowired
// private MongoTemplate mongoTemplate;
//
// public void insert(SensorInfoAndroid sensorInfoAndroid){
// mongoTemplate.insert(sensorInfoAndroid);
// }
//
//
//}
//package com.demo.dao.bak;
//
//import com.demo.entity.po.SensorInfo;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.stereotype.Repository;
//
//
//@Repository
//public class SensorInfoIosDao {
// @Autowired
// private MongoTemplate mongoTemplate;
//
// public void insert(SensorInfo sensorInfoIos){
// mongoTemplate.insert(sensorInfoIos);
// }
//
//
//}
package com.demo.dao.bak;
import com.demo.entity.po.bak.UpdateInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
@Repository
public class UpdateInfoDao {
@Autowired
private MongoTemplate mongoTemplate;
public UpdateInfo findEnable(){
Query query = Query.query(Criteria.where("status").is(true));
UpdateInfo updateInfo = mongoTemplate.findOne(query, UpdateInfo.class);
return updateInfo;
}
}
package com.demo.entity;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
@Document(collection="user")
public class User {
private String userId;
private String name;
private String uclass;
private String email;
private Date birthday;
private int age;
private int dataStatus;
public User() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUclass() {
return uclass;
}
public void setUclass(String uclass) {
this.uclass = uclass;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getDataStatus() {
return dataStatus;
}
public void setDataStatus(int dataStatus) {
this.dataStatus = dataStatus;
}
}
//package com.demo.entity.dto;
//
//import com.demo.entity.po.bak.UpdateInfo;
//
//import java.util.List;
//
///**
// * DevieceConfDto中 data传输值的具体内容
// */
//public class DeviceConfDataDto {
//
// private List<RiskApp> risk_apps;//有风险的app集合
// private List<RiskDir> risk_dirs;
// private Boolean risk_file_switch;
// private List<RiskFile> risk_files;
// private UpdateInfo update;
// private List<String> white_apps;
// private Integer period; //动态和传感器信息的上报周期(单位:秒)
//
//
// public DeviceConfDataDto() {
// }
//
// public DeviceConfDataDto(List<RiskApp> risk_apps, List<RiskDir> risk_dirs, Boolean risk_file_switch, List<RiskFile> risk_files,
// UpdateInfo update, List<String> white_apps, Integer period) {
// this.risk_apps = risk_apps;
// this.risk_dirs = risk_dirs;
// this.risk_file_switch = risk_file_switch;
// this.risk_files = risk_files;
// this.update = update;
// this.white_apps = white_apps;
// this.period = period;
// }
//
// public List<RiskApp> getRisk_apps() {
// return risk_apps;
// }
//
// public void setRisk_apps(List<RiskApp> risk_apps) {
// this.risk_apps = risk_apps;
// }
//
// public List<RiskDir> getRisk_dirs() {
// return risk_dirs;
// }
//
// public void setRisk_dirs(List<RiskDir> risk_dirs) {
// this.risk_dirs = risk_dirs;
// }
//
// public Boolean getRisk_file_switch() {
// return risk_file_switch;
// }
//
// public void setRisk_file_switch(Boolean risk_file_switch) {
// this.risk_file_switch = risk_file_switch;
// }
//
// public List<RiskFile> getRisk_files() {
// return risk_files;
// }
//
// public void setRisk_files(List<RiskFile> risk_files) {
// this.risk_files = risk_files;
// }
//
// public UpdateInfo getUpdate() {
// return update;
// }
//
// public void setUpdate(UpdateInfo update) {
// this.update = update;
// }
//
// public List<String> getWhite_apps() {
// return white_apps;
// }
//
// public void setWhite_apps(List<String> white_apps) {
// this.white_apps = white_apps;
// }
//
// public Integer getPeriod() {
// return period;
// }
//
// public void setPeriod(Integer period) {
// this.period = period;
// }
//}
package com.demo.entity.dto;
public class DeviceReturnDto {
private String data;
private int datelen;
private String akey; //RSA加密的AES密钥
private String pkey; //RSA公钥
public DeviceReturnDto() {
}
public DeviceReturnDto(String data, int datelen, String akey, String pkey) {
this.data = data;
this.datelen = datelen;
this.akey = akey;
this.pkey = pkey;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public int getDatelen() {
return datelen;
}
public void setDatelen(int datelen) {
this.datelen = datelen;
}
public String getAkey() {
return akey;
}
public void setAkey(String akey) {
this.akey = akey;
}
public String getPkey() {
return pkey;
}
public void setPkey(String pkey) {
this.pkey = pkey;
}
}
package com.demo.entity.dto;
/**
* 用于传感器ios参数接收
*/
public class SoftDto {
private String name;
private String pn;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPn() {
return pn;
}
public void setPn(String pn) {
this.pn = pn;
}
}
package com.demo.entity.po;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* 设备的配置表
*/
@Document(collection = "DeviceConf")
public class DeviceConf {
private String confInfo;
private Boolean status;
private String os;
public DeviceConf() {
}
public DeviceConf(String confInfo, Boolean status, String os) {
this.confInfo = confInfo;
this.status = status;
this.os = os;
}
public String getConfInfo() {
return confInfo;
}
public void setConfInfo(String confInfo) {
this.confInfo = confInfo;
}
public Boolean getStatus() {
return status;
}
public void setStatus(Boolean status) {
this.status = status;
}
public String getOs() {
return os;
}
public void setOs(String os) {
this.os = os;
}
}
package com.demo.entity.po;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "DeviceInfo")
public class DeviceInfo {
private String os;
private String info;
private String reyunId;
public DeviceInfo() {
}
public DeviceInfo(String os, String info, String reyunId) {
this.os = os;
this.info = info;
this.reyunId = reyunId;
}
public String getOs() {
return os;
}
public void setOs(String os) {
this.os = os;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
public String getReyunId() {
return reyunId;
}
public void setReyunId(String reyunId) {
this.reyunId = reyunId;
}
}
package com.demo.entity.po;
import com.demo.entity.vo.common.BaseParam;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* 用于记录上报的异常
*/
@Document(collection = "ExceptionRecord")
public class ExceptionRecord extends BaseParam {
private Integer errorcode;
private String errormsg;
public Integer getErrorcode() {
return errorcode;
}
public void setErrorcode(Integer errorcode) {
this.errorcode = errorcode;
}
public String getErrormsg() {
return errormsg;
}
public void setErrormsg(String errormsg) {
this.errormsg = errormsg;
}
}
package com.demo.entity.po;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection="Secret")
public class Secret {
private String gorganization;
private String publicRsaKey;
private String privateRsaKey;
private String aesKey;
private long timestamp;
private Boolean status;//0不可用 1可用
public Secret() {
}
public Secret(String gorganization, String publicRsaKey, String privateRsaKey, String aesKey, long timestamp, Boolean status) {
this.gorganization = gorganization;
this.publicRsaKey = publicRsaKey;
this.privateRsaKey = privateRsaKey;
this.aesKey = aesKey;
this.timestamp = timestamp;
this.status = status;
}
public String getGorganization() {
return gorganization;
}
public void setGorganization(String gorganization) {
this.gorganization = gorganization;
}
public String getPublicRsaKey() {
return publicRsaKey;
}
public void setPublicRsaKey(String publicRsaKey) {
this.publicRsaKey = publicRsaKey;
}
public String getPrivateRsaKey() {
return privateRsaKey;
}
public void setPrivateRsaKey(String privateRsaKey) {
this.privateRsaKey = privateRsaKey;
}
public String getAesKey() {
return aesKey;
}
public void setAesKey(String aesKey) {
this.aesKey = aesKey;
}
public long getTimestamp() {
return timestamp;
}
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
public Boolean getStatus() {
return status;
}
public void setStatus(Boolean status) {
this.status = status;
}
}
package com.demo.entity.po;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* 传感器信息
*/
@Document(collection="SensorInfo")
public class SensorInfo {
private String reyunId;
private Long timestamp;
private String sensorInfo;
private String os;
public SensorInfo() {
}
public SensorInfo(String reyunId, Long timestamp, String sensorInfo, String os) {
this.reyunId = reyunId;
this.timestamp = timestamp;
this.sensorInfo = sensorInfo;
this.os = os;
}
public String getReyunId() {
return reyunId;
}
public void setReyunId(String reyunId) {
this.reyunId = reyunId;
}
public Long getTimestamp() {
return timestamp;
}
public void setTimestamp(Long timestamp) {
this.timestamp = timestamp;
}
public String getSensorInfo() {
return sensorInfo;
}
public void setSensorInfo(String sensorInfo) {
this.sensorInfo = sensorInfo;
}
public String getOs() {
return os;
}
public void setOs(String os) {
this.os = os;
}
}
package com.demo.entity.po.bak;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* 设备的配置表
*/
@Document(collection = "DeviceConf")
public class DeviceConf {
private Boolean risk_file_switch;
private String white_apps;
private int period; //动态和传感器信息的上报周期(单位:秒)
private Boolean status;
private String os;
public Boolean getRisk_file_switch() {
return risk_file_switch;
}
public void setRisk_file_switch(Boolean risk_file_switch) {
this.risk_file_switch = risk_file_switch;
}
public String getWhite_apps() {
return white_apps;
}
public void setWhite_apps(String white_apps) {
this.white_apps = white_apps;
}
public int getPeriod() {
return period;
}
public void setPeriod(int period) {
this.period = period;
}
public Boolean getStatus() {
return status;
}
public void setStatus(Boolean status) {
this.status = status;
}
public String getOs() {
return os;
}
public void setOs(String os) {
this.os = os;
}
}
package com.demo.entity.po.bak;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "DeviceInfoIos")
public class DeviceInfoAndroid {
private String platform;
private String reyunId;
private String deviceId; //序列号
private String androidId;
private String simSerialNum;//SIM卡序列号
private String imsi; //IMSI
private String simCountry; //SIM卡所在国家
private String isp; //运营商
private String ispName; //运营商名称
private String networkCountryIso;//国家iso代码
private String isoType;//运营商类型
private String networkType;//网络类型
private String networkTypeName;//网络类型名称
private String phoneType;//手机类型
private String simStatus;//SIM卡状态
private String mac;//MAC地址
private String bluetoothName;//蓝牙名称
private String cpuModel; //CPU型号
private String cpuCoreNum;//CPU核数
private String radioVer;//固件版本
private String osVer;//系统版本(大版本号)
private String sdkInt;//系统的API级别(小版本号)
private String osVerVal;//系统的API级别 一般使用下面大的SDK_INT 来查看
private String brand;//品牌
private String model; //型号
private String ID;
private String display;
private String product;//产品名
private String manufacturer;//制造商
private String deviceName;//设备名
private String hardware; //硬件
private String fingerprint;//指纹
private String serial; //串口序列号
private String deviceVerType; //设备版本类型
private String tags; //描述build的标签
private String host; //主机地址
private String deviceUser; //设备用户名
private String codeName; //固件开发版本代号
private String buildIncremental; //源码控制版本号
private String board; //主板
private String bootloader; //主板引导程序
private String buildTime; //Build时间
private String cpuAbi1; //CPU指令集1
private String cpuAbi2; //CPU指令集2
private String bluetoothAdr; //蓝牙地址
private String density; //屏幕密度
private String densityDpi;//屏幕密度
private String screenWidth; //屏幕宽度
private String screenHeight; //屏幕高度
private String xdpi; //x方向像素点数
private String ydpi; //y方向像素点数
private String scaledDensity; //字体缩放比例
private String utdid1; //阿里id1
private String utdid2; //阿里id2
private String smid; //数盟ID
public String getPlatform() {
return platform;
}
public void setPlatform(String platform) {
this.platform = platform;
}
public String getReyunId() {
return reyunId;
}
public void setReyunId(String reyunId) {
this.reyunId = reyunId;
}
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getAndroidId() {
return androidId;
}
public void setAndroidId(String androidId) {
this.androidId = androidId;
}
public String getSimSerialNum() {
return simSerialNum;
}
public void setSimSerialNum(String simSerialNum) {
this.simSerialNum = simSerialNum;
}
public String getImsi() {
return imsi;
}
public void setImsi(String imsi) {
this.imsi = imsi;
}
public String getSimCountry() {
return simCountry;
}
public void setSimCountry(String simCountry) {
this.simCountry = simCountry;
}
public String getIsp() {
return isp;
}
public void setIsp(String isp) {
this.isp = isp;
}
public String getIspName() {
return ispName;
}
public void setIspName(String ispName) {
this.ispName = ispName;
}
public String getNetworkCountryIso() {
return networkCountryIso;
}
public void setNetworkCountryIso(String networkCountryIso) {
this.networkCountryIso = networkCountryIso;
}
public String getIsoType() {
return isoType;
}
public void setIsoType(String isoType) {
this.isoType = isoType;
}
public String getNetworkType() {
return networkType;
}
public void setNetworkType(String networkType) {
this.networkType = networkType;
}
public String getNetworkTypeName() {
return networkTypeName;
}
public void setNetworkTypeName(String networkTypeName) {
this.networkTypeName = networkTypeName;
}
public String getPhoneType() {
return phoneType;
}
public void setPhoneType(String phoneType) {
this.phoneType = phoneType;
}
public String getSimStatus() {
return simStatus;
}
public void setSimStatus(String simStatus) {
this.simStatus = simStatus;
}
public String getMac() {
return mac;
}
public void setMac(String mac) {
this.mac = mac;
}
public String getBluetoothName() {
return bluetoothName;
}
public void setBluetoothName(String bluetoothName) {
this.bluetoothName = bluetoothName;
}
public String getCpuModel() {
return cpuModel;
}
public void setCpuModel(String cpuModel) {
this.cpuModel = cpuModel;
}
public String getCpuCoreNum() {
return cpuCoreNum;
}
public void setCpuCoreNum(String cpuCoreNum) {
this.cpuCoreNum = cpuCoreNum;
}
public String getRadioVer() {
return radioVer;
}
public void setRadioVer(String radioVer) {
this.radioVer = radioVer;
}
public String getOsVer() {
return osVer;
}
public void setOsVer(String osVer) {
this.osVer = osVer;
}
public String getSdkInt() {
return sdkInt;
}
public void setSdkInt(String sdkInt) {
this.sdkInt = sdkInt;
}
public String getOsVerVal() {
return osVerVal;
}
public void setOsVerVal(String osVerVal) {
this.osVerVal = osVerVal;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getDisplay() {
return display;
}
public void setDisplay(String display) {
this.display = display;
}
public String getProduct() {
return product;
}
public void setProduct(String product) {
this.product = product;
}
public String getManufacturer() {
return manufacturer;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getHardware() {
return hardware;
}
public void setHardware(String hardware) {
this.hardware = hardware;
}
public String getFingerprint() {
return fingerprint;
}
public void setFingerprint(String fingerprint) {
this.fingerprint = fingerprint;
}
public String getSerial() {
return serial;
}
public void setSerial(String serial) {
this.serial = serial;
}
public String getDeviceVerType() {
return deviceVerType;
}
public void setDeviceVerType(String deviceVerType) {
this.deviceVerType = deviceVerType;
}
public String getTags() {
return tags;
}
public void setTags(String tags) {
this.tags = tags;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getDeviceUser() {
return deviceUser;
}
public void setDeviceUser(String deviceUser) {
this.deviceUser = deviceUser;
}
public String getCodeName() {
return codeName;
}
public void setCodeName(String codeName) {
this.codeName = codeName;
}
public String getBuildIncremental() {
return buildIncremental;
}
public void setBuildIncremental(String buildIncremental) {
this.buildIncremental = buildIncremental;
}
public String getBoard() {
return board;
}
public void setBoard(String board) {
this.board = board;
}
public String getBootloader() {
return bootloader;
}
public void setBootloader(String bootloader) {
this.bootloader = bootloader;
}
public String getBuildTime() {
return buildTime;
}
public void setBuildTime(String buildTime) {
this.buildTime = buildTime;
}
public String getCpuAbi1() {
return cpuAbi1;
}
public void setCpuAbi1(String cpuAbi1) {
this.cpuAbi1 = cpuAbi1;
}
public String getCpuAbi2() {
return cpuAbi2;
}
public void setCpuAbi2(String cpuAbi2) {
this.cpuAbi2 = cpuAbi2;
}
public String getBluetoothAdr() {
return bluetoothAdr;
}
public void setBluetoothAdr(String bluetoothAdr) {
this.bluetoothAdr = bluetoothAdr;
}
public String getDensity() {
return density;
}
public void setDensity(String density) {
this.density = density;
}
public String getDensityDpi() {
return densityDpi;
}
public void setDensityDpi(String densityDpi) {
this.densityDpi = densityDpi;
}
public String getScreenWidth() {
return screenWidth;
}
public void setScreenWidth(String screenWidth) {
this.screenWidth = screenWidth;
}
public String getScreenHeight() {
return screenHeight;
}
public void setScreenHeight(String screenHeight) {
this.screenHeight = screenHeight;
}
public String getXdpi() {
return xdpi;
}
public void setXdpi(String xdpi) {
this.xdpi = xdpi;
}
public String getYdpi() {
return ydpi;
}
public void setYdpi(String ydpi) {
this.ydpi = ydpi;
}
public String getScaledDensity() {
return scaledDensity;
}
public void setScaledDensity(String scaledDensity) {
this.scaledDensity = scaledDensity;
}
public String getUtdid1() {
return utdid1;
}
public void setUtdid1(String utdid1) {
this.utdid1 = utdid1;
}
public String getUtdid2() {
return utdid2;
}
public void setUtdid2(String utdid2) {
this.utdid2 = utdid2;
}
public String getSmid() {
return smid;
}
public void setSmid(String smid) {
this.smid = smid;
}
}
package com.demo.entity.po.bak;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "DeviceInfoIos")
public class DeviceInfoIos {
private String platform;
private String reyunId;
private String idfa;
private String idfv;
private String model;//设备型号
private String networkType;//网络类型
private String phoneName;
private String osName;//当前系统名称
private String localizedModel;
private String osVer;//当前系统版本号
private String dmodel;//device_model字段
private String lastRestartDate;//设备重启时间
private String uuid;
private String cpuCoreNum;//CPU核数
private String cpuModel;//CPU型号
private String languages;//语言环境
private String screenResolution;//屏幕分辨率
private String isp;//运营商编号
private String ispName;//运营商编号
private String cpuName;//CPU名称
private String allBusFrequency;
private String batteryCapacityValue;//电池总电量
private String batteryLevel;
private String batteryVoltage;
private String canMakePhoneCall;
private String iPhoneCellIP;
private String initialFirmware;
public String getPlatform() {
return platform;
}
public void setPlatform(String platform) {
this.platform = platform;
}
public String getReyunId() {
return reyunId;
}
public void setReyunId(String reyunId) {
this.reyunId = reyunId;
}
public String getIdfa() {
return idfa;
}
public void setIdfa(String idfa) {
this.idfa = idfa;
}
public String getIdfv() {
return idfv;
}
public void setIdfv(String idfv) {
this.idfv = idfv;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getNetworkType() {
return networkType;
}
public void setNetworkType(String networkType) {
this.networkType = networkType;
}
public String getPhoneName() {
return phoneName;
}
public void setPhoneName(String phoneName) {
this.phoneName = phoneName;
}
public String getOsName() {
return osName;
}
public void setOsName(String osName) {
this.osName = osName;
}
public String getLocalizedModel() {
return localizedModel;
}
public void setLocalizedModel(String localizedModel) {
this.localizedModel = localizedModel;
}
public String getOsVer() {
return osVer;
}
public void setOsVer(String osVer) {
this.osVer = osVer;
}
public String getDmodel() {
return dmodel;
}
public void setDmodel(String dmodel) {
this.dmodel = dmodel;
}
public String getLastRestartDate() {
return lastRestartDate;
}
public void setLastRestartDate(String lastRestartDate) {
this.lastRestartDate = lastRestartDate;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public String getCpuCoreNum() {
return cpuCoreNum;
}
public void setCpuCoreNum(String cpuCoreNum) {
this.cpuCoreNum = cpuCoreNum;
}
public String getCpuModel() {
return cpuModel;
}
public void setCpuModel(String cpuModel) {
this.cpuModel = cpuModel;
}
public String getLanguages() {
return languages;
}
public void setLanguages(String languages) {
this.languages = languages;
}
public String getScreenResolution() {
return screenResolution;
}
public void setScreenResolution(String screenResolution) {
this.screenResolution = screenResolution;
}
public String getIsp() {
return isp;
}
public void setIsp(String isp) {
this.isp = isp;
}
public String getIspName() {
return ispName;
}
public void setIspName(String ispName) {
this.ispName = ispName;
}
public String getCpuName() {
return cpuName;
}
public void setCpuName(String cpuName) {
this.cpuName = cpuName;
}
public String getAllBusFrequency() {
return allBusFrequency;
}
public void setAllBusFrequency(String allBusFrequency) {
this.allBusFrequency = allBusFrequency;
}
public String getBatteryCapacityValue() {
return batteryCapacityValue;
}
public void setBatteryCapacityValue(String batteryCapacityValue) {
this.batteryCapacityValue = batteryCapacityValue;
}
public String getBatteryLevel() {
return batteryLevel;
}
public void setBatteryLevel(String batteryLevel) {
this.batteryLevel = batteryLevel;
}
public String getBatteryVoltage() {
return batteryVoltage;
}
public void setBatteryVoltage(String batteryVoltage) {
this.batteryVoltage = batteryVoltage;
}
public String getCanMakePhoneCall() {
return canMakePhoneCall;
}
public void setCanMakePhoneCall(String canMakePhoneCall) {
this.canMakePhoneCall = canMakePhoneCall;
}
public String getiPhoneCellIP() {
return iPhoneCellIP;
}
public void setiPhoneCellIP(String iPhoneCellIP) {
this.iPhoneCellIP = iPhoneCellIP;
}
public String getInitialFirmware() {
return initialFirmware;
}
public void setInitialFirmware(String initialFirmware) {
this.initialFirmware = initialFirmware;
}
}
package com.demo.entity.po.bak;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* 有风险的app
*/
@Document(collection="RiskApp")
public class RiskApp {
private String name;
private String pn;
private String uri;
private String os;
public RiskApp() {
}
public RiskApp(String name, String pn, String uri, String os) {
this.name = name;
this.pn = pn;
this.uri = uri;
this.os = os;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPn() {
return pn;
}
public void setPn(String pn) {
this.pn = pn;
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
public String getOs() {
return os;
}
public void setOs(String os) {
this.os = os;
}
}
package com.demo.entity.po.bak;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* 有风险的文件夹
*/
@Document(collection="RiskDir")
public class RiskDir {
private String name;
private String dir;
private String type;
private String os;
public RiskDir() {
}
public RiskDir(String name, String dir, String type, String os) {
this.name = name;
this.dir = dir;
this.type = type;
this.os = os;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDir() {
return dir;
}
public void setDir(String dir) {
this.dir = dir;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getOs() {
return os;
}
public void setOs(String os) {
this.os = os;
}
}
package com.demo.entity.po.bak;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.List;
/**
* 有风险的文件
*/
@Document(collection="RiskFile")
public class RiskFile {
private String key;
private String type;
private String path;
private String option;
private List<String> words;
private String os;
public RiskFile() {
}
public RiskFile(String key, String type, String path, String option, List<String> words, String os) {
this.key = key;
this.type = type;
this.path = path;
this.option = option;
this.words = words;
this.os = os;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getOption() {
return option;
}
public void setOption(String option) {
this.option = option;
}
public List<String> getWords() {
return words;
}
public void setWords(List<String> words) {
this.words = words;
}
public String getOs() {
return os;
}
public void setOs(String os) {
this.os = os;
}
}
//package com.demo.entity.po.bak;
//
//import com.demo.entity.dto.DeviceConfDataDto;
//import com.demo.entity.dto.SoftDto;
//import org.springframework.data.mongodb.core.mapping.Document;
//
//import java.util.List;
//
///**
// * 传感器信息
// */
//@Document(collection="SensorInfo")
//public class SensorInfoAndroid {
//
// private String reyunId;
// private String wifiSsid;//WIFI名字
// private String wifiBssid; //WIFI地址
// private String intranetIp;//内网IP
// private String ip;//公网IP
// private String systemBootTime;//系统启动时间
// private String diskTotalSize;//磁盘总空间
// private String diskFreeSize;//磁盘剩余空间
// private String memoryTotalSize;//总内存大小
// private String memoryFreeSize;//内存剩余大小
// private Boolean isRoot;//是否root
// private Boolean isVpn;//是否开了VPN
// private Boolean isProxy;//是否开了代理
// private Boolean isUSBDebug;//是否开启了USB调试
// private String batteryStatus;///电池状态
// private String batteryPower;//电池电量
// private Boolean isCharging;//是否充电中
// private Boolean isHelper;//是否开启辅助功能
// private List<String> sensor;//传感器
// private DeviceConfDataDto risk;
// private List<SoftDto> softlist;
//
// public String getReyunId() {
// return reyunId;
// }
//
// public void setReyunId(String reyunId) {
// this.reyunId = reyunId;
// }
//
// public String getWifiSsid() {
// return wifiSsid;
// }
//
// public void setWifiSsid(String wifiSsid) {
// this.wifiSsid = wifiSsid;
// }
//
// public String getWifiBssid() {
// return wifiBssid;
// }
//
// public void setWifiBssid(String wifiBssid) {
// this.wifiBssid = wifiBssid;
// }
//
// public String getIntranetIp() {
// return intranetIp;
// }
//
// public void setIntranetIp(String intranetIp) {
// this.intranetIp = intranetIp;
// }
//
// public String getIp() {
// return ip;
// }
//
// public void setIp(String ip) {
// this.ip = ip;
// }
//
// public String getSystemBootTime() {
// return systemBootTime;
// }
//
// public void setSystemBootTime(String systemBootTime) {
// this.systemBootTime = systemBootTime;
// }
//
// public String getDiskTotalSize() {
// return diskTotalSize;
// }
//
// public void setDiskTotalSize(String diskTotalSize) {
// this.diskTotalSize = diskTotalSize;
// }
//
// public String getDiskFreeSize() {
// return diskFreeSize;
// }
//
// public void setDiskFreeSize(String diskFreeSize) {
// this.diskFreeSize = diskFreeSize;
// }
//
// public String getMemoryTotalSize() {
// return memoryTotalSize;
// }
//
// public void setMemoryTotalSize(String memoryTotalSize) {
// this.memoryTotalSize = memoryTotalSize;
// }
//
// public String getMemoryFreeSize() {
// return memoryFreeSize;
// }
//
// public void setMemoryFreeSize(String memoryFreeSize) {
// this.memoryFreeSize = memoryFreeSize;
// }
//
// public Boolean getRoot() {
// return isRoot;
// }
//
// public void setRoot(Boolean root) {
// isRoot = root;
// }
//
// public Boolean getVpn() {
// return isVpn;
// }
//
// public void setVpn(Boolean vpn) {
// isVpn = vpn;
// }
//
// public Boolean getProxy() {
// return isProxy;
// }
//
// public void setProxy(Boolean proxy) {
// isProxy = proxy;
// }
//
// public Boolean getUSBDebug() {
// return isUSBDebug;
// }
//
// public void setUSBDebug(Boolean USBDebug) {
// isUSBDebug = USBDebug;
// }
//
// public String getBatteryStatus() {
// return batteryStatus;
// }
//
// public void setBatteryStatus(String batteryStatus) {
// this.batteryStatus = batteryStatus;
// }
//
// public String getBatteryPower() {
// return batteryPower;
// }
//
// public void setBatteryPower(String batteryPower) {
// this.batteryPower = batteryPower;
// }
//
// public Boolean getCharging() {
// return isCharging;
// }
//
// public void setCharging(Boolean charging) {
// isCharging = charging;
// }
//
// public Boolean getHelper() {
// return isHelper;
// }
//
// public void setHelper(Boolean helper) {
// isHelper = helper;
// }
//
// public List<String> getSensor() {
// return sensor;
// }
//
// public void setSensor(List<String> sensor) {
// this.sensor = sensor;
// }
//
// public DeviceConfDataDto getRisk() {
// return risk;
// }
//
// public void setRisk(DeviceConfDataDto risk) {
// this.risk = risk;
// }
//
// public List<SoftDto> getSoftlist() {
// return softlist;
// }
//
// public void setSoftlist(List<SoftDto> softlist) {
// this.softlist = softlist;
// }
//}
//package com.demo.entity.po.bak;
//
//import com.demo.entity.dto.DeviceConfDataDto;
//import com.demo.entity.dto.SoftDto;
//import org.springframework.data.mongodb.core.mapping.Document;
//
//import java.util.List;
//
///**
// * 传感器信息
// */
//@Document(collection="SensorInfo")
//public class SensorInfoIos {
//
// private String reyunId;
// private String batteryPower;//电池电量
// private String batteryStatus;//电池状态
// private String intranetIp;//内网IP
// private String ip;//公网IP
// private String wifiBssid;//wifi标识
// private String diskTotalSize;//磁盘总空间
// private String diskFreeSize;//磁盘剩余空间
// private String memoryTotalSize;//总内存大小
// private String memoryFreeSize;//内存剩余大小
// private Boolean isRoot;//是否root
// private Boolean isVpn;//是否开了VPN
// private Boolean isProxy;//是否开了代理
// private String cpuUsage;//cpu负载
// private String activeMemoryValue;//已使用内存
// private String currentCountry;//国家
// private String gatewayAddress; //网关地址
// private String localDeviceIP;//内网IP
// private String networkIP; //外网IP
// private String perCPUUsage;//各个cpu负载
// private String purgableMemoryValue;
// private String latestFirmware;
// private String latestSystemUptime;
// private DeviceConfDataDto risk;
// private List<SoftDto> softlist;
//
//
// public String getReyunId() {
// return reyunId;
// }
//
// public void setReyunId(String reyunId) {
// this.reyunId = reyunId;
// }
//
// public String getBatteryPower() {
// return batteryPower;
// }
//
// public void setBatteryPower(String batteryPower) {
// this.batteryPower = batteryPower;
// }
//
// public String getBatteryStatus() {
// return batteryStatus;
// }
//
// public void setBatteryStatus(String batteryStatus) {
// this.batteryStatus = batteryStatus;
// }
//
// public String getIntranetIp() {
// return intranetIp;
// }
//
// public void setIntranetIp(String intranetIp) {
// this.intranetIp = intranetIp;
// }
//
// public String getIp() {
// return ip;
// }
//
// public void setIp(String ip) {
// this.ip = ip;
// }
//
// public String getWifiBssid() {
// return wifiBssid;
// }
//
// public void setWifiBssid(String wifiBssid) {
// this.wifiBssid = wifiBssid;
// }
//
// public String getDiskTotalSize() {
// return diskTotalSize;
// }
//
// public void setDiskTotalSize(String diskTotalSize) {
// this.diskTotalSize = diskTotalSize;
// }
//
// public String getDiskFreeSize() {
// return diskFreeSize;
// }
//
// public void setDiskFreeSize(String diskFreeSize) {
// this.diskFreeSize = diskFreeSize;
// }
//
// public String getMemoryTotalSize() {
// return memoryTotalSize;
// }
//
// public void setMemoryTotalSize(String memoryTotalSize) {
// this.memoryTotalSize = memoryTotalSize;
// }
//
// public String getMemoryFreeSize() {
// return memoryFreeSize;
// }
//
// public void setMemoryFreeSize(String memoryFreeSize) {
// this.memoryFreeSize = memoryFreeSize;
// }
//
// public Boolean getRoot() {
// return isRoot;
// }
//
// public void setRoot(Boolean root) {
// isRoot = root;
// }
//
// public Boolean getVpn() {
// return isVpn;
// }
//
// public void setVpn(Boolean vpn) {
// isVpn = vpn;
// }
//
// public Boolean getProxy() {
// return isProxy;
// }
//
// public void setProxy(Boolean proxy) {
// isProxy = proxy;
// }
//
// public String getCpuUsage() {
// return cpuUsage;
// }
//
// public void setCpuUsage(String cpuUsage) {
// this.cpuUsage = cpuUsage;
// }
//
// public String getActiveMemoryValue() {
// return activeMemoryValue;
// }
//
// public void setActiveMemoryValue(String activeMemoryValue) {
// this.activeMemoryValue = activeMemoryValue;
// }
//
// public String getCurrentCountry() {
// return currentCountry;
// }
//
// public void setCurrentCountry(String currentCountry) {
// this.currentCountry = currentCountry;
// }
//
// public String getGatewayAddress() {
// return gatewayAddress;
// }
//
// public void setGatewayAddress(String gatewayAddress) {
// this.gatewayAddress = gatewayAddress;
// }
//
// public String getLocalDeviceIP() {
// return localDeviceIP;
// }
//
// public void setLocalDeviceIP(String localDeviceIP) {
// this.localDeviceIP = localDeviceIP;
// }
//
// public String getNetworkIP() {
// return networkIP;
// }
//
// public void setNetworkIP(String networkIP) {
// this.networkIP = networkIP;
// }
//
// public String getPerCPUUsage() {
// return perCPUUsage;
// }
//
// public void setPerCPUUsage(String perCPUUsage) {
// this.perCPUUsage = perCPUUsage;
// }
//
// public String getPurgableMemoryValue() {
// return purgableMemoryValue;
// }
//
// public void setPurgableMemoryValue(String purgableMemoryValue) {
// this.purgableMemoryValue = purgableMemoryValue;
// }
//
// public String getLatestFirmware() {
// return latestFirmware;
// }
//
// public void setLatestFirmware(String latestFirmware) {
// this.latestFirmware = latestFirmware;
// }
//
// public String getLatestSystemUptime() {
// return latestSystemUptime;
// }
//
// public void setLatestSystemUptime(String latestSystemUptime) {
// this.latestSystemUptime = latestSystemUptime;
// }
//
// public DeviceConfDataDto getRisk() {
// return risk;
// }
//
// public void setRisk(DeviceConfDataDto risk) {
// this.risk = risk;
// }
//
// public List<SoftDto> getSoftlist() {
// return softlist;
// }
//
// public void setSoftlist(List<SoftDto> softlist) {
// this.softlist = softlist;
// }
//}
package com.demo.entity.po.bak;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* 热更新部分
*/
@Document(collection="UpdateInfo")
public class UpdateInfo {
private Boolean isupdate;
private String jarurl; //jar下载地址
private String key; //解密jar包的key
private Boolean status;//0不可用 1可用
public Boolean getIsupdate() {
return isupdate;
}
public void setIsupdate(Boolean isupdate) {
this.isupdate = isupdate;
}
public String getJarurl() {
return jarurl;
}
public void setJarurl(String jarurl) {
this.jarurl = jarurl;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
}
package com.demo.entity.vo;
import com.demo.entity.vo.common.BaseParam;
/**
* 用于作为接口deviceconf的入参
*/
public class DeviceConfVo extends BaseParam {
}
package com.demo.entity.vo;
import com.demo.entity.vo.common.BaseParam;
/**
* 用于作为接口deviceid的入参
*/
public class DeviceIdVo extends BaseParam {
private String data; //base64加密数据
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
package com.demo.entity.vo;
import com.demo.entity.vo.common.BaseParam;
/**
* 用于作为接口dsensor的入参
*/
public class SensorVo extends BaseParam {
private String data; //base64加密数据
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
package com.demo.entity.vo.common;
public class BaseParam {
private String apppn; //app对应的包名
private String os; //ios还是android
private String sdkver; //sdk版本
private String gorganization; //公司名称
public String getApppn() {
return apppn;
}
public void setApppn(String apppn) {
this.apppn = apppn;
}
public String getOs() {
return os;
}
public void setOs(String os) {
this.os = os;
}
public String getSdkver() {
return sdkver;
}
public void setSdkver(String sdkver) {
this.sdkver = sdkver;
}
public String getGorganization() {
return gorganization;
}
public void setGorganization(String gorganization) {
gorganization = gorganization.toLowerCase();
this.gorganization = gorganization;
}
}
package com.demo.mongodb;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.demo.entity.po.DeviceConf;
import com.demo.util.ResultObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/data")
public class DataImportController {
@Autowired
private MongoTemplate mongoTemplate;
/**
* 描述:新增配置信息
*
* @return ResultObject
* @author maochengyuan
* @created 2018/9/1 20:17
*/
@RequestMapping(value = "/insertIOSConf", method = RequestMethod.GET)
@ResponseBody
public ResultObject insertIOSConf() {
String str = "{\n" +
"\t\"risk_apps\": [{\n" +
"\t\t\"name\": \"awz\",\n" +
"\t\t\"pn\": \"/Applications/AWZ.app\",\n" +
"\t\t\"uri\": \"IGG://\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"nzt\",\n" +
"\t\t\"pn\": \"/Applications/NZT.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"igvx\",\n" +
"\t\t\"pn\": \"/Applications/igvx.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"touchelf\",\n" +
"\t\t\"pn\": \"/Applications/TouchElf.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"touchsprite\",\n" +
"\t\t\"pn\": \"/Applications/TouchSprite.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"wujivpn\",\n" +
"\t\t\"pn\": \"/Applications/WujiVPN.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"rst\",\n" +
"\t\t\"pn\": \"/Applications/RST.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"forge9\",\n" +
"\t\t\"pn\": \"/Applications/Forge9.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"forge\",\n" +
"\t\t\"pn\": \"/Applications/Forge.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"gfaker\",\n" +
"\t\t\"pn\": \"/Applications/GFaker.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"hdfaker\",\n" +
"\t\t\"pn\": \"/Applications/hdfakerset.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"r8\",\n" +
"\t\t\"pn\": \"/Applications/R8.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"pranava\",\n" +
"\t\t\"pn\": \"/Applications/Pranava.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"ig\",\n" +
"\t\t\"pn\": \"/Applications/iG.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"hiddenapi\",\n" +
"\t\t\"pn\": \"/Applications/HiddenApi.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"xgsab\",\n" +
"\t\t\"pn\": \"/Applications/Xgen.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"birdfaker9\",\n" +
"\t\t\"pn\": \"/Applications/BirdFaker9.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vpnmaster\",\n" +
"\t\t\"pn\": \"/Applications/VPNMasterPro.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"guizmovpn\",\n" +
"\t\t\"pn\": \"/Applications/GuizmOVPN.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"axj\",\n" +
"\t\t\"pn\": \"/Applications/AXJ.app\",\n" +
"\t\t\"uri\": \"\"\n" +
"\t}],\n" +
"\t\"risk_dirs\": [{\n" +
"\t\t\"name\": \"vts\",\n" +
"\t\t\"dir\": \"/var/touchelf/scripts/\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmmtl\",\n" +
"\t\t\"dir\": \"/var/mobile/Media/TouchSprite/lua/\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmlxlltp\",\n" +
"\t\t\"dir\": \"/var/mobile/Library/XXAssistant/Lua/Luas/Temp/public\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"laxlltp\",\n" +
"\t\t\"dir\": \"/Library/ApplicationSupport/XXAssistant/Lua/Luas/Temp/public\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmlxx\",\n" +
"\t\t\"dir\": \"/var/mobile/Library/XXIDEHelper/xsp/\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"laxx\",\n" +
"\t\t\"dir\": \"/Library/ApplicationSupport/XXIDEHelper/xsp/\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmlxll\",\n" +
"\t\t\"dir\": \"/var/mobile/Library/XXAssistant/Lua/LocalLuas/\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"laxll\",\n" +
"\t\t\"dir\": \"/Library/ApplicationSupport/XXAssistant/Lua/LocalLuas/\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vri\",\n" +
"\t\t\"dir\": \"/var/root/igfix\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vrigf\",\n" +
"\t\t\"dir\": \"/var/root/igflag\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vrr8f\",\n" +
"\t\t\"dir\": \"/var/root/R8_fix\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vrif\",\n" +
"\t\t\"dir\": \"/var/root/igvx_fix\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vrifg\",\n" +
"\t\t\"dir\": \"/var/root/igvx_flag\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vrf9\",\n" +
"\t\t\"dir\": \"/var/root/Forge9_fix\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"ubi\",\n" +
"\t\t\"dir\": \"/usr/bin/iGevo\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"ubxd\",\n" +
"\t\t\"dir\": \"/usr/bin/XGenDaemon.dylib\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmgfaker\",\n" +
"\t\t\"dir\": \"/var/mobile/GFaker\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmnztdata\",\n" +
"\t\t\"dir\": \"/var/mobile/nztdata\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmawzdata\",\n" +
"\t\t\"dir\": \"/var/mobile/awzdata\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmigrimace\",\n" +
"\t\t\"dir\": \"/var/mobile/iGrimace\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmhdfaker\",\n" +
"\t\t\"dir\": \"/var/mobile/hdFaker\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}, {\n" +
"\t\t\"name\": \"vmnztresult\",\n" +
"\t\t\"dir\": \"/var/mobile/NZTResult.plist\",\n" +
"\t\t\"type\": \"absolute\"\n" +
"\t}],\n" +
"\t\"smsckey\": [{\n" +
"\t\t\t\"key\": \"name\",\n" +
"\t\t\t\"clazz\": \"UIDevice\",\n" +
"\t\t\t\"method\": \"name\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"model\",\n" +
"\t\t\t\"clazz\": \"UIDevice\",\n" +
"\t\t\t\"method\": \"model\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"platform\",\n" +
"\t\t\t\"clazz\": \"UIDevice\",\n" +
"\t\t\t\"method\": \"platform\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"hwmodel\",\n" +
"\t\t\t\"clazz\": \"UIDevice\",\n" +
"\t\t\t\"method\": \"hwmodel\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"systemVersion\",\n" +
"\t\t\t\"clazz\": \"UIDevice\",\n" +
"\t\t\t\"method\": \"systemVersion\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"localizedModel\",\n" +
"\t\t\t\"clazz\": \"UIDevice\",\n" +
"\t\t\t\"method\": \"localizedModel\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"identifierForVendor\",\n" +
"\t\t\t\"clazz\": \"UIDevice\",\n" +
"\t\t\t\"method\": \"identifierForVendor\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"carrierName\",\n" +
"\t\t\t\"clazz\": \"CTCarrier\",\n" +
"\t\t\t\"method\": \"carrierName\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"isoCountryCode\",\n" +
"\t\t\t\"clazz\": \"CTCarrier\",\n" +
"\t\t\t\"method\": \"isoCountryCode\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"mobileCountryCode\",\n" +
"\t\t\t\"clazz\": \"CTCarrier\",\n" +
"\t\t\t\"method\": \"mobileCountryCode\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"mobileNetworkCode\",\n" +
"\t\t\t\"clazz\": \"CTCarrier\",\n" +
"\t\t\t\"method\": \"mobileNetworkCode\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"isReachableViaWiFi\",\n" +
"\t\t\t\"clazz\": \"Reachability\",\n" +
"\t\t\t\"method\": \"isReachableViaWiFi\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"isReachableViaWWANP\",\n" +
"\t\t\t\"clazz\": \"Reachability\",\n" +
"\t\t\t\"method\": \"isReachableViaWWANP\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"reachabilityForInternetConnection\",\n" +
"\t\t\t\"clazz\": \"Reachability\",\n" +
"\t\t\t\"method\": \"reachabilityForInternetConnection\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"currentRadioAccessTechnology\",\n" +
"\t\t\t\"clazz\": \"CTTelephonyNetworkInfo\",\n" +
"\t\t\t\"method\": \"currentRadioAccessTechnology\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"value\",\n" +
"\t\t\t\"clazz\": \"OpenUDID\",\n" +
"\t\t\t\"method\": \"value\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"valueWithError\",\n" +
"\t\t\t\"clazz\": \"OpenUDID\",\n" +
"\t\t\t\"method\": \"valueWithError\",\n" +
"\t\t\t\"type\": \"oc\"\n" +
"\t\t}\n" +
"\t],\n" +
"\"period\":1800"+
"}";
str = str.replaceAll("\n","");
str = str.replaceAll("\t","");
DeviceConf deviceConf = new DeviceConf(str, true, "ios");
mongoTemplate.insert(deviceConf);
return new ResultObject(HttpServletResponse.SC_OK);
}
/**
* 描述:新增配置信息
*
* @return ResultObject
* @author maochengyuan
* @created 2018/9/1 20:17
*/
@RequestMapping(value = "/insertAndroidConf", method = RequestMethod.GET)
@ResponseBody
public ResultObject insertAndroidConf() {
String str = "{\n" +
"\t\"risk_apps\": [{\n" +
"\t\t\t\"name\": \"xposed\",\n" +
"\t\t\t\"pn\": \"de.robv.android.xposed.installer\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"controllers\",\n" +
"\t\t\t\"pn\": \"com.soft.controllers\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"apk008v\",\n" +
"\t\t\t\"pn\": \"com.soft.apk008v\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"apk008Tool\",\n" +
"\t\t\t\"pn\": \"com.soft.apk008Tool\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"ig\",\n" +
"\t\t\t\"pn\": \"com.doubee.ig\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"anjian\",\n" +
"\t\t\t\"pn\": \"com.cyjh.mobileanjian\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"rktech\": {\n" +
"\t\t\t\t\"pn\": \"com.ruokuai.rktech\",\n" +
"\t\t\t\t\"uri\": \"\"\n" +
"\t\t\t}\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"magisk\",\n" +
"\t\t\t\"pn\": \"com.topjohnwu.magisk\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"kinguser\",\n" +
"\t\t\t\"pn\": \"com.kingroot.kinguser\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"substrate\",\n" +
"\t\t\t\"pn\": \"com.saurik.substrate\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"touchsprite\",\n" +
"\t\t\t\"pn\": \"com.touchsprite.android\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"scriptdroid\",\n" +
"\t\t\t\"pn\": \"com.stardust.scriptdroid\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"toolhero\",\n" +
"\t\t\t\"pn\": \"com.mobileuncle.toolhero\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"huluxia\",\n" +
"\t\t\t\"pn\": \"com.huluxia.gametools\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"apkeditor\",\n" +
"\t\t\t\"pn\": \"com.gmail.heagoo.apkeditor.pro\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"xposeddev\",\n" +
"\t\t\t\"pn\": \"com.sollyu.xposed.hook.model.dev\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"anywhere\",\n" +
"\t\t\t\"pn\": \"com.txy.anywhere\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"burgerzwsm\",\n" +
"\t\t\t\"pn\": \"pro.burgerz.wsm.manager\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"vdloc\",\n" +
"\t\t\t\"pn\": \"com.virtualdroid.loc\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"vdtxl\",\n" +
"\t\t\t\"pn\": \"com.virtualdroid.txl\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"vdwzs\",\n" +
"\t\t\t\"pn\": \"com.virtualdroid.wzs\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"vdkit\",\n" +
"\t\t\t\"pn\": \"com.virtualdroid.kit\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"vdwxg\",\n" +
"\t\t\t\"pn\": \"com.virtualdroid.wxg\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"vdgps\",\n" +
"\t\t\t\"pn\": \"com.virtualdroid.gps\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"a1024mloc\",\n" +
"\t\t\t\"pn\": \"top.a1024bytes.mockloc.ca.pro\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"drhgz\",\n" +
"\t\t\t\"pn\": \"com.deruhai.guangzi.noroot2\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"yggb\",\n" +
"\t\t\t\"pn\": \"com.mcmonjmb.yggb\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"xsrv\",\n" +
"\t\t\t\"pn\": \"xiake.xserver\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"fakeloc\",\n" +
"\t\t\t\"pn\": \"com.dracrays.fakeloc\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"ultra\",\n" +
"\t\t\t\"pn\": \"net.anylocation.ultra\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"locationcheater\",\n" +
"\t\t\t\"pn\": \"com.wifi99.android.locationcheater\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"dwzs\",\n" +
"\t\t\t\"pn\": \"com.dingweizshou\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"mockloc\",\n" +
"\t\t\t\"pn\": \"top.a1024bytes.mockloc.ca.pro\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"anywhereclone\",\n" +
"\t\t\t\"pn\": \"com.txy.anywhere.clone\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"fakelocc\",\n" +
"\t\t\t\"pn\": \"com.dracrays.fakelocc\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"mockwxlocation\",\n" +
"\t\t\t\"pn\": \"com.tandy.android.mockwxlocation\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"anylocation\",\n" +
"\t\t\t\"pn\": \"net.anylocation\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"totalcontrol\",\n" +
"\t\t\t\"pn\": \"com.sigma_rt.totalcontrol\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"ipjl2\",\n" +
"\t\t\t\"pn\": \"com.chuangdian.ipjl2\",\n" +
"\t\t\t\"uri\": \"\"\n" +
"\n" +
"\t\t}\n" +
"\t],\n" +
"\t\"risk_dirs\": [{\n" +
"\t\t\t\"name\": \"touchelper\",\n" +
"\t\t\t\"dir\": \"/data/data/net.aisence.Touchelper\",\n" +
"\t\t\t\"type\": \"absolute\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"elfscript\",\n" +
"\t\t\t\"dir\": \"/mnt/sdcard/touchelf/scripts/\",\n" +
"\t\t\t\"type\": \"absolute\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"spritelua\",\n" +
"\t\t\t\"dir\": \"/mnt/sdcard/TouchSprite/lua\",\n" +
"\t\t\t\"type\": \"absolute\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"spritelog\",\n" +
"\t\t\t\"dir\": \"/mnt/sdcard/TouchSprite/log\",\n" +
"\t\t\t\"type\": \"absolute\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"assistant\",\n" +
"\t\t\t\"dir\": \"/data/data/com.xxAssistant\",\n" +
"\t\t\t\"type\": \"absolute\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"assistantscript\",\n" +
"\t\t\t\"dir\": \"/mnt/sdcard/com.xxAssistant/script\",\n" +
"\t\t\t\"type\": \"absolute\"\n" +
"\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\": \"mobileanjian\",\n" +
"\t\t\t\"dir\": \"/data/data/com.cyjh.mobileanjian\",\n" +
"\t\t\t\"type\": \"absolute\"\n" +
"\n" +
"\t\t}\n" +
"\t],\n" +
"\t\"risk_file_switch\": true,\n" +
"\t\"risk_files\": [{\n" +
"\t\t\t\"key\": \"maps\",\n" +
"\t\t\t\"type\": \"file\",\n" +
"\t\t\t\"path\": \"file:///proc/self/maps\",\n" +
"\t\t\t\"option\": \"match_ic\",\n" +
"\t\t\t\"words\": [\n" +
"\t\t\t\t\"com.bly.dkplat\",\n" +
"\t\t\t\t\"com.excelliance.dualaid\",\n" +
"\t\t\t\t\"com.bfire.da.nui\",\n" +
"\t\t\t\t\"com.svm.proteinbox_multi\",\n" +
"\t\t\t\t\"com.boly.wxnewcopy\",\n" +
"\t\t\t\t\"com.juying.Jixiaomi.fenshen\",\n" +
"\t\t\t\t\"com.qihoo.magic\",\n" +
"\t\t\t\t\"com.godinsec.godinsec_private_space\",\n" +
"\t\t\t\t\"com.sellapk.goapp\",\n" +
"\t\t\t\t\"com.yizhi.ftd\",\n" +
"\t\t\t\t\"com.qihoo.magic.xposed\",\n" +
"\t\t\t\t\"com.excean.dualaid\",\n" +
"\t\t\t\t\"com.shiyue.avatarlauncher\",\n" +
"\t\t\t\t\"com.excean.masaid\",\n" +
"\t\t\t\t\"com.rinzz.avatar\",\n" +
"\t\t\t\t\"info.red.virtual\",\n" +
"\t\t\t\t\"com.depu.wxfs\",\n" +
"\t\t\t\t\"com.sheep2.xyfs\",\n" +
"\t\t\t\t\"cn.nineox.pupfish\",\n" +
"\t\t\t\t\"com.shaker.wxxh.moli.fs\",\n" +
"\t\t\t\t\"com.fssq.weichat\",\n" +
"\t\t\t\t\"com.smallyin.Avaassis\",\n" +
"\t\t\t\t\"com.meta.app.fenshen\",\n" +
"\t\t\t\t\"com.yxd.shpk_multi\",\n" +
"\t\t\t\t\"com.xiandong.fst\",\n" +
"\t\t\t\t\"com.xunrui.duokai_box\",\n" +
"\t\t\t\t\"com.felix.shuangkai\",\n" +
"\t\t\t\t\"com.dbhydbhy.duokai\",\n" +
"\t\t\t\t\"com.xuanmutech.fenkai\",\n" +
"\t\t\t\t\"com.felix.duokai\",\n" +
"\t\t\t\t\"com.magic.app.reader01\",\n" +
"\t\t\t\t\"com.cxhcxh.duokai\",\n" +
"\t\t\t\t\"com.dongguaququ.duokai\",\n" +
"\t\t\t\t\"com.felix.fenshen\",\n" +
"\t\t\t\t\"com.nox.mopen.app\",\n" +
"\t\t\t\t\"com.boly.wxmultopen\",\n" +
"\t\t\t\t\"com.tyzhzxl.dkwxzs\",\n" +
"\t\t\t\t\"com.chufa.skzs\",\n" +
"\t\t\t\t\"com.lbe.parallel\",\n" +
"\t\t\t\t\"dkmodel\",\n" +
"\t\t\t\t\"io.virtualapp\",\n" +
"\t\t\t\t\"com.coloros.oppomultiapp\",\n" +
"\t\t\t\t\"com.lbe.parallel.intl\",\n" +
"\t\t\t\t\"com.jumobile.multiapp\",\n" +
"\t\t\t\t\"com.jumobile.smartapp\",\n" +
"\t\t\t\t\"info.cloneapp.mochat.in.goast\",\n" +
"\t\t\t\t\"com.excelliance.multiaccounts\",\n" +
"\t\t\t\t\"com.ludashi.dualspace\",\n" +
"\t\t\t\t\"cn.lapstudio.weiduokai\",\n" +
"\t\t\t\t\"com.parallel.space.lite\",\n" +
"\t\t\t\t\"com.jiubang.commerce.gomultiple\",\n" +
"\t\t\t\t\"cn.lapstudio.aid\",\n" +
"\t\t\t\t\"com.arc.multi\",\n" +
"\t\t\t\t\"com.nox.mopen.app\",\n" +
"\t\t\t\t\"io.virtualapp.luohe\",\n" +
"\t\t\t\t\"com.ludashi.superboost\",\n" +
"\t\t\t\t\"com.zhushou.weichat\",\n" +
"\t\t\t\t\"zc.wormhole\",\n" +
"\t\t\t\t\"com.lanrun.yxjl\",\n" +
"\t\t\t\t\"com.ivymobi.multiaccount.free\",\n" +
"\t\t\t\t\"cloner.parallel.space.multiple.accounts.twoface\",\n" +
"\t\t\t\t\"com.lylm.dkzs\",\n" +
"\t\t\t\t\"com.rinzz.avatar\",\n" +
"\t\t\t\t\"com.ludashi.multspace\",\n" +
"\t\t\t\t\"com.trigtech.privateme\",\n" +
"\t\t\t\t\"com.jun.virtual\",\n" +
"\t\t\t\t\"com.pldasoft.dualapp\",\n" +
"\t\t\t\t\"com.youxi.shuangkai.help\",\n" +
"\t\t\t\t\"com.jumobile.multiapp.pro\",\n" +
"\t\t\t\t\"com.applisto.appcloner\",\n" +
"\t\t\t\t\"multiple.multiple.parallel.accounts.cloner.mochat\",\n" +
"\t\t\t\t\"com.bba.vma\",\n" +
"\t\t\t\t\"com.rinzz.wdf\"\n" +
"\t\t\t]\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"interrupts\",\n" +
"\t\t\t\"type\": \"file\",\n" +
"\t\t\t\"path\": \"file:///proc/interrupts\",\n" +
"\t\t\t\"words\": [\n" +
"\t\t\t\t\"hypervisor\",\n" +
"\t\t\t\t\"goldfish\"\n" +
"\t\t\t]\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"iomem\",\n" +
"\t\t\t\"type\": \"file\",\n" +
"\t\t\t\"path\": \"file:///proc/iomem\",\n" +
"\t\t\t\"option\": \"match\",\n" +
"\t\t\t\"words\": [\n" +
"\t\t\t\t\"qemu-pipe\",\n" +
"\t\t\t\t\"goldfish\",\n" +
"\t\t\t\t\"vbox\"\n" +
"\t\t\t]\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"ioports\",\n" +
"\t\t\t\"type\": \"file\",\n" +
"\t\t\t\"path\": \"file:///proc/ioports\",\n" +
"\t\t\t\"words\": [\n" +
"\t\t\t\t\"virtio\",\n" +
"\t\t\t\t\"goldfish\"\n" +
"\t\t\t]\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"misc\",\n" +
"\t\t\t\"type\": \"file\",\n" +
"\t\t\t\"path\": \"file:///proc/misc\",\n" +
"\t\t\t\"words\": [\n" +
"\t\t\t\t\"vbox\",\n" +
"\t\t\t\t\"qemu\"\n" +
"\t\t\t]\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"key\": \"kallsyms\",\n" +
"\t\t\t\"type\": \"file\",\n" +
"\t\t\t\"path\": \"file:///proc/kallsyms\",\n" +
"\t\t\t\"words\": [\n" +
"\t\t\t\t\"vbox\",\n" +
"\t\t\t\t\"qemu\",\n" +
"\t\t\t\t\"goldfish\"\n" +
"\t\t\t]\n" +
"\t\t}\n" +
"\t],\n" +
"\t\"updata\": {\n" +
"\t\t\"isupdata\": \"true\",\n" +
"\t\t\"jarurl\": \"jar包下载地址\",\n" +
"\t\t\"key\": \"解密jar包key\"\n" +
"\t},\n" +
"\t\"white_apps\": [\n" +
"\n" +
"\t],\n" +
"\"period\":1800"+
"}";
str = str.replaceAll("\n","");
str = str.replaceAll("\t","");
DeviceConf deviceConf = new DeviceConf(str, true, "android");
mongoTemplate.insert(deviceConf);
return new ResultObject(HttpServletResponse.SC_OK);
}
// /**
// * 描述:新增
// *
// * @return ResultObject
// * @author maochengyuan
// * @created 2018/9/1 20:17
// */
// @RequestMapping(value = "/insertRiskAppIos", method = RequestMethod.GET)
// @ResponseBody
// public ResultObject insertRiskApp() {
// String str = "[{\n" +
// "\t\t\"awz\": {\n" +
// "\t\t\t\"pn\": \"/Applications/AWZ.app\",\n" +
// "\t\t\t\"uri\": \"IGG://\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"nzt\": {\n" +
// "\t\t\t\"pn\": \"/Applications/NZT.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"igvx\": {\n" +
// "\t\t\t\"pn\": \"/Applications/igvx.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"touchelf\": {\n" +
// "\t\t\t\"pn\": \"/Applications/TouchElf.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"touchsprite\": {\n" +
// "\t\t\t\"pn\": \"/Applications/TouchSprite.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"wujivpn\": {\n" +
// "\t\t\t\"pn\": \"/Applications/WujiVPN.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"rst\": {\n" +
// "\t\t\t\"pn\": \"/Applications/RST.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"forge9\": {\n" +
// "\t\t\t\"pn\": \"/Applications/Forge9.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"forge\": {\n" +
// "\t\t\t\"pn\": \"/Applications/Forge.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"gfaker\": {\n" +
// "\t\t\t\"pn\": \"/Applications/GFaker.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"hdfaker\": {\n" +
// "\t\t\t\"pn\": \"/Applications/hdfakerset.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"r8\": {\n" +
// "\t\t\t\"pn\": \"/Applications/R8.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"pranava\": {\n" +
// "\t\t\t\"pn\": \"/Applications/Pranava.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"ig\": {\n" +
// "\t\t\t\"pn\": \"/Applications/iG.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"hiddenapi\": {\n" +
// "\t\t\t\"pn\": \"/Applications/HiddenApi.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"xgsab\": {\n" +
// "\t\t\t\"pn\": \"/Applications/Xgen.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"birdfaker9\": {\n" +
// "\t\t\t\"pn\": \"/Applications/BirdFaker9.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vpnmaster\": {\n" +
// "\t\t\t\"pn\": \"/Applications/VPNMasterPro.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"guizmovpn\": {\n" +
// "\t\t\t\"pn\": \"/Applications/GuizmOVPN.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"axj\": {\n" +
// "\t\t\t\"pn\": \"/Applications/AXJ.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t}\n" +
// "]";
//
// JSONArray jsonArray = JSON.parseArray(str);
// for (int i = 0; i < jsonArray.size(); i++) {
// Map map = jsonArray.getJSONObject(i);
// for (Object obj : map.keySet()) {
// String name = (String) obj;
// JSONObject json = (JSONObject) map.get(obj);
//
// String pn = json.getString("pn");
// String uri = json.getString("uri");
// RiskApp riskApp = new RiskApp(name, pn, uri, "ios");
// mongoTemplate.insert(riskApp);
// System.out.println("插入数量:"+i+1);
// }
//
// }
// return new ResultObject(HttpServletResponse.SC_OK);
//
// }
//
//
// /**
// * 描述:新增
// *
// * @return ResultObject
// * @author maochengyuan
// * @created 2018/9/1 20:17
// */
// @RequestMapping(value = "/insertRiskAppAndroid", method = RequestMethod.GET)
// @ResponseBody
// public ResultObject insertRiskAppAndroid() {
// String str = "[{\n" +
// "\t\t\"xposed\": {\n" +
// "\t\t\t\"pn\": \"de.robv.android.xposed.installer\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"controllers\": {\n" +
// "\t\t\t\"pn\": \"com.soft.controllers\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"apk008v\": {\n" +
// "\t\t\t\"pn\": \"com.soft.apk008v\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"apk008Tool\": {\n" +
// "\t\t\t\"pn\": \"com.soft.apk008Tool\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"ig\": {\n" +
// "\t\t\t\"pn\": \"com.doubee.ig\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"anjian\": {\n" +
// "\t\t\t\"pn\": \"com.cyjh.mobileanjian\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"rktech\": {\n" +
// "\t\t\t\"pn\": \"com.ruokuai.rktech\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"magisk\": {\n" +
// "\t\t\t\"pn\": \"com.topjohnwu.magisk\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"kinguser\": {\n" +
// "\t\t\t\"pn\": \"com.kingroot.kinguser\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"substrate\": {\n" +
// "\t\t\t\"pn\": \"com.saurik.substrate\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"touchsprite\": {\n" +
// "\t\t\t\"pn\": \"com.touchsprite.android\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"scriptdroid\": {\n" +
// "\t\t\t\"pn\": \"com.stardust.scriptdroid\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"toolhero\": {\n" +
// "\t\t\t\"pn\": \"com.mobileuncle.toolhero\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"huluxia\": {\n" +
// "\t\t\t\"pn\": \"com.huluxia.gametools\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"apkeditor\": {\n" +
// "\t\t\t\"pn\": \"com.gmail.heagoo.apkeditor.pro\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"xposeddev\": {\n" +
// "\t\t\t\"pn\": \"com.sollyu.xposed.hook.model.dev\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"anywhere\": {\n" +
// "\t\t\t\"pn\": \"com.txy.anywhere\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"burgerzwsm\": {\n" +
// "\t\t\t\"pn\": \"pro.burgerz.wsm.manager\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vdloc\": {\n" +
// "\t\t\t\"pn\": \"com.virtualdroid.loc\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vdtxl\": {\n" +
// "\t\t\t\"pn\": \"com.virtualdroid.txl\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vdwzs\": {\n" +
// "\t\t\t\"pn\": \"com.virtualdroid.wzs\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vdkit\": {\n" +
// "\t\t\t\"pn\": \"com.virtualdroid.kit\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vdwxg\": {\n" +
// "\t\t\t\"pn\": \"com.virtualdroid.wxg\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vdgps\": {\n" +
// "\t\t\t\"pn\": \"com.virtualdroid.gps\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"a1024mloc\": {\n" +
// "\t\t\t\"pn\": \"top.a1024bytes.mockloc.ca.pro\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"drhgz\": {\n" +
// "\t\t\t\"pn\": \"com.deruhai.guangzi.noroot2\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"yggb\": {\n" +
// "\t\t\t\"pn\": \"com.mcmonjmb.yggb\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"xsrv\": {\n" +
// "\t\t\t\"pn\": \"xiake.xserver\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"fakeloc\": {\n" +
// "\t\t\t\"pn\": \"com.dracrays.fakeloc\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"ultra\": {\n" +
// "\t\t\t\"pn\": \"net.anylocation.ultra\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"locationcheater\": {\n" +
// "\t\t\t\"pn\": \"com.wifi99.android.locationcheater\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"dwzs\": {\n" +
// "\t\t\t\"pn\": \"com.dingweizshou\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"mockloc\": {\n" +
// "\t\t\t\"pn\": \"top.a1024bytes.mockloc.ca.pro\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"anywhereclone\": {\n" +
// "\t\t\t\"pn\": \"com.txy.anywhere.clone\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"fakelocc\": {\n" +
// "\t\t\t\"pn\": \"com.dracrays.fakelocc\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"mockwxlocation\": {\n" +
// "\t\t\t\"pn\": \"com.tandy.android.mockwxlocation\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"anylocation\": {\n" +
// "\t\t\t\"pn\": \"net.anylocation\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"totalcontrol\": {\n" +
// "\t\t\t\"pn\": \"com.sigma_rt.totalcontrol\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"ipjl2\": {\n" +
// "\t\t\t\"pn\": \"com.chuangdian.ipjl2\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t}\n" +
// "]";
//
// JSONArray jsonArray = JSON.parseArray(str);
// for (int i = 0; i < jsonArray.size(); i++) {
// Map map = jsonArray.getJSONObject(i);
// for (Object obj : map.keySet()) {
// String name = (String) obj;
// JSONObject json = (JSONObject) map.get(obj);
//
// String pn = json.getString("pn");
// String uri = json.getString("uri");
// RiskApp riskApp = new RiskApp(name, pn, uri, "android");
// mongoTemplate.insert(riskApp);
// System.out.println("插入数量:"+i+1);
// }
//
// }
// return new ResultObject(HttpServletResponse.SC_OK);
//
// }
//
//
//
// /**
// * 描述:新增
// *
// * @return ResultObject
// * @author maochengyuan
// * @created 2018/9/1 20:17
// */
// @RequestMapping(value = "/insertRiskDirIos", method = RequestMethod.GET)
// @ResponseBody
// public ResultObject insertRiskDirIos() {
// String str = "[{\n" +
// "\t\t\"vts\": {\n" +
// "\t\t\t\"dir\": \"/var/touchelf/scripts/\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmmtl\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/Media/TouchSprite/lua/\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmlxlltp\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/Library/XXAssistant/Lua/Luas/Temp/public\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"laxlltp\": {\n" +
// "\t\t\t\"dir\": \"/Library/ApplicationSupport/XXAssistant/Lua/Luas/Temp/public\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmlxx\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/Library/XXIDEHelper/xsp/\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"laxx\": {\n" +
// "\t\t\t\"dir\": \"/Library/ApplicationSupport/XXIDEHelper/xsp/\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmlxll\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/Library/XXAssistant/Lua/LocalLuas/\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"laxll\": {\n" +
// "\t\t\t\"dir\": \"/Library/ApplicationSupport/XXAssistant/Lua/LocalLuas/\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vri\": {\n" +
// "\t\t\t\"dir\": \"/var/root/igfix\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vrigf\": {\n" +
// "\t\t\t\"dir\": \"/var/root/igflag\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vrr8f\": {\n" +
// "\t\t\t\"dir\": \"/var/root/R8_fix\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vrif\": {\n" +
// "\t\t\t\"dir\": \"/var/root/igvx_fix\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vrifg\": {\n" +
// "\t\t\t\"dir\": \"/var/root/igvx_flag\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vrf9\": {\n" +
// "\t\t\t\"dir\": \"/var/root/Forge9_fix\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"ubi\": {\n" +
// "\t\t\t\"dir\": \"/usr/bin/iGevo\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"ubxd\": {\n" +
// "\t\t\t\"dir\": \"/usr/bin/XGenDaemon.dylib\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmgfaker\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/GFaker\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmnztdata\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/nztdata\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmawzdata\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/awzdata\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmigrimace\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/iGrimace\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmhdfaker\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/hdFaker\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vmnztresult\": {\n" +
// "\t\t\t\"dir\": \"/var/mobile/NZTResult.plist\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t}\n" +
// "]";
//
// JSONArray jsonArray = JSON.parseArray(str);
// for (int i = 0; i < jsonArray.size(); i++) {
// Map map = jsonArray.getJSONObject(i);
// for (Object obj : map.keySet()) {
// String name = (String) obj;
// JSONObject json = (JSONObject) map.get(obj);
//
// String pn = json.getString("dir");
// String uri = json.getString("type");
// RiskDir riskDir = new RiskDir(name, pn, uri, "ios");
// mongoTemplate.insert(riskDir);
// System.out.println("插入数量:"+i+1);
// }
//
// }
// return new ResultObject(HttpServletResponse.SC_OK);
//
// }
//
// /**
// * 描述:新增
// *
// * @return ResultObject
// * @author maochengyuan
// * @created 2018/9/1 20:17
// */
// @RequestMapping(value = "/insertRiskDirAndroid", method = RequestMethod.GET)
// @ResponseBody
// public ResultObject insertRiskDirAndroid() {
// String str = "[{\n" +
// "\t\t\"touchelper\": {\n" +
// "\t\t\t\"dir\": \"/data/data/net.aisence.Touchelper\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"elfscript\": {\n" +
// "\t\t\t\"dir\": \"/mnt/sdcard/touchelf/scripts/\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"spritelua\": {\n" +
// "\t\t\t\"dir\": \"/mnt/sdcard/TouchSprite/lua\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"spritelog\": {\n" +
// "\t\t\t\"dir\": \"/mnt/sdcard/TouchSprite/log\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"assistant\": {\n" +
// "\t\t\t\"dir\": \"/data/data/com.xxAssistant\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"assistantscript\": {\n" +
// "\t\t\t\"dir\": \"/mnt/sdcard/com.xxAssistant/script\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"mobileanjian\": {\n" +
// "\t\t\t\"dir\": \"/data/data/com.cyjh.mobileanjian\",\n" +
// "\t\t\t\"type\": \"absolute\"\n" +
// "\t\t}\n" +
// "\t}\n" +
// "]";
//
// JSONArray jsonArray = JSON.parseArray(str);
// for (int i = 0; i < jsonArray.size(); i++) {
// Map map = jsonArray.getJSONObject(i);
// for (Object obj : map.keySet()) {
// String name = (String) obj;
// JSONObject json = (JSONObject) map.get(obj);
//
// String pn = json.getString("dir");
// String uri = json.getString("type");
// RiskDir riskDir = new RiskDir(name, pn, uri, "android");
// mongoTemplate.insert(riskDir);
// System.out.println("插入数量:"+i+1);
// }
//
// }
// return new ResultObject(HttpServletResponse.SC_OK);
//
// }
//
//
//
// /**
// * 描述:新增
// *
// * @return ResultObject
// * @author maochengyuan
// * @created 2018/9/1 20:17
// */
// @RequestMapping(value = "/insertRiskFileAndroid", method = RequestMethod.GET)
// @ResponseBody
// public ResultObject insertRiskFileAndroid() {
// String str = "[{\n" +
// "\t\t\"key\": \"maps\",\n" +
// "\t\t\"type\": \"file\",\n" +
// "\t\t\"path\": \"file:///proc/self/maps\",\n" +
// "\t\t\"option\": \"match_ic\",\n" +
// "\t\t\"words\": [\n" +
// "\t\t\t\"com.bly.dkplat\",\n" +
// "\t\t\t\"com.excelliance.dualaid\",\n" +
// "\t\t\t\"com.bfire.da.nui\",\n" +
// "\t\t\t\"com.svm.proteinbox_multi\",\n" +
// "\t\t\t\"com.boly.wxnewcopy\",\n" +
// "\t\t\t\"com.juying.Jixiaomi.fenshen\",\n" +
// "\t\t\t\"com.qihoo.magic\",\n" +
// "\t\t\t\"com.godinsec.godinsec_private_space\",\n" +
// "\t\t\t\"com.sellapk.goapp\",\n" +
// "\t\t\t\"com.yizhi.ftd\",\n" +
// "\t\t\t\"com.qihoo.magic.xposed\",\n" +
// "\t\t\t\"com.excean.dualaid\",\n" +
// "\t\t\t\"com.shiyue.avatarlauncher\",\n" +
// "\t\t\t\"com.excean.masaid\",\n" +
// "\t\t\t\"com.rinzz.avatar\",\n" +
// "\t\t\t\"info.red.virtual\",\n" +
// "\t\t\t\"com.depu.wxfs\",\n" +
// "\t\t\t\"com.sheep2.xyfs\",\n" +
// "\t\t\t\"cn.nineox.pupfish\",\n" +
// "\t\t\t\"com.shaker.wxxh.moli.fs\",\n" +
// "\t\t\t\"com.fssq.weichat\",\n" +
// "\t\t\t\"com.smallyin.Avaassis\",\n" +
// "\t\t\t\"com.meta.app.fenshen\",\n" +
// "\t\t\t\"com.yxd.shpk_multi\",\n" +
// "\t\t\t\"com.xiandong.fst\",\n" +
// "\t\t\t\"com.xunrui.duokai_box\",\n" +
// "\t\t\t\"com.felix.shuangkai\",\n" +
// "\t\t\t\"com.dbhydbhy.duokai\",\n" +
// "\t\t\t\"com.xuanmutech.fenkai\",\n" +
// "\t\t\t\"com.felix.duokai\",\n" +
// "\t\t\t\"com.magic.app.reader01\",\n" +
// "\t\t\t\"com.cxhcxh.duokai\",\n" +
// "\t\t\t\"com.dongguaququ.duokai\",\n" +
// "\t\t\t\"com.felix.fenshen\",\n" +
// "\t\t\t\"com.nox.mopen.app\",\n" +
// "\t\t\t\"com.boly.wxmultopen\",\n" +
// "\t\t\t\"com.tyzhzxl.dkwxzs\",\n" +
// "\t\t\t\"com.chufa.skzs\",\n" +
// "\t\t\t\"com.lbe.parallel\",\n" +
// "\t\t\t\"dkmodel\",\n" +
// "\t\t\t\"io.virtualapp\",\n" +
// "\t\t\t\"com.coloros.oppomultiapp\",\n" +
// "\t\t\t\"com.lbe.parallel.intl\",\n" +
// "\t\t\t\"com.jumobile.multiapp\",\n" +
// "\t\t\t\"com.jumobile.smartapp\",\n" +
// "\t\t\t\"info.cloneapp.mochat.in.goast\",\n" +
// "\t\t\t\"com.excelliance.multiaccounts\",\n" +
// "\t\t\t\"com.ludashi.dualspace\",\n" +
// "\t\t\t\"cn.lapstudio.weiduokai\",\n" +
// "\t\t\t\"com.parallel.space.lite\",\n" +
// "\t\t\t\"com.jiubang.commerce.gomultiple\",\n" +
// "\t\t\t\"cn.lapstudio.aid\",\n" +
// "\t\t\t\"com.arc.multi\",\n" +
// "\t\t\t\"com.nox.mopen.app\",\n" +
// "\t\t\t\"io.virtualapp.luohe\",\n" +
// "\t\t\t\"com.ludashi.superboost\",\n" +
// "\t\t\t\"com.zhushou.weichat\",\n" +
// "\t\t\t\"zc.wormhole\",\n" +
// "\t\t\t\"com.lanrun.yxjl\",\n" +
// "\t\t\t\"com.ivymobi.multiaccount.free\",\n" +
// "\t\t\t\"cloner.parallel.space.multiple.accounts.twoface\",\n" +
// "\t\t\t\"com.lylm.dkzs\",\n" +
// "\t\t\t\"com.rinzz.avatar\",\n" +
// "\t\t\t\"com.ludashi.multspace\",\n" +
// "\t\t\t\"com.trigtech.privateme\",\n" +
// "\t\t\t\"com.jun.virtual\",\n" +
// "\t\t\t\"com.pldasoft.dualapp\",\n" +
// "\t\t\t\"com.youxi.shuangkai.help\",\n" +
// "\t\t\t\"com.jumobile.multiapp.pro\",\n" +
// "\t\t\t\"com.applisto.appcloner\",\n" +
// "\t\t\t\"multiple.multiple.parallel.accounts.cloner.mochat\",\n" +
// "\t\t\t\"com.bba.vma\",\n" +
// "\t\t\t\"com.rinzz.wdf\"\n" +
// "\t\t]\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"key\": \"interrupts\",\n" +
// "\t\t\"type\": \"file\",\n" +
// "\t\t\"path\": \"file:///proc/interrupts\",\n" +
// "\t\t\"words\": [\n" +
// "\t\t\t\"hypervisor\",\n" +
// "\t\t\t\"goldfish\"\n" +
// "\t\t]\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"key\": \"iomem\",\n" +
// "\t\t\"type\": \"file\",\n" +
// "\t\t\"path\": \"file:///proc/iomem\",\n" +
// "\t\t\"option\": \"match\",\n" +
// "\t\t\"words\": [\n" +
// "\t\t\t\"qemu-pipe\",\n" +
// "\t\t\t\"goldfish\",\n" +
// "\t\t\t\"vbox\"\n" +
// "\t\t]\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"key\": \"ioports\",\n" +
// "\t\t\"type\": \"file\",\n" +
// "\t\t\"path\": \"file:///proc/ioports\",\n" +
// "\t\t\"words\": [\n" +
// "\t\t\t\"virtio\",\n" +
// "\t\t\t\"goldfish\"\n" +
// "\t\t]\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"key\": \"misc\",\n" +
// "\t\t\"type\": \"file\",\n" +
// "\t\t\"path\": \"file:///proc/misc\",\n" +
// "\t\t\"words\": [\n" +
// "\t\t\t\"vbox\",\n" +
// "\t\t\t\"qemu\"\n" +
// "\t\t]\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"key\": \"kallsyms\",\n" +
// "\t\t\"type\": \"file\",\n" +
// "\t\t\"path\": \"file:///proc/kallsyms\",\n" +
// "\t\t\"words\": [\n" +
// "\t\t\t\"vbox\",\n" +
// "\t\t\t\"qemu\",\n" +
// "\t\t\t\"goldfish\"\n" +
// "\t\t]\n" +
// "\t}\n" +
// "]";
//
// JSONArray jsonArray = JSON.parseArray(str);
// for (int i = 0; i < jsonArray.size(); i++) {
// JSONObject json = jsonArray.getJSONObject(i);
// String key = json.getString("key");
// String type = json.getString("type");
// String path = json.getString("path");
// List<String> words = (List<String>)json.get("words");
// RiskFile riskFile = new RiskFile(key, type, path,"", words, "android");
// mongoTemplate.insert(riskFile);
// System.out.println("插入数量:"+i+1);
//
//
// }
// return new ResultObject(HttpServletResponse.SC_OK);
//
// }
//
//
// public static void main(String args[]) throws Exception {
//
//// String str = "{\n" +
//// " \"axj\":{\n" +
//// " \"pn\":\"/Applications/AXJ.app\",\n" +
//// " \"uri\":\"\"\n" +
//// " }\n" +
//// " }";
////
//// Map map = JSON.parseObject(str);
//// for(Object obj : map.keySet()){
//// System.out.println(obj);
//// JSONObject json = (JSONObject) map.get(obj);
//// System.out.println(json.get("pn"));
////
//// }
//
// String str = "[{\n" +
// "\t\t\"awz\": {\n" +
// "\t\t\t\"pn\": \"/Applications/AWZ.app\",\n" +
// "\t\t\t\"uri\": \"IGG://\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"nzt\": {\n" +
// "\t\t\t\"pn\": \"/Applications/NZT.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"igvx\": {\n" +
// "\t\t\t\"pn\": \"/Applications/igvx.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"touchelf\": {\n" +
// "\t\t\t\"pn\": \"/Applications/TouchElf.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"touchsprite\": {\n" +
// "\t\t\t\"pn\": \"/Applications/TouchSprite.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"wujivpn\": {\n" +
// "\t\t\t\"pn\": \"/Applications/WujiVPN.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"rst\": {\n" +
// "\t\t\t\"pn\": \"/Applications/RST.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"forge9\": {\n" +
// "\t\t\t\"pn\": \"/Applications/Forge9.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"forge\": {\n" +
// "\t\t\t\"pn\": \"/Applications/Forge.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"gfaker\": {\n" +
// "\t\t\t\"pn\": \"/Applications/GFaker.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"hdfaker\": {\n" +
// "\t\t\t\"pn\": \"/Applications/hdfakerset.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"r8\": {\n" +
// "\t\t\t\"pn\": \"/Applications/R8.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"pranava\": {\n" +
// "\t\t\t\"pn\": \"/Applications/Pranava.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"ig\": {\n" +
// "\t\t\t\"pn\": \"/Applications/iG.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"hiddenapi\": {\n" +
// "\t\t\t\"pn\": \"/Applications/HiddenApi.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"xgsab\": {\n" +
// "\t\t\t\"pn\": \"/Applications/Xgen.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"birdfaker9\": {\n" +
// "\t\t\t\"pn\": \"/Applications/BirdFaker9.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"vpnmaster\": {\n" +
// "\t\t\t\"pn\": \"/Applications/VPNMasterPro.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"guizmovpn\": {\n" +
// "\t\t\t\"pn\": \"/Applications/GuizmOVPN.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t},\n" +
// "\t{\n" +
// "\t\t\"axj\": {\n" +
// "\t\t\t\"pn\": \"/Applications/AXJ.app\",\n" +
// "\t\t\t\"uri\": \"\"\n" +
// "\t\t}\n" +
// "\t}\n" +
// "]";
//
// JSONArray jsonArray = JSON.parseArray(str);
// List<RiskApp> riskApps = new ArrayList<>();
// for (int i = 0; i < jsonArray.size(); i++) {
// Map map = jsonArray.getJSONObject(i);
// for (Object obj : map.keySet()) {
// String name = (String) obj;
// JSONObject json = (JSONObject) map.get(obj);
//
// String pn = json.getString("pn");
// String uri = json.getString("uri");
// RiskApp riskApp = new RiskApp(name, pn, uri, "ios");
// riskApps.add(riskApp);
// }
//
// }
//
//
// }
}
package com.demo.mongodb;
import com.alibaba.fastjson.JSONObject;
import com.demo.common.SpecialSecret;
import com.demo.constant.ResultStatus;
import com.demo.entity.dto.DeviceReturnDto;
import com.demo.entity.po.ExceptionRecord;
import com.demo.entity.vo.DeviceConfVo;
import com.demo.entity.vo.DeviceIdVo;
import com.demo.entity.vo.SensorVo;
import com.demo.service.DeviceService;
import com.demo.util.DeformedBase64;
import com.demo.util.ResultObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/")
public class DevicecheatController {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private DeviceService deviceService;
/**
*该接口主要负责在SDK所在的APP启动时,由服务器想SDK下发配置信息,
* 包括风险软件列表、热更新、白名单等信息。
*
* @return
* @throws Exception
*/
@RequestMapping(value = "/deviceconf", method = RequestMethod.GET)
@ResponseBody
public ResultObject deviceconf(@ModelAttribute DeviceConfVo deviceConf) throws Exception {
String result = deviceService.getDeviceConf(deviceConf);
if(result == null){
return new ResultObject(ResultStatus.FAIL);
}
return new ResultObject(result);
}
/**
* 该接口主要负责在SDK所在的APP启动时,采集设备的硬件信息,
* 同时由服务器生成唯一ID并返回。
* @return
* @throws Exception
*/
@RequestMapping(value = "/deviceid",method = RequestMethod.POST)
@ResponseBody
public ResultObject deviceid(@RequestBody DeviceIdVo deviceIdVo) throws Exception {
String result = deviceService.getDeviceId(deviceIdVo);
if(result == null){
return new ResultObject(ResultStatus.FAIL);
}
return new ResultObject(result);
}
/**
* 传感器信息上报接口
* 该接口主要负责在APP运行期间,定时的上报设备传感器或者状态信息
* @return
* @throws Exception
*/
@RequestMapping(value = "/sensor", method = RequestMethod.POST)
@ResponseBody
public ResultObject sensor(@RequestBody SensorVo sensorVo) throws Exception {
boolean result = deviceService.reciveSensorInfo(sensorVo);
if(!result){
return new ResultObject(ResultStatus.FAIL);
}
return new ResultObject();
}
/**
* 异常日志上报接口
*
* 该接口主要功能是接收异常日志,帮助SDK开发者定位异常代码
* @return
* @throws Exception
*/
@RequestMapping(value = "/exception", method = RequestMethod.POST)
@ResponseBody
public ResultObject exception(@RequestBody ExceptionRecord exceptionRecord) throws Exception {
this.mongoTemplate.insert(exceptionRecord);
return new ResultObject(ResultStatus.SUCCESS);
}
}
package com.demo.mongodb;
import com.demo.common.SpecialSecret;
import com.demo.entity.vo.DeviceIdVo;
import com.demo.util.ResultObject;
import com.reyun.Algorithm;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/index")
public class IndexController {
@RequestMapping(value = "/testSo", method = RequestMethod.GET)
@ResponseBody
public ResultObject testSo(DeviceIdVo deviceIdVo) throws Exception{
// deviceIdVo = new DeviceIdVo();
// deviceIdVo.setData("ajT2aaaaGClM8q2TCEQVu192GxAjba==");
// Algorithm algorithm = new Algorithm();
// System.out.println("----------------3");
//
// //解密data
// String data = algorithm.aes256Decode(deviceIdVo.getData(), "53c3870eaeddbffda14267877b0ebdce");
// System.out.println("----------------4");
String key = "53c3870eaeddbffda14267877b0ebdce";
// String privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALoHyZIIH7CW3R9+DYxC56yEHUr+c5TBuuXc+sTQfDDUXPJHnIh3lGNDYRL92wiSupQLprXApKIsobZYmnVuTozS5lW3n0ZqTzAySUOlskco/ccdCd0DwNJp7bRePs7E1OiIHG7dUjb/i833AR79WrGWspaJRSfdfxhuQiZPZuqbAgMBAAECgYEAlPkbgGglCIMnvMpzCvmhEVQTKTUvVdb2VpFp+CaE7Y2CiTqzrc0k9YDFwjGsL+dgpqHV9QK6VGyta5r0xkl5eIpu2a22MH85DHWWPnshZbv9HHvVQrX1PJKJyDupSr+N0xZxi555Md6KOGbj1f8+4lOvy2a4ZAFJiZbkOobZFcECQQDm8YIuCaujE9U1y/4Csf8ip+uQQYwY7Fho/A9Bs/a4DZljWrl5cb6yXbGD2Q9tU28d0Pz254QrmqvPCNXir0qxAkEAzjbQQbvvD5KhtlKeoapHyKpSBNPztwSAXZKj05Jkk7eKcATd3dbFZHxx7JC5w/aq0RAKpdlWp86dsPDwc81FCwJAIzXfKzW+PXbgovsfFzocNCR1/eCAg6xFLnx/tvzBOP6ZzFQgwytcb8VpMzj86SY3YsxiRSK3PA6w8zfdpFolgQJAFnqTKRc7cA8j4aQP9r+BI7atSilwn7q1431grmd+3ztas+tT5CLNUa7fHFKKbXouFKwS/RE8CP7U4bzh+T2fEQJBANFOhqryYmyp/XrXMhpGV53kzGhEtaYzzPuj/PFe0fVF2riRJX1khbtt3pmz9q0oqT/6P6KE2F9VCQQO13VV80Q=";
//
// String data = SpecialSecret.getSecretAesStr(key, privateKey);
String data = "{\"result\":123}";
data = SpecialSecret.aesData(data,key);
return new ResultObject(data);
}
}
//package com.demo.mongodb;
//
//import com.demo.entity.User;
//import com.demo.util.ResultObject;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.data.mongodb.core.query.Criteria;
//import org.springframework.data.mongodb.core.query.Query;
//import org.springframework.data.mongodb.core.query.Update;
//import org.springframework.web.bind.annotation.*;
//
//import javax.servlet.http.HttpServletResponse;
//import java.util.List;
//
//@RestController
//@RequestMapping("/mongodbController")
//public class MongodbController {
//
// @Autowired
// private MongoTemplate mongoTemplate;
//
// /**表名*/
// private static final String collectionName = "user";
//
// /**
// * 描述:新增
// * @author maochengyuan
// * @created 2018/9/1 20:17
// * @param user
// * @return ResultObject
// */
// @RequestMapping(value = "/insert", method = RequestMethod.POST)
// @ResponseBody
// public ResultObject insert(@ModelAttribute User user) throws ExceptionRecord {
// this.mongoTemplate.insert(user);
// return new ResultObject(HttpServletResponse.SC_OK);
// }
//
// /**
// * 描述:删除
// * @author maochengyuan
// * @created 2018/9/1 20:17
// * @param userId
// * @return ResultObject
// */
// @RequestMapping("/delete")
// @ResponseBody
// public ResultObject delete(@RequestParam("userId") String userId) throws ExceptionRecord {
// Query query = Query.query(Criteria.where("userId").is(userId));
// this.mongoTemplate.remove(query, collectionName);
// return new ResultObject(HttpServletResponse.SC_OK);
// }
//
// /**
// * 描述:修改
// * @author maochengyuan
// * @created 2018/9/1 20:17
// * @param user
// * @return ResultObject
// */
// @RequestMapping(value = "/update", method = RequestMethod.POST)
// @ResponseBody
// public ResultObject update(@ModelAttribute User user) throws ExceptionRecord {
// Query query = Query.query(Criteria.where("userId").is(user.getUserId()));
// Update update = new Update();
// update.set("age", user.getAge());
// update.set("name", user.getName());
// update.set("email", user.getEmail());
// this.mongoTemplate.updateFirst(query, update, collectionName);
// return new ResultObject(HttpServletResponse.SC_OK);
// }
//
// /**
// * 描述:查询
// * @author maochengyuan
// * @created 2018/9/1 20:17
// * @param
// * @return ResultObject
// */
// @RequestMapping("/query")
// @ResponseBody
// public ResultObject query() throws ExceptionRecord {
// Query query = Query.query(Criteria.where("dataStatus").is(1));
// List<User> users = this.mongoTemplate.find(query, User.class);
// return new ResultObject(HttpServletResponse.SC_OK, users);
// }
//
//}
package com.demo.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.demo.common.SpecialSecret;
import com.demo.constant.OSEnum;
import com.demo.dao.*;
import com.demo.entity.dto.DeviceReturnDto;
import com.demo.entity.po.*;
import com.demo.entity.vo.DeviceConfVo;
import com.demo.entity.vo.DeviceIdVo;
import com.demo.entity.vo.SensorVo;
import com.reyun.Algorithm;
import com.demo.util.DeformedBase64;
import com.demo.util.RSAUtil;
import com.demo.util.SecretUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.*;
@Service
public class DeviceService {
private final Logger logger = LoggerFactory.getLogger(DeviceService.class);
private final int keyLenth = 128;//aes长度
@Autowired
private SecretDao secretDao;
@Autowired
private DeviceInfoDao deviceInfoDao;
@Autowired
private DeviceConfDao deviceConfDao;
@Autowired
private SensorInfoDao sensorInfoDao;
// /**
// *
// * 获取机器的配置信息
// * @param deviceConfVo
// * @return
// */
// public DeviceReturnDto getDeviceConf(DeviceConfVo deviceConfVo){
//
// Secret secret = getSecret(deviceConfVo.getGorganization());
// if(secret == null){
// logger.info("getDeviceConf 获取密钥失败:{}", JSONObject.toJSONString(deviceConfVo));
// return null;
// }
//
// // 统一转成小写
// String os = deviceConfVo.getOs().toLowerCase();
//
// //组装DeviceConfDataDto
// List<RiskApp> riskApps = riskAppDao.findAll(os);
// List<RiskDir> riskDirs = riskDirDao.findAll(os);
// List<RiskFile> riskFiles = riskFileDao.findAll(os);
// if(os.equals("ios")){//ios的相对安卓多出一项配置(TODO 后续补上)
//
// }
// UpdateInfo updateInfo = updateInfoDao.findEnable();
//
// DeviceConf deviceConf = deviceConfDao.findEnable();
// if(deviceConf == null){
// logger.info("getDeviceConf 配置信息找不到");
// }
//
// List<String> whiteApps = deviceConf != null ? Arrays.asList(deviceConf.getWhite_apps().split(",")) : null;
// Integer priod = deviceConf != null ? deviceConf.getPeriod() : null;
// Boolean riskFileSwitch = deviceConf != null ? deviceConf.getRisk_file_switch() : null;
// DeviceConfDataDto deviceConfDataDto = new DeviceConfDataDto(riskApps, riskDirs,
// riskFileSwitch, riskFiles, updateInfo, whiteApps, priod);
//
// String data = JSONObject.toJSONString(deviceConfDataDto);
// DeviceReturnDto deviceReturnDto = new DeviceReturnDto(data, data.length(),
// SpecialSecret.getSecretAesStr(secret.getAesKey(), secret.getPrivateRsaKey()),
// SpecialSecret.getSecretRSAStr(secret.getPublicRsaKey()));
// return deviceReturnDto;
//
// }
/**
*
* 获取机器的配置信息
* @param deviceConfVo
* @return
*/
public String getDeviceConf(DeviceConfVo deviceConfVo){
if(StringUtils.isEmpty(deviceConfVo.getGorganization())
|| StringUtils.isEmpty(deviceConfVo.getOs())){
logger.info("getDeviceConf 缺少参数:{}", JSONObject.toJSONString(deviceConfVo));
return null;
}
Secret secret = getSecret(deviceConfVo.getGorganization());
if(secret == null){
logger.info("getDeviceConf 获取密钥失败:{}", JSONObject.toJSONString(deviceConfVo));
return null;
}
// 统一转成小写
OSEnum osEnum = OSEnum.getOS(deviceConfVo.getOs());
DeviceConf deviceConf = deviceConfDao.findEnable(osEnum.getVal());
if(deviceConf == null){
logger.info("getDeviceConf 获取配置信息失败:{}", JSONObject.toJSONString(deviceConfVo));
return null;
}
String data = deviceConf.getConfInfo();
try{
logger.info("secret.getAesKey():{} secret.getPrivateRsaKey():{}", secret.getAesKey(), secret.getPrivateRsaKey());
DeviceReturnDto deviceReturnDto = new DeviceReturnDto(data, data.length(),
SpecialSecret.getSecretAesStr(secret.getAesKey(), secret.getPrivateRsaKey()),
SpecialSecret.getSecretRSAStr(secret.getPublicRsaKey()));
return DeformedBase64.encode(JSONObject.toJSONString(deviceReturnDto));
}catch (Exception e){
logger.info("getDeviceConf 获取dll动态库失败:{}", JSONObject.toJSONString(deviceConfVo));
}
return null;
}
/**
*TODO 需要考虑设备怎么唯一
* 获取设备唯一id
* @param deviceIdVo
* @return
*/
public String getDeviceId(DeviceIdVo deviceIdVo){
if(StringUtils.isEmpty(deviceIdVo.getData()) || StringUtils.isEmpty(deviceIdVo.getOs())
|| StringUtils.isEmpty(deviceIdVo.getGorganization())){
logger.info("getDeviceId 传递的参数有误:{}", JSONObject.toJSONString(deviceIdVo));
return null;
}
OSEnum osEnum = OSEnum.getOS(deviceIdVo.getOs());
if(osEnum == null){
logger.info("getDeviceId 传递的Os参数有误:{}", JSONObject.toJSONString(deviceIdVo));
return null;
}
//获取密钥
Secret secret = getSecret(deviceIdVo.getGorganization());
if(secret == null){
logger.info("getDeviceId 获取密钥失败:{}", JSONObject.toJSONString(deviceIdVo));
return null;
}
//解密data
String data = SpecialSecret.getData(deviceIdVo.getData(), secret.getAesKey());
if(StringUtils.isEmpty(data)){
logger.info("getDeviceId 传递的data参数有误:{}", JSONObject.toJSONString(deviceIdVo));
return null;
}
JSONObject dataObject = JSON.parseObject(data);
if(dataObject == null){
logger.info("getDeviceId 传递的data参数有误.无法转化json:{}", JSONObject.toJSONString(deviceIdVo));
return null;
}
//返回唯一值
Map<String, String> reyunIdMap = new HashMap<>();
String clientReyunId = dataObject.getString("reyunId");
if(StringUtils.isEmpty(clientReyunId)){
logger.info("getDeviceId 传递的data参数有误,reyunId取不到:{}", JSONObject.toJSONString(deviceIdVo));
return null;
}
String deviceId = "";//iOS取IDFA,Android则按照优先级imei/android_id取一个
if(osEnum == OSEnum.IOS){
deviceId = dataObject.getString("idfa");
}else{
deviceId = dataObject.getString("DeviceID");
if(StringUtils.isEmpty(deviceId)){
deviceId = dataObject.getString("AndroidID");
}
}
String reyunId = getReyunId(clientReyunId, deviceId, secret.getPublicRsaKey());
// String reyunId = UUID.randomUUID()+"";
reyunIdMap.put("reyunId", reyunId);
//区分系统保存数据
DeviceInfo deviceInfo = new DeviceInfo(osEnum.getVal(), data, reyunId);
deviceInfoDao.insert(deviceInfo);
String dataStr = JSONObject.toJSONString(reyunIdMap);
try{
DeviceReturnDto deviceReturnDto = new DeviceReturnDto(dataStr, dataStr.length(),
SpecialSecret.getSecretAesStr(secret.getAesKey(), secret.getPublicRsaKey()),
SpecialSecret.getSecretRSAStr(secret.getPublicRsaKey()));
String result = SpecialSecret.aesData(JSONObject.toJSONString(deviceReturnDto), secret.getAesKey());
return result;
}catch (Exception e){
logger.info("getDeviceId 获取dll动态库失败:{}", JSONObject.toJSONString(deviceIdVo));
}
return null;
}
private String getReyunId(String clientReyunId, String deviceId, String publicKey ){
String defaultReyunId = "defaultone";
long timestamp = new Date().getTime();
Algorithm alg = new Algorithm();
String shaStr = alg.sha1(clientReyunId + timestamp + deviceId)+defaultReyunId;
return DeformedBase64.encode(alg.rsaEncode(shaStr, publicKey));
}
// /**
// *TODO 需要考虑设备怎么唯一
// * 获取设备唯一id
// * @param deviceIdVo
// * @return
// */
// public DeviceReturnDto getDeviceId(DeviceIdVo deviceIdVo){
//
// //解密data
// String data = DeformedBase64.decode(deviceIdVo.getData());
// Object dataObject = JSON.parse(data);
// if(dataObject == null){
// logger.info("getDeviceId 传递的data参数有误:{}", JSONObject.toJSONString(deviceIdVo));
// return null;
// }
//
// //区分系统保存数据
// if("ios".equalsIgnoreCase(deviceIdVo.getOs())){
// DeviceInfoIos deviceInfoIos = (DeviceInfoIos)dataObject;
// deviceInfoIosDao.insert(deviceInfoIos);
// }else if("android".equalsIgnoreCase(deviceIdVo.getOs())){
// DeviceInfoAndroid deviceInfoAndroid = (DeviceInfoAndroid)dataObject;
// deviceInfoAndroidDao.insert(deviceInfoAndroid);
// }else{
// logger.info("getDeviceId 传递的os参数有误:{}", JSONObject.toJSONString(deviceIdVo));
// return null;
// }
//
// //返回唯一值(TODO 此处写成uuid形式,后面需要时间允许按照规则编写)
// Map<String, String> reyunIdMap = new HashMap<>();
// reyunIdMap.put("reyunId",UUID.randomUUID()+"");
//
// Secret secret = getSecret(deviceIdVo.getGorganization());
// if(secret == null){
// logger.info("getDeviceId 获取密钥失败:{}", JSONObject.toJSONString(deviceIdVo));
// return null;
// }
//
// String dataStr = JSONObject.toJSONString(reyunIdMap);
// DeviceReturnDto deviceReturnDto = new DeviceReturnDto(dataStr, dataStr.length(),
// SpecialSecret.getSecretAesStr(secret.getAesKey(), secret.getPrivateRsaKey()),
// SpecialSecret.getSecretRSAStr(secret.getPublicRsaKey()));
//
// return deviceReturnDto;
// }
// public Boolean reciveSensorInfo(SensorVo sensorVo){
//
// //解密data
// String data = DeformedBase64.decode(sensorVo.getData());
// Object dataObject = JSON.parse(data);
// if(dataObject == null){
// logger.info("reciveSensorInfo 传递的data参数有误:{}", JSONObject.toJSONString(sensorVo));
// return false;
// }
//
// //区分系统保存数据
// if("ios".equalsIgnoreCase(sensorVo.getOs())){
// SensorInfo sensorInfoIos = (SensorInfo) dataObject;
// sensorInfoIosDao.insert(sensorInfoIos);
// }else if("android".equalsIgnoreCase(sensorVo.getOs())){
// SensorInfoAndroid sensorInfoAndroid = (SensorInfoAndroid) dataObject;
// sensorInfoAndroidDao.insert(sensorInfoAndroid);
// }else{
// logger.info("reciveSensorInfo 传递的os参数有误:{}", JSONObject.toJSONString(sensorVo));
// return false;
// }
// return true;
// }
public Boolean reciveSensorInfo(SensorVo sensorVo){
//获取密钥
Secret secret = getSecret(sensorVo.getGorganization());
if(secret == null){
logger.info("reciveSensorInfo 获取密钥失败:{}", JSONObject.toJSONString(sensorVo));
return null;
}
//解密data
String data = SpecialSecret.getData(sensorVo.getData(), secret.getAesKey());
if(StringUtils.isEmpty(data)){
logger.info("reciveSensorInfo 传递的data参数有误:{}", JSONObject.toJSONString(sensorVo));
return false;
}
JSONObject dataObject = JSON.parseObject(data);
if(dataObject == null){
logger.info("reciveSensorInfo 传递的data参数有误.无法转化json:{}", JSONObject.toJSONString(sensorVo));
return null;
}
OSEnum osEnum = OSEnum.getOS(sensorVo.getOs());
//保存数据
String reyunId = dataObject.getString("reyunId");
SensorInfo sensorInfo = new SensorInfo(reyunId, new Date().getTime(), data, osEnum.getVal());
sensorInfoDao.insert(sensorInfo);
return true;
}
/**
* 获取私钥公钥
* @param gorganization
* @return
*/
private Secret getSecret(String gorganization){
Secret secret = secretDao.findEnableSecret(gorganization);
if(secret == null){
try{
Map<String, Object> keyMap = RSAUtil.initKey(gorganization);
String publicKey = RSAUtil.getPublicKey(keyMap);
String privateKey = RSAUtil.getPrivateKey(keyMap);
String aeskey = SecretUtil.generateAesKey(keyLenth, gorganization);
secret = new Secret(gorganization, publicKey, privateKey, aeskey, new Date().getTime(), true);
secretDao.insert(secret);
}catch (Exception e){
logger.info("生成rsa公钥私钥失败-gorganization:{},-exception:{}",gorganization, e);
return null;
}
}
return secret;
}
}
package com.demo.util;
public class Algorithm {
public native String rsaPrivateEncode(String plantext,String privatekey);
public native String rsaPublicDecode(String ciphertext,String pubkey);
public native String rsaEncode(String plantext,String pubkey);
/**
* @param ciphertext
* @param privatekey
* @return
*/
public native String rsaDecode(String ciphertext,String privatekey);
public native String sha1(String plantext);
public native String aes256Encode(String plantext,String key);
public native String aes256Decode(String ciphertext,String key);
}
package com.demo.util;
import java.io.*;
public class DeformedBase64 {
public DeformedBase64() {
}
/**
* 功能:编码字符串
*
* @author jiangshuai
* @date 2016年10月03日
* @param data
* 源字符串
* @return String
*/
public static String encode(String data) {
return new String(encode(data.getBytes()));
}
/**
* 功能:解码字符串
*
* @author jiangshuai
* @date 2016年10月03日
* @param data
* 源字符串
* @return String
*/
public static String decode(String data) {
return new String(decode(data.toCharArray()));
}
/**
* 功能:编码byte[]
*
* @author zhangsy
* @date 2016年10月03日
* @param data
* 源
* @return char[]
*/
public static char[] encode(byte[] data) {
char[] out = new char[((data.length + 2) / 3) * 4];
for (int i = 0, index = 0; i < data.length; i += 3, index += 4) {
boolean quad = false;
boolean trip = false;
int val = (0xFF & (int) data[i]);
val <<= 8;
if ((i + 1) < data.length) {
val |= (0xFF & (int) data[i + 1]);
trip = true;
}
val <<= 8;
if ((i + 2) < data.length) {
val |= (0xFF & (int) data[i + 2]);
quad = true;
}
out[index + 3] = alphabet[(quad ? (val & 0x3F) : 64)];
val >>= 6;
out[index + 2] = alphabet[(trip ? (val & 0x3F) : 64)];
val >>= 6;
out[index + 1] = alphabet[val & 0x3F];
val >>= 6;
out[index + 0] = alphabet[val & 0x3F];
}
return out;
}
/**
* 功能:解码
*
* @author zhangsy
* @date 2016年10月03日
* @param data
* 编码后的字符数组
* @return byte[]
*/
public static byte[] decode(char[] data) {
int tempLen = data.length;
for (int ix = 0; ix < data.length; ix++) {
if ((data[ix] > 255) || codes[data[ix]] < 0) {
--tempLen; // ignore non-valid chars and padding
}
}
// calculate required length:
// -- 3 bytes for every 4 valid base64 chars
// -- plus 2 bytes if there are 3 extra base64 chars,
// or plus 1 byte if there are 2 extra.
int len = (tempLen / 4) * 3;
if ((tempLen % 4) == 3) {
len += 2;
}
if ((tempLen % 4) == 2) {
len += 1;
}
byte[] out = new byte[len];
int shift = 0; // # of excess bits stored in accum
int accum = 0; // excess bits
int index = 0;
// we now go through the entire array (NOT using the 'tempLen' value)
for (int ix = 0; ix < data.length; ix++) {
int value = (data[ix] > 255) ? -1 : codes[data[ix]];
if (value >= 0) { // skip over non-code
accum <<= 6; // bits shift up by 6 each time thru
shift += 6; // loop, with new bits being put in
accum |= value; // at the bottom.
if (shift >= 8) { // whenever there are 8 or more shifted in,
shift -= 8; // write them out (from the top, leaving any
out[index++] = // excess at the bottom for next iteration.
(byte) ((accum >> shift) & 0xff);
}
}
}
// if there is STILL something wrong we just have to throw up now!
if (index != out.length) {
throw new Error("Miscalculated data length (wrote " + index + " instead of " + out.length + ")");
}
return out;
}
/**
* 功能:编码文件
*
* @author jiangshuai
* @date 2016年10月03日
* @param file
* 源文件
*/
public static void encode(File file) throws IOException {
if (!file.exists()) {
System.exit(0);
}
else {
byte[] decoded = readBytes(file);
char[] encoded = encode(decoded);
writeChars(file, encoded);
}
file = null;
}
/**
* 功能:解码文件。
*
* @author zhangsy
* @date 2016年10月03日
* @param file
* 源文件
* @throws IOException
*/
public static void decode(File file) throws IOException {
if (!file.exists()) {
System.exit(0);
} else {
char[] encoded = readChars(file);
byte[] decoded = decode(encoded);
writeBytes(file, decoded);
}
file = null;
}
//
// code characters for values 0..63
//
// private static char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".toCharArray();
private static char[] alphabet = "aI0wy/RG1K2+TNvJcQlMi5e3g8kmCYnWj4HzEpbZU7hx9BFdrXsfLPDSqotA6uVO=".toCharArray();
//
// lookup table for converting base64 characters to value in range 0..63
//
private static byte[] codes = new byte[256];
// static {
// for (int i = 0; i < 256; i++) {
// codes[i] = -1;
// // LoggerUtil.debug(i + "&" + codes[i] + " ");
// }
// for (int i = 'A'; i <= 'Z'; i++) {
// codes[i] = (byte) (i - 'A');
// // LoggerUtil.debug(i + "&" + codes[i] + " ");
// }
//
// for (int i = 'a'; i <= 'z'; i++) {
// codes[i] = (byte) (26 + i - 'a');
// // LoggerUtil.debug(i + "&" + codes[i] + " ");
// }
// for (int i = '0'; i <= '9'; i++) {
// codes[i] = (byte) (52 + i - '0');
// // LoggerUtil.debug(i + "&" + codes[i] + " ");
// }
// codes['+'] = 62;
// codes['/'] = 63;
// }
static {
for(int i=0;i<256;i++) {
codes[i] = -1;
}
for(int i=0;i<alphabet.length - 1;i++) {
codes[(byte)alphabet[i]] = (byte)i;
}
}
private static byte[] readBytes(File file) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] b = null;
InputStream fis = null;
InputStream is = null;
try {
fis = new FileInputStream(file);
is = new BufferedInputStream(fis);
int count = 0;
byte[] buf = new byte[16384];
while ((count = is.read(buf)) != -1) {
if (count > 0) {
baos.write(buf, 0, count);
}
}
b = baos.toByteArray();
} finally {
try {
if (fis != null)
fis.close();
if (is != null)
is.close();
if (baos != null)
baos.close();
} catch (Exception e) {
System.out.println(e);
}
}
return b;
}
private static char[] readChars(File file) throws IOException {
CharArrayWriter caw = new CharArrayWriter();
Reader fr = null;
Reader in = null;
try {
fr = new FileReader(file);
in = new BufferedReader(fr);
int count = 0;
char[] buf = new char[16384];
while ((count = in.read(buf)) != -1) {
if (count > 0) {
caw.write(buf, 0, count);
}
}
} finally {
try {
if (caw != null)
caw.close();
if (in != null)
in.close();
if (fr != null)
fr.close();
} catch (Exception e) {
System.out.println(e);
}
}
return caw.toCharArray();
}
private static void writeBytes(File file, byte[] data) throws IOException {
OutputStream fos = null;
OutputStream os = null;
try {
fos = new FileOutputStream(file);
os = new BufferedOutputStream(fos);
os.write(data);
} finally {
try {
if (os != null)
os.close();
if (fos != null)
fos.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
private static void writeChars(File file, char[] data) throws IOException {
Writer fos = null;
Writer os = null;
try {
fos = new FileWriter(file);
os = new BufferedWriter(fos);
os.write(data);
} finally {
try {
if (os != null)
os.close();
if (fos != null)
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
// public static void main(String[] args) {
// String str = "测试字符串a";
// String ciphertext = encode(str);
// System.out.println(ciphertext);
// System.out.println(decode(ciphertext));
//
// System.out.println(decode("Cb5oYeoKQa=="));
// }
}
package com.demo.util;
import java.io.IOException;
import java.lang.reflect.Field;
public class DllAddUtil {
/**
*
* 注意:jvm实现不是用的变量usr_paths来保存java.library.path的值,需要去查看源码修改
* @param libraryPath
* @throws IOException
*/
public static void addLibraryDir(String libraryPath) throws IOException {
try {
Field field = ClassLoader.class.getDeclaredField("usr_paths");
field.setAccessible(true);
StringBuilder sb = new StringBuilder();
String[] paths = (String[]) field.get(null);
for (int i = 0; i < paths.length; i++) {
if (libraryPath.equals(paths[i])) {
return;
}
sb.append(paths[i]).append(';');
}
sb.append(libraryPath);
System.setProperty("java.library.path", sb.toString());
final Field sysPathsField = ClassLoader.class.getDeclaredField("sys_paths");
sysPathsField.setAccessible(true);
sysPathsField.set(null, null);
} catch (IllegalAccessException e) {
throw new IOException(
"Failedto get permissions to set library path");
} catch (NoSuchFieldException e) {
throw new IOException(
"Failedto get field handle to set library path");
}
}
}
package com.demo.util;
import org.springframework.util.StringUtils;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.SecureRandom;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.util.HashMap;
import java.util.Map;
/**
* RSA 公钥与私钥的处理类
*/
public class RSAUtil {
public static final String KEY_ALGORITHM = "RSA";
private static final String PUBLIC_KEY = "RSAPublicKey";
private static final String PRIVATE_KEY = "RSAPrivateKey";
public static String getPublicKey(Map<String, Object> keyMap) throws Exception {
Key key = (Key) keyMap.get(PUBLIC_KEY);
byte[] publicKey = key.getEncoded();
String publicKeyStr = encryptBASE64(publicKey);
if(!StringUtils.isEmpty(publicKeyStr)){
publicKeyStr = publicKeyStr.replaceAll("\r", "");
publicKeyStr = publicKeyStr.replaceAll("\n", "");
}
return publicKeyStr;
}
public static String getPrivateKey(Map<String, Object> keyMap) throws Exception {
Key key = (Key) keyMap.get(PRIVATE_KEY);
byte[] privateKey =key.getEncoded();
String privateKeyStr = encryptBASE64(privateKey);
if(!StringUtils.isEmpty(privateKeyStr)){
privateKeyStr = privateKeyStr.replaceAll("\r", "");
privateKeyStr = privateKeyStr.replaceAll("\n", "");
}
return privateKeyStr;
}
public static byte[] decryptBASE64(String key) throws Exception {
return (new BASE64Decoder()).decodeBuffer(key);
}
public static String encryptBASE64(byte[] key) throws Exception {
return (new BASE64Encoder()).encodeBuffer(key);
}
/**
*
* 生成对应的公钥私钥
* @param password(加密种子 --/可以为空/---)
* @return
* @throws Exception
*/
public static Map<String, Object> initKey(String password) throws Exception {
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM);
keyPairGen.initialize(1024, new SecureRandom(password.getBytes()));
KeyPair keyPair = keyPairGen.generateKeyPair();
RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
Map<String, Object> keyMap = new HashMap<String, Object>(2);
keyMap.put(PUBLIC_KEY, publicKey);
keyMap.put(PRIVATE_KEY, privateKey);
return keyMap;
}
// public static void main(String args[]) throws Exception{
//
// Map<String, Object> keyMap;
//
// try {
//
// keyMap = initKey("test234");
//
// String publicKey = getPublicKey(keyMap);
//
// System.out.println(publicKey);
//
// String privateKey = getPrivateKey(keyMap);
//
// System.out.println(privateKey);
//
// } catch (Exception e) {
//
// e.printStackTrace();
//
// }
//
//
// }
}
package com.demo.util;
import com.demo.constant.ResultStatus;
public class ResultObject {
private int code;
private String desc;
private Object data;
public ResultObject() {
}
public ResultObject(ResultStatus resultStatus) {
this.code = resultStatus.getCode();
this.desc = resultStatus.getDesc();
}
public ResultObject(Object data) {
this.code = ResultStatus.SUCCESS.getCode();
this.data = data;
this.desc = ResultStatus.SUCCESS.getDesc();
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
package com.demo.util;
import org.springframework.util.StringUtils;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import java.security.SecureRandom;
import java.util.Date;
import java.util.Random;
public class SecretUtil {
public static final String KEY_ALGORITHM = "AES";
/**
* 生成AES密钥
*
* @param length 长度
* @param password 密钥种子(指定的字符串 ---/ 可以为空 / ---)
* @return
* @throws Exception
*/
public static String generateAesKey(int length, String password) throws Exception {
//实例化
KeyGenerator kgen = null;
kgen = KeyGenerator.getInstance(KEY_ALGORITHM);
//设置密钥长度
if(StringUtils.isEmpty(password)){
kgen.init(length);
}else{
//SecureRandom是生成安全随机数序列,password.getBytes()是种子,只要种子相同,序列就一样,所以生成的秘钥就一样。
kgen.init(length, new SecureRandom(password.getBytes()));
}
//生成密钥
SecretKey skey = kgen.generateKey();
//返回密钥的二进制编码
byte[] skeyByte = skey.getEncoded();
return byteToHexString(skeyByte);
}
/**
* byte数组转化为16进制字符串
* @param bytes
* @return
*/
public static String byteToHexString(byte[] bytes){
StringBuffer sb = new StringBuffer();
for (int i = 0; i < bytes.length; i++) {
String strHex=Integer.toHexString(bytes[i]);
if(strHex.length() > 3){
sb.append(strHex.substring(6));
} else {
if(strHex.length() < 2){
sb.append("0" + strHex);
} else {
sb.append(strHex);
}
}
}
return sb.toString();
}
/**
* 生成随机的子节数
* @param len
* @return
*/
public static String getRandNum(int len) {
StringBuffer flag = new StringBuffer();
String sources = new Date().getTime() +""; // 加上一些字母,就可以生成pc站的验证码了
Random rand = new Random();
for (int j = 0; j < len; j++) {
flag.append(sources.charAt(rand.nextInt(9)) + "");
}
return flag.toString();
}
// public static void main(String args[]) throws Exception{
//
//// System.out.println( getRandNum(6));
// System.out.println(generateAesKey(128,"reyun"));
//
// }
}
\ No newline at end of file
server.port=8081
spring.data.mongodb.host=192.168.168.81
spring.data.mongodb.port=8763
spring.data.mongodb.database=device
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias= tomcat
\ No newline at end of file
server.port=10081
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=8983
spring.data.mongodb.database=device
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias= tomcat
\ No newline at end of file
spring.profiles.active=dev
\ No newline at end of file
server.port=8081
spring.data.mongodb.host=192.168.168.81
spring.data.mongodb.port=8763
spring.data.mongodb.database=device
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias= tomcat
\ No newline at end of file
server.port=10081
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=8983
spring.data.mongodb.database=device
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias= tomcat
\ No newline at end of file
spring.profiles.active=dev
\ No newline at end of file
#Generated by Apache Maven
#Tue Aug 13 11:54:01 CST 2019
version=0.0.1-SNAPSHOT
groupId=com
artifactId=mongodb
com\demo\entity\po\DeviceInfo.class
com\demo\dao\DeviceInfoDao.class
com\demo\dao\bak\UpdateInfoDao.class
com\demo\entity\po\SensorInfo.class
com\demo\entity\po\DeviceConf.class
com\demo\mongodb\IndexController.class
com\demo\common\SpecialSecret.class
com\demo\dao\SensorInfoDao.class
com\demo\entity\po\bak\RiskDir.class
com\demo\entity\po\bak\RiskFile.class
com\demo\service\DeviceService.class
com\demo\util\ResultObject.class
com\demo\entity\User.class
com\demo\entity\vo\DeviceIdVo.class
com\demo\util\Algorithm.class
com\demo\util\DllAddUtil.class
com\demo\entity\po\Secret.class
com\demo\dao\DeviceConfDao.class
com\demo\entity\vo\SensorVo.class
com\demo\dao\bak\DeviceInfoIosDao.class
com\demo\constant\ResultStatus.class
com\demo\dao\SecretDao.class
com\demo\entity\po\bak\DeviceInfoIos.class
com\demo\entity\po\bak\DeviceConf.class
com\demo\entity\po\bak\UpdateInfo.class
com\demo\entity\vo\DeviceConfVo.class
com\demo\dao\bak\DeviceInfoAndroidDao.class
com\demo\mongodb\DataImportController.class
com\Application.class
com\demo\entity\po\bak\DeviceInfoAndroid.class
com\demo\constant\OSEnum.class
com\demo\mongodb\DevicecheatController.class
com\demo\util\DeformedBase64.class
com\demo\util\RSAUtil.class
com\demo\entity\vo\common\BaseParam.class
com\demo\entity\dto\DeviceReturnDto.class
com\demo\entity\dto\SoftDto.class
com\demo\entity\po\ExceptionRecord.class
com\demo\entity\po\bak\RiskApp.class
com\demo\util\SecretUtil.class
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\util\DeformedBase64.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\bak\DeviceInfoAndroid.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\util\Algorithm.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\constant\ResultStatus.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\Secret.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\bak\SensorInfoAndroidDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\bak\RiskDir.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\bak\UpdateInfoDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\bak\RiskFile.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\dto\SoftDto.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\Application.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\bak\DeviceInfoIosDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\ExceptionRecord.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\bak\RiskFileDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\vo\DeviceIdVo.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\vo\SensorVo.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\bak\RiskAppDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\util\ResultObject.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\util\RSAUtil.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\bak\SensorInfoAndroid.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\mongodb\MongodbController.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\dto\DeviceConfDataDto.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\dto\DeviceReturnDto.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\vo\common\BaseParam.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\SensorInfo.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\DeviceInfo.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\constant\OSEnum.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\bak\DeviceInfoAndroidDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\util\SecretUtil.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\mongodb\IndexController.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\mongodb\DataImportController.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\bak\RiskApp.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\util\DllAddUtil.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\common\SpecialSecret.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\DeviceConfDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\bak\RiskDirDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\mongodb\DevicecheatController.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\service\DeviceService.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\bak\DeviceConfDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\SecretDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\bak\SensorInfoIosDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\SensorInfoDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\bak\UpdateInfo.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\vo\DeviceConfVo.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\bak\DeviceConf.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\dao\DeviceInfoDao.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\bak\DeviceInfoIos.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\bak\SensorInfoIos.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\User.java
C:\eclipseWorkSpace\mongodb-demo\src\main\java\com\demo\entity\po\DeviceConf.java
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment