Compare commits

...
417 Commits
Author SHA1 Message Date
PYDT 9d569bd9e3 Add files via upload 2024-07-11 09:15:57 +08:00
PYDT 1991664cd1 Add files via upload 2024-07-10 07:16:38 +08:00
PYDT ee7064fafc Add files via upload 2024-07-10 07:14:15 +08:00
PYDT cdaf861485 Add files via upload 2024-07-10 07:13:32 +08:00
PYDT 3e962b1da9 Add files via upload 2024-07-10 07:04:41 +08:00
PYDT 8398f1706c Add files via upload 2024-06-27 20:36:41 +08:00
PYDT 24d2d441b4 Add files via upload 2024-06-22 20:01:01 +08:00
PYDT 5700039d42 Add files via upload 2024-06-21 18:09:06 +08:00
PYDT 22445c79d4 Add files via upload 2024-06-21 18:08:07 +08:00
PYDT 2be05ac76c Add files via upload 2024-06-20 21:06:48 +08:00
PYDT 84e397aeed Add files via upload 2024-06-20 19:45:53 +08:00
PYDT bb513b9115 Add files via upload 2024-06-20 19:45:03 +08:00
PYDT 01b680e278 Add files via upload 2024-06-19 23:15:16 +08:00
PYDT ef7c1cba2e Add files via upload 2024-06-19 22:17:23 +08:00
PYDT 40bbc57c82 Add files via upload 2024-06-19 21:51:41 +08:00
PYDT 457e5bebbb Add files via upload 2024-06-19 15:31:19 +08:00
PYDT 99abc56177 Add files via upload 2024-06-19 10:25:09 +08:00
PYDT 9eeb0b6376 Add files via upload 2024-06-19 10:23:10 +08:00
PYDT 0b2da187ee Add files via upload 2024-06-19 00:47:25 +08:00
PYDT 06f5410a4d Add files via upload 2024-06-18 22:41:34 +08:00
PYDT 2551ada3b7 Add files via upload 2024-06-18 16:00:15 +08:00
PYDT 56df08879e Delete Rules directory 2024-06-18 15:57:32 +08:00
PYDT d41685c86e Add files via upload 2024-06-17 21:08:46 +08:00
PYDT 14b942970e Add files via upload 2024-06-17 16:01:26 +08:00
PYDT b6103c845d Add files via upload 2024-06-17 10:24:41 +08:00
PYDT 7927f12e84 Add files via upload 2024-06-16 18:34:14 +08:00
PYDT 7774ff77b2 Add files via upload 2024-06-16 15:18:23 +08:00
PYDT aaa2ed7eef Add files via upload 2024-06-16 00:05:38 +08:00
PYDT b83674e9b7 Add files via upload 2024-06-15 21:42:39 +08:00
PYDT 017356780c Add files via upload 2024-06-15 21:42:02 +08:00
PYDT 45916004d2 Add files via upload 2024-06-14 12:24:23 +08:00
PYDT 388c8b615e Add files via upload 2024-06-14 09:22:05 +08:00
PYDT 4219473632 Add files via upload 2024-06-14 08:49:55 +08:00
PYDT f2283cdb7f Add files via upload 2024-06-13 22:36:25 +08:00
PYDT 72ce9cfd6b Add files via upload 2024-06-13 22:35:18 +08:00
PYDT b26375d25a Add files via upload 2024-06-12 15:40:07 +08:00
PYDT a2a823f358 Update README_zh_CN.md 2024-06-12 13:50:03 +08:00
PYDT 62164cf628 Update README_zh_TW.md 2024-06-12 13:48:43 +08:00
PYDT 0b5fc22181 Update README.md 2024-06-12 13:46:15 +08:00
PYDT 0df905f777 Update README.md 2024-06-12 13:44:28 +08:00
PYDT a539a948f6 Add files via upload 2024-06-11 19:48:57 +08:00
PYDT 6bd8364b5f Delete Driver/PYAS_Proc.sys 2024-06-11 19:48:25 +08:00
PYDT 70b70bc3e7 Add files via upload 2024-06-11 19:47:58 +08:00
PYDT ac50f8917e Add files via upload 2024-06-11 15:52:05 +08:00
PYDT f935b2c0b6 Update README_zh_CN.md 2024-06-11 15:35:46 +08:00
PYDT 245c9d1119 Update README_zh_TW.md 2024-06-11 15:35:12 +08:00
PYDT 9476313725 Update README.md 2024-06-11 15:34:25 +08:00
PYDT 2d27a74278 Add files via upload 2024-06-11 15:31:48 +08:00
PYDT 823a5115eb Add files via upload 2024-06-11 15:29:25 +08:00
PYDT 33ab1e1f5e Delete PYAS_Model.json 2024-06-11 15:25:23 +08:00
PYDT 8db984d1fd Update README_zh_TW.md 2024-06-05 15:27:55 +08:00
PYDT a00415657a Update README_zh_CN.md 2024-06-05 15:27:20 +08:00
PYDT 527837cc56 Add files via upload 2024-06-05 15:25:07 +08:00
PYDT ac9ddff8b1 Add files via upload 2024-06-05 06:46:18 +08:00
PYDT 4ebae2a167 Add files via upload 2024-06-03 18:06:13 +08:00
PYDT 11f1685f42 Add files via upload 2024-05-30 09:47:58 +08:00
PYDT 8199101891 Add files via upload 2024-05-29 14:40:48 +08:00
PYDT 4f3ce323ae Add files via upload 2024-05-29 14:09:52 +08:00
PYDT 76befc7c70 Add files via upload 2024-05-28 02:00:56 +08:00
PYDT 8b0ad06676 Update README_zh_TW.md 2024-05-24 10:43:20 +08:00
PYDT d7f091a3a9 Update README.md 2024-05-24 10:42:39 +08:00
PYDT 679b00229c Update README_zh_CN.md 2024-05-24 10:42:10 +08:00
PYDT 0cfc636fb6 Update README.md 2024-05-24 10:40:25 +08:00
PYDT bd3c31e150 Update README.md 2024-05-24 10:39:18 +08:00
PYDT 8e9547b75a Update README_zh_CN.md 2024-05-24 10:27:54 +08:00
PYDT d38ecc0f96 Update README_zh_CN.md 2024-05-24 10:26:26 +08:00
PYDT 85834497e0 Create README_zh_CN.md 2024-05-24 10:24:42 +08:00
PYDT 0d8997db02 Update README.md 2024-05-24 10:18:38 +08:00
PYDT cb53450ca5 Update and rename README_zh.md to README_zh_TW.md 2024-05-24 10:16:52 +08:00
PYDT f38ae36eb6 Update README_zh.md 2024-05-24 10:14:35 +08:00
PYDT 8218b0c8a6 Update README_zh.md 2024-05-24 10:12:48 +08:00
PYDT ea036d2d53 Update README.md 2024-05-24 10:10:21 +08:00
PYDT b163eb2cdb Update README_zh.md 2024-05-24 10:07:52 +08:00
PYDT ba3568f312 Add files via upload 2024-05-24 10:07:17 +08:00
PYDT 80c9976832 Add files via upload 2024-05-22 10:52:26 +08:00
PYDT b6326c25b9 Add files via upload 2024-05-22 10:43:38 +08:00
PYDT 35f591cf49 Add files via upload 2024-05-22 10:43:19 +08:00
PYDT 67e437bbd7 Add files via upload 2024-05-20 16:05:56 +08:00
PYDT 194dae8ce1 Add files via upload 2024-05-20 15:25:27 +08:00
PYDT a89442ceb0 Add files via upload 2024-05-15 10:02:53 +08:00
PYDT 24debf6062 Add files via upload 2024-04-17 15:00:15 +08:00
PYDT ff98846c99 Add files via upload 2024-04-17 13:35:21 +08:00
PYDT e3f5a0bca1 Add files via upload 2024-04-08 12:56:53 +08:00
PYDT 7278e4f051 Update README.md 2024-04-03 17:21:24 +08:00
PYDT 709a511c1d Add files via upload 2024-04-03 17:16:40 +08:00
PYDT 452027f085 Add files via upload 2024-04-01 23:59:25 +08:00
PYDT 8574802428 Add files via upload 2024-04-01 22:55:13 +08:00
PYDT 79fb044921 Add files via upload 2024-04-01 07:16:53 +08:00
PYDT 13ac634fea Delete Rules directory 2024-03-31 15:29:12 +08:00
PYDT 04a68bc262 Add files via upload 2024-03-29 13:43:15 +08:00
PYDT 47de15ab68 Add files via upload 2024-03-29 12:32:56 +08:00
PYDT 512af24a05 Delete Rules directory 2024-03-29 12:29:21 +08:00
PYDT e5ff46d3bb Delete Rules/Script.yar 2024-03-28 11:56:12 +08:00
PYDT c7a0979140 Delete Rules/Windows.yar 2024-03-28 11:55:58 +08:00
PYDT 7fd7245df2 Delete Rules/Linux.yar 2024-03-28 11:55:47 +08:00
PYDT 026301b011 Add files via upload 2024-03-28 11:55:25 +08:00
PYDT 5cc77f90ae Add files via upload 2024-03-28 10:21:13 +08:00
PYDT 0d4568ac8a Add files via upload 2024-03-28 10:20:08 +08:00
PYDT a6ed491a39 Add files via upload 2024-03-28 00:51:14 +08:00
PYDT 90dfc3f1ae Add files via upload 2024-03-28 00:49:12 +08:00
PYDT 36388fb0d7 Add files via upload 2024-03-27 00:11:46 +08:00
PYDT 043166d0c8 Add files via upload 2024-03-26 20:40:28 +08:00
PYDT b92d488851 Add files via upload 2024-03-26 04:09:19 +08:00
PYDT d841a04a89 Delete PYAS_Rules.json 2024-03-26 01:47:11 +08:00
PYDT d8553baa78 Add files via upload 2024-03-26 01:46:57 +08:00
PYDT 8521d5aee3 Add files via upload 2024-03-25 20:50:16 +08:00
PYDT ebe21d9c7f Add files via upload 2024-03-25 18:33:31 +08:00
PYDT 3b83abdbd3 Add files via upload 2024-03-25 16:41:37 +08:00
PYDT aead2463c9 Delete PYAS_Rules.py 2024-03-25 16:41:20 +08:00
PYDT 5cc5676672 Add files via upload 2024-03-25 14:56:41 +08:00
PYDT ecc32ca18d Add files via upload 2024-03-25 14:25:40 +08:00
PYDT 661640de79 Add files via upload 2024-03-24 23:19:46 +08:00
PYDT 96dfdab7ed Add files via upload 2024-03-24 23:19:09 +08:00
PYDT 56bed5fd3b Add files via upload 2024-03-24 16:45:19 +08:00
PYDT 3fd3b18406 Add files via upload 2024-03-23 23:10:47 +08:00
PYDT 45bac97a16 Add files via upload 2024-03-23 16:40:52 +08:00
PYDT 2c6eca4a92 Add files via upload 2024-03-23 01:41:29 +08:00
PYDT 8109d59655 Add files via upload 2024-03-22 16:35:59 +08:00
PYDT 8a15571cd2 Add files via upload 2024-03-22 12:03:29 +08:00
PYDT a15c8f2e60 Add files via upload 2024-03-22 00:01:26 +08:00
PYDT cec3d6c04d Add files via upload 2024-03-21 16:58:16 +08:00
PYDT d872604855 Add files via upload 2024-03-21 13:59:44 +08:00
PYDT 2b6fb933a4 Add files via upload 2024-03-21 12:43:38 +08:00
PYDT 1da892e863 Add files via upload 2024-03-21 12:43:19 +08:00
PYDT 19bfedd1a3 Add files via upload 2024-03-21 11:26:40 +08:00
PYDT cb87392d9d Add files via upload 2024-03-21 08:42:17 +08:00
PYDT 7cd5bc9ec3 Add files via upload 2024-03-21 00:38:14 +08:00
PYDT edcc1a30ab Add files via upload 2024-03-20 22:52:46 +08:00
PYDT 6f93f6ab06 Add files via upload 2024-03-14 08:49:33 +08:00
PYDT 9de1f44288 Add files via upload 2024-03-13 22:04:03 +08:00
PYDT 3d360b0881 Add files via upload 2024-03-12 21:23:09 +08:00
PYDT cf1c415846 Add files via upload 2024-03-12 14:52:45 +08:00
PYDT 90133e2444 Add files via upload 2024-03-11 11:15:55 +08:00
PYDT 81246046b8 Add files via upload 2024-03-10 13:05:03 +08:00
PYDT 20e037ab9e Add files via upload 2024-03-09 03:24:41 +08:00
PYDT bc27036ba7 Add files via upload 2024-03-07 16:35:31 +08:00
PYDT 1cd470b90b Add files via upload 2024-03-07 16:03:41 +08:00
PYDT 64471e34bc Add files via upload 2024-03-07 14:09:51 +08:00
PYDT f4c5d3de09 Add files via upload 2024-03-07 13:40:44 +08:00
PYDT 0dc59405e3 Update README.md 2024-03-06 15:34:29 +08:00
PYDT 7c775bdc9b Add files via upload 2024-03-06 15:19:10 +08:00
PYDT 61400ff4d4 Add files via upload 2024-03-02 17:33:31 +08:00
PYDT e119e34ebe Add files via upload 2024-03-01 15:48:26 +08:00
PYDT 6f059747bf Add files via upload 2024-03-01 09:32:59 +08:00
PYDT 24d72641fa Update README.md 2024-02-29 08:08:03 +08:00
PYDT b91fca3aa6 Update README.md 2024-02-29 08:06:59 +08:00
mtkiao a6f1947837 Merge pull request #18 from zackzheng1121/main
增加中文
2024-02-28 21:01:35 +08:00
zackzheng1121 6919131cef Update README_zh.md 2024-02-28 21:00:31 +08:00
PYDT 9186d801fc Add files via upload 2024-02-27 07:35:29 +08:00
PYDT 76e2f200bd Add files via upload 2024-02-26 23:21:40 +08:00
PYDT 1400bbd9ce Add files via upload 2024-02-26 15:02:04 +08:00
PYDT fd37628ac2 Add files via upload 2024-02-25 23:12:15 +08:00
PYDT 4396d5afc4 Add files via upload 2024-02-25 16:16:02 +08:00
PYDT f5faf80883 Add files via upload 2024-02-25 15:58:53 +08:00
PYDT ba32da97c8 Add files via upload 2024-02-25 10:42:07 +08:00
PYDT ec2de73d3a Update README.md 2024-02-25 02:34:20 +08:00
PYDT f4d032e5c7 Add files via upload 2024-02-25 02:17:22 +08:00
PYDT 4114aac6c3 Add files via upload 2024-02-25 01:45:23 +08:00
PYDT 0c43c6bb5f Add files via upload 2024-02-24 23:43:10 +08:00
PYDT 7b3c965b88 Add files via upload 2024-02-24 21:55:53 +08:00
zackzheng1121 d1035268f6 Update README_zh.md 2024-02-24 19:44:58 +08:00
zackzheng1121 8968f30bf9 Update README_zh.md 2024-02-24 19:43:45 +08:00
zackzheng1121 84c2c29600 Update README.md 2024-02-24 19:43:23 +08:00
zackzheng1121 b2a59f261c Update README.md 2024-02-24 19:40:42 +08:00
zackzheng1121 363a330f8e Create README.md 2024-02-24 19:39:20 +08:00
zackzheng1121 1d2aa059ee Update and rename README.md to README_zh.md 2024-02-24 19:38:16 +08:00
zackzheng1121 f2bfa908a1 add readme_zh 2024-02-24 19:32:40 +08:00
PYDT 02a8de4696 Add files via upload 2024-02-23 08:38:55 +08:00
PYDT 22fa3eff71 Add files via upload 2024-02-22 14:32:17 +08:00
PYDT 69361209c3 Add files via upload 2024-02-22 01:08:15 +08:00
PYDT ff0aeaa4ef Add files via upload 2024-02-21 10:21:38 +08:00
PYDT 3c461dfd4b Add files via upload 2024-02-21 10:13:11 +08:00
PYDT c6beda383e Add files via upload 2024-02-21 07:10:15 +08:00
PYDT 3d59f3befd Add files via upload 2024-02-21 00:42:59 +08:00
PYDT e54f0db239 Update README.md 2024-02-20 14:41:04 +08:00
PYDT 0f877f2749 Delete PYAS_Function.vdb 2024-02-20 14:02:47 +08:00
PYDT b69ba165d9 Add files via upload 2024-02-20 14:02:37 +08:00
PYDT 965076fe52 Delete PYAS_Compress.py 2024-02-20 13:43:32 +08:00
PYDT f4d6cb0430 Add files via upload 2024-02-19 10:39:21 +08:00
PYDT 19d412188c Add files via upload 2024-02-19 10:38:19 +08:00
PYDT 798d85978a Add files via upload 2024-02-11 19:53:57 +08:00
PYDT 819742d753 Add files via upload 2024-02-11 16:12:59 +08:00
PYDT 9b32fa6219 Add files via upload 2024-02-11 10:56:55 +08:00
PYDT 2c93661726 Add files via upload 2024-02-10 23:02:45 +08:00
PYDT bddaca2a1e Add files via upload 2024-02-10 22:08:39 +08:00
PYDT 2f06f2e051 Add files via upload 2024-02-10 20:52:38 +08:00
PYDT 1d26e46bd9 Add files via upload 2024-02-10 20:01:52 +08:00
PYDT fa0ff826a3 Add files via upload 2024-02-10 19:50:01 +08:00
PYDT e1b3114c83 Add files via upload 2024-02-10 19:41:34 +08:00
PYDT a655f075db Add files via upload 2024-02-10 19:40:54 +08:00
PYDT 13d4ebbf6b Add files via upload 2024-02-09 14:24:52 +08:00
PYDT 913d10b1ee Add files via upload 2024-02-09 14:18:30 +08:00
PYDT eb541a0104 Add files via upload 2024-01-30 19:03:05 +08:00
PYDT 2063186994 Add files via upload 2024-01-28 16:20:22 +08:00
PYDT 860d571039 Delete PYAS_Function.py 2024-01-28 15:41:03 +08:00
PYDT c6d79adf9a Add files via upload 2024-01-28 15:40:44 +08:00
PYDT 5453900ba1 Add files via upload 2024-01-28 03:29:28 +08:00
PYDT 5029ff1e37 Add files via upload 2024-01-28 03:13:40 +08:00
PYDT 47fb691339 Add files via upload 2024-01-28 03:12:42 +08:00
PYDT dff9dd17bf Add files via upload 2024-01-27 11:58:36 +08:00
PYDT 5bc4a16b90 Add files via upload 2024-01-26 10:14:32 +08:00
PYDT b1918953b0 Update README.md 2024-01-26 09:35:36 +08:00
PYDT 6e89ed7007 Add files via upload 2024-01-26 09:33:16 +08:00
PYDT 744e8bc941 Add files via upload 2024-01-25 20:21:35 +08:00
PYDT 0b98ce7ffd Add files via upload 2024-01-25 20:19:27 +08:00
PYDT ca8b293b06 Delete PYAS_Function.zip 2024-01-25 18:10:50 +08:00
PYDT e28d99a257 Add files via upload 2024-01-25 18:09:58 +08:00
PYDT 488feb6108 Add files via upload 2024-01-25 16:12:47 +08:00
PYDT 6cdb106f07 Add files via upload 2024-01-24 22:58:36 +08:00
PYDT a7c5ccd27a Add files via upload 2024-01-24 22:56:15 +08:00
PYDT 136f9dbf0a Add files via upload 2024-01-24 22:47:40 +08:00
PYDT 16b45c3450 Add files via upload 2024-01-24 15:13:42 +08:00
PYDT 68330fad52 Add files via upload 2024-01-24 12:57:03 +08:00
PYDT dca167518d Add files via upload 2024-01-24 12:18:50 +08:00
PYDT bcc44422ef Add files via upload 2024-01-24 08:18:06 +08:00
PYDT e080e03466 Add files via upload 2024-01-24 07:54:57 +08:00
PYDT b6e75490de Add files via upload 2024-01-23 22:19:24 +08:00
PYDT 196c014576 Add files via upload 2024-01-23 16:58:43 +08:00
PYDT 236110df5e Update README.md 2024-01-23 12:34:58 +08:00
PYDT b2ae192056 Update README.md 2024-01-23 11:56:05 +08:00
PYDT f080969a62 Update README.md 2024-01-23 11:52:38 +08:00
PYDT 69d969898d Update README.md 2024-01-23 11:44:26 +08:00
PYDT a21a766926 Update README.md 2024-01-23 11:41:44 +08:00
PYDT f11fdb6b96 Update README.md 2024-01-23 11:34:02 +08:00
PYDT c7445df4c6 Update README.md 2024-01-23 11:07:51 +08:00
PYDT 2c45c9bc5b Update README.md 2024-01-23 11:02:53 +08:00
PYDT ae5ed27cb6 Update README.md 2024-01-23 10:57:13 +08:00
PYDT 11f9fe3c8b Add files via upload 2024-01-23 10:55:05 +08:00
PYDT e93ad3bd33 Delete PYAS_Function.7z 2024-01-23 10:54:34 +08:00
PYDT 20c26ea0a8 Add files via upload 2024-01-23 10:45:31 +08:00
PYDT 5925a80d3b Add files via upload 2024-01-22 16:19:31 +08:00
PYDT 56cb95e523 Add files via upload 2024-01-22 16:11:56 +08:00
PYDT a6e101cc5d Add files via upload 2024-01-22 12:49:46 +08:00
PYDT e8292b6f81 Add files via upload 2024-01-21 23:35:59 +08:00
PYDT 37a4392c94 Add files via upload 2024-01-21 15:49:43 +08:00
PYDT a897f75ecf Add files via upload 2024-01-20 22:16:36 +08:00
PYDT 79055d3779 Add files via upload 2024-01-19 16:31:27 +08:00
PYDT 3d39aa7f97 Delete PYAS_Function_Virus.7z 2024-01-19 11:18:58 +08:00
PYDT 2c1d09affc Delete PYAS_Function_Safe.7z 2024-01-19 11:18:42 +08:00
PYDT 4775358a79 Add files via upload 2024-01-19 11:18:28 +08:00
PYDT cb5f8e8191 Add files via upload 2024-01-19 11:10:48 +08:00
PYDT 8209b4ff01 Add files via upload 2024-01-19 11:05:39 +08:00
PYDT e110134d24 Add files via upload 2024-01-19 07:30:45 +08:00
PYDT c2248fdd49 Add files via upload 2024-01-18 16:51:36 +08:00
PYDT 58fea5b0ca Add files via upload 2024-01-18 15:29:15 +08:00
PYDT 7a36946545 Add files via upload 2024-01-18 13:00:09 +08:00
PYDT 563d9a8a36 Add files via upload 2024-01-18 12:52:17 +08:00
PYDT bdbd0617b5 Add files via upload 2024-01-18 09:04:50 +08:00
PYDT 67006d88cb Add files via upload 2024-01-17 21:39:54 +08:00
PYDT ded2083462 Add files via upload 2024-01-17 16:18:32 +08:00
PYDT 87b7d044f8 Add files via upload 2024-01-17 14:37:47 +08:00
PYDT 9781cef29b Add files via upload 2024-01-17 13:45:19 +08:00
PYDT 52c393148b Add files via upload 2024-01-17 13:33:21 +08:00
PYDT b98d617d6f Add files via upload 2024-01-16 17:00:10 +08:00
PYDT b475573e0e Add files via upload 2024-01-16 15:37:53 +08:00
PYDT ba3c85d5b2 Add files via upload 2024-01-16 10:06:13 +08:00
PYDT 410777efb3 Add files via upload 2024-01-15 22:11:42 +08:00
PYDT 0b3fb452b4 Add files via upload 2024-01-15 19:26:37 +08:00
PYDT aaff565172 Add files via upload 2024-01-15 17:13:45 +08:00
PYDT dd0786648e Add files via upload 2024-01-15 16:46:10 +08:00
PYDT e145ffa111 Add files via upload 2024-01-15 11:31:14 +08:00
PYDT b322468c1c Add files via upload 2024-01-15 11:17:40 +08:00
PYDT 992d8b909c Add files via upload 2024-01-15 09:39:53 +08:00
PYDT d5327c6370 Delete How To Use.py 2024-01-15 09:39:35 +08:00
PYDT 0d13bb5f8f Add files via upload 2024-01-15 09:39:08 +08:00
PYDT 3ad08a33a9 Add files via upload 2024-01-15 09:35:25 +08:00
PYDT 533e0ed736 Add files via upload 2024-01-15 09:15:58 +08:00
PYDT e7ba77b600 Add files via upload 2024-01-15 00:12:33 +08:00
PYDT f3b84b04f7 Add files via upload 2024-01-14 21:17:04 +08:00
PYDT f4c948aca9 Add files via upload 2024-01-13 23:01:02 +08:00
PYDT 1507f5df5a Add files via upload 2024-01-13 18:32:48 +08:00
PYDT 0562d11a71 Add files via upload 2024-01-13 13:23:35 +08:00
PYDT b3a9f5cce0 Add files via upload 2024-01-13 13:17:56 +08:00
PYDT 5974a3c85a Add files via upload 2024-01-13 13:14:37 +08:00
PYDT 78c732d2b8 Add files via upload 2024-01-13 12:42:11 +08:00
PYDT d087b2dc16 Add files via upload 2024-01-12 19:08:57 +08:00
PYDT 16c5d014aa Add files via upload 2024-01-12 10:42:34 +08:00
PYDT e661ff400f Update README.md 2024-01-12 09:53:48 +08:00
PYDT b8c8e2d04d Update README.md 2024-01-12 09:42:24 +08:00
PYDT 8fc36f2b20 Update README.md 2024-01-12 09:37:35 +08:00
PYDT 4b73a09a09 Update README.md 2024-01-12 09:26:49 +08:00
PYDT 65c4d5d5b7 Update README.md 2024-01-12 09:25:45 +08:00
PYDT 19d0702aee Update LICENSE.md 2024-01-12 09:15:08 +08:00
PYDT b74e8330de Add files via upload 2024-01-12 08:24:21 +08:00
PYDT 334b837d43 Add files via upload 2024-01-11 18:57:45 +08:00
PYDT 169cb37f08 Add files via upload 2024-01-11 18:54:52 +08:00
PYDT 8f29c3f0da Add files via upload 2024-01-11 11:26:50 +08:00
PYDT bec5cc4a04 Delete PYAS_Function.7z 2024-01-11 11:25:28 +08:00
PYDT af627ee202 Delete PYAS_Compress.py 2024-01-11 11:25:17 +08:00
PYDT 1e091a3e7c Delete PYAS_Function_Virus.7z 2024-01-11 10:23:11 +08:00
PYDT 8840da91d7 Delete PYAS_Function_Safe.7z 2024-01-11 10:22:59 +08:00
PYDT 1f4ff04ed3 Add files via upload 2024-01-11 10:22:17 +08:00
PYDT 60974e8f72 Add files via upload 2024-01-11 09:31:52 +08:00
PYDT 86f68994c2 Add files via upload 2024-01-10 09:19:18 +08:00
PYDT 21c4918486 Add files via upload 2024-01-09 08:20:17 +08:00
PYDT c6a426ec25 Add files via upload 2024-01-08 21:22:54 +08:00
PYDT db75a22c1c Add files via upload 2024-01-08 19:31:04 +08:00
PYDT 7e85d22ecd Add files via upload 2024-01-08 18:53:53 +08:00
PYDT 67adadc0a4 Add files via upload 2024-01-08 17:46:19 +08:00
PYDT 6b78562454 Add files via upload 2024-01-08 08:33:37 +08:00
PYDT 4f13afc867 Add files via upload 2024-01-07 20:06:03 +08:00
PYDT c34e8f193f Add files via upload 2024-01-06 16:53:56 +08:00
PYDT 4bcb507eae Add files via upload 2024-01-06 12:45:32 +08:00
PYDT a50d457d75 Add files via upload 2024-01-05 10:51:12 +08:00
PYDT 9f119265a9 Add files via upload 2024-01-05 10:21:49 +08:00
PYDT 0b121a624b Add files via upload 2024-01-05 09:34:07 +08:00
PYDT 0f47f5ec8f Add files via upload 2024-01-05 08:12:45 +08:00
PYDT f89896d041 Add files via upload 2024-01-04 15:47:23 +08:00
PYDT 5e335fd5e8 Add files via upload 2024-01-04 15:47:06 +08:00
PYDT fd245dec14 Add files via upload 2024-01-04 14:56:46 +08:00
PYDT 774cdc5de3 Add files via upload 2024-01-04 13:28:02 +08:00
PYDT 633cfad1a8 Add files via upload 2024-01-04 11:39:51 +08:00
PYDT cb7875c320 Add files via upload 2024-01-04 10:08:12 +08:00
PYDT 7960a57fc0 Add files via upload 2024-01-03 23:08:28 +08:00
PYDT a23f693921 Delete PYAS_Function.zip 2024-01-03 22:55:51 +08:00
PYDT c49cb8bc4a Delete PYAS_Compress.py 2024-01-03 22:55:39 +08:00
PYDT 02c425cfc0 Add files via upload 2024-01-03 11:50:11 +08:00
PYDT be96ba0a0e Add files via upload 2024-01-02 11:19:37 +08:00
PYDT df5e00977a Add files via upload 2024-01-02 07:53:56 +08:00
PYDT f055650365 Add files via upload 2024-01-02 07:21:14 +08:00
PYDT b0baddda3b Delete PYAS_Function.7z 2024-01-02 07:20:32 +08:00
PYDT 69359cba05 Delete PYAS_Function_Virus.7z 2024-01-02 00:16:56 +08:00
PYDT 8b0b29e39b Delete PYAS_Function_Safe.7z 2024-01-02 00:16:45 +08:00
PYDT 21ac50667d Add files via upload 2024-01-02 00:16:07 +08:00
PYDT b843a438ba Add files via upload 2024-01-01 03:59:04 +08:00
PYDT 441cc30c0b Add files via upload 2024-01-01 03:42:15 +08:00
PYDT 85adf5dc80 Add files via upload 2023-12-31 20:55:32 +08:00
PYDT 0c48f0981d Delete PYML.py 2023-12-31 17:30:22 +08:00
PYDT 88b646e41c Delete PYAS_Database.7z 2023-12-31 17:30:03 +08:00
PYDT dc4c3e0a99 Add files via upload 2023-12-31 17:29:47 +08:00
PYDT 262f6d55a0 Add files via upload 2023-12-29 11:22:07 +08:00
PYDT 2d68400670 Delete PYAS_Function.7z 2023-12-29 09:42:48 +08:00
PYDT 8acaae3f0d Add files via upload 2023-12-29 09:42:10 +08:00
PYDT a5cb26528f Add files via upload 2023-12-15 08:58:39 +08:00
PYDT ac2520a03f Add files via upload 2023-12-15 08:43:04 +08:00
PYDT 9c15cc7b33 Add files via upload 2023-12-14 22:49:20 +08:00
PYDT c38f460163 Add files via upload 2023-12-14 22:25:15 +08:00
PYDT 9bda8c9e77 Add files via upload 2023-12-14 15:48:01 +08:00
PYDT 558be68bad Add files via upload 2023-12-14 15:25:36 +08:00
PYDT 6b9d27ce9b Add files via upload 2023-12-14 09:57:22 +08:00
PYDT 412745eede Add files via upload 2023-12-14 09:44:59 +08:00
PYDT 91ea771af1 Add files via upload 2023-12-14 07:17:45 +08:00
PYDT 238ab03db3 Add files via upload 2023-12-14 07:16:10 +08:00
PYDT 2d63da193d Add files via upload 2023-12-13 09:31:18 +08:00
PYDT fa4c20a241 Add files via upload 2023-12-12 18:00:47 +08:00
PYDT 6294fc33d1 Add files via upload 2023-12-11 18:17:39 +08:00
PYDT c4cf48a94b Add files via upload 2023-12-11 09:12:24 +08:00
PYDT 2934c7eb57 Add files via upload 2023-12-11 07:53:44 +08:00
PYDT 46ce454105 Add files via upload 2023-12-10 18:02:52 +08:00
PYDT 9ab06a0ea9 Add files via upload 2023-12-10 12:33:37 +08:00
PYDT e6f742380a Add files via upload 2023-12-09 17:43:10 +08:00
PYDT 2686812470 Add files via upload 2023-12-09 17:01:08 +08:00
PYDT cd11b5b7b2 Add files via upload 2023-12-08 21:28:06 +08:00
PYDT aae35dc640 Add files via upload 2023-12-08 18:21:31 +08:00
PYDT f0b669ff85 Add files via upload 2023-12-08 08:18:32 +08:00
PYDT 237605bb9f Add files via upload 2023-12-07 16:17:34 +08:00
PYDT 1778046581 Add files via upload 2023-12-07 09:45:20 +08:00
PYDT ff10adfabb Add files via upload 2023-12-06 14:35:52 +08:00
PYDT 1cb0f8d7ba Add files via upload 2023-12-06 14:29:34 +08:00
PYDT 5813bbdcd1 Add files via upload 2023-12-06 09:52:59 +08:00
PYDT b38e5b177e Add files via upload 2023-12-06 09:08:11 +08:00
PYDT 9d66cf248c Add files via upload 2023-12-06 06:37:25 +08:00
PYDT ebcf90d426 Add files via upload 2023-12-05 15:58:41 +08:00
PYDT 51904db187 Add files via upload 2023-12-05 15:15:21 +08:00
PYDT 4fc8755b8d Add files via upload 2023-12-05 11:27:36 +08:00
PYDT 7afcbfaa26 Add files via upload 2023-12-05 09:16:49 +08:00
PYDT 55cb96d978 Add files via upload 2023-12-05 08:44:24 +08:00
PYDT a1de099974 Add files via upload 2023-12-04 21:24:39 +08:00
PYDT a0238732fe Add files via upload 2023-12-04 19:59:48 +08:00
PYDT 6c100b0679 Add files via upload 2023-12-04 19:25:29 +08:00
PYDT e4d159840f Add files via upload 2023-12-04 19:25:10 +08:00
PYDT 0375b3ff02 Add files via upload 2023-12-04 17:01:02 +08:00
PYDT 746bae5103 Add files via upload 2023-12-04 14:10:23 +08:00
PYDT 70eb2c4500 Add files via upload 2023-12-03 23:18:21 +08:00
PYDT 69175f3ae1 Add files via upload 2023-12-02 20:21:07 +08:00
PYDT ed5fab2c54 Add files via upload 2023-12-01 22:26:39 +08:00
PYDT 1425ff8e6c Add files via upload 2023-12-01 19:43:30 +08:00
PYDT 832ab549a1 Add files via upload 2023-12-01 09:25:11 +08:00
PYDT 4ec1661c26 Add files via upload 2023-12-01 08:26:16 +08:00
PYDT ea27712b62 Add files via upload 2023-12-01 08:25:59 +08:00
PYDT 6f65efe2d8 Add files via upload 2023-11-30 21:11:48 +08:00
PYDT 8edcf60baf Add files via upload 2023-11-30 17:23:46 +08:00
PYDT 74f6aec367 Add files via upload 2023-11-30 16:02:10 +08:00
PYDT 62c65a766a Add files via upload 2023-11-30 15:09:35 +08:00
PYDT acbcaa337e Add files via upload 2023-11-30 08:21:54 +08:00
PYDT f4dbe57244 Add files via upload 2023-11-30 00:07:59 +08:00
PYDT b494c64a2f Add files via upload 2023-11-29 22:28:22 +08:00
PYDT 321e086b95 Add files via upload 2023-11-29 15:12:49 +08:00
PYDT fb60d6b867 Add files via upload 2023-11-29 13:08:38 +08:00
PYDT 8ff2e2074a Delete PYAS_Function_Safe.7z 2023-11-28 18:45:40 +08:00
PYDT 1151a1c43f Add files via upload 2023-11-28 18:45:16 +08:00
PYDT 13bc6cecc4 Add files via upload 2023-11-28 13:29:09 +08:00
PYDT a4ea572458 Add files via upload 2023-11-28 01:02:21 +08:00
PYDT 880df4dee9 Add files via upload 2023-11-27 19:31:39 +08:00
PYDT b75e86dd11 Add files via upload 2023-11-27 18:08:54 +08:00
PYDT 75c84092ae Add files via upload 2023-11-27 12:42:50 +08:00
PYDT c69db97da8 Add files via upload 2023-11-27 12:16:53 +08:00
PYDT 9c2a8892ae Add files via upload 2023-11-27 06:39:02 +08:00
PYDT f92111563c Add files via upload 2023-11-26 22:01:51 +08:00
PYDT 0abb3e78cb Add files via upload 2023-11-26 15:51:40 +08:00
PYDT fb83071419 Add files via upload 2023-11-26 12:56:33 +08:00
PYDT f593c6df8b Add files via upload 2023-11-26 12:51:13 +08:00
PYDT 9b452b25c2 Add files via upload 2023-11-25 21:47:21 +08:00
PYDT c835fcf99a Add files via upload 2023-11-25 20:23:47 +08:00
PYDT e4373edc54 Add files via upload 2023-11-25 19:59:51 +08:00
PYDT 686c05785f Add files via upload 2023-11-25 17:12:59 +08:00
PYDT 994358a793 Add files via upload 2023-11-25 16:58:41 +08:00
PYDT b02ca3757c Add files via upload 2023-11-25 16:14:41 +08:00
PYDT 164ec25415 Add files via upload 2023-11-25 14:58:27 +08:00
PYDT 8ee85cd9ca Add files via upload 2023-11-25 14:20:24 +08:00
PYDT c07bf05754 Add files via upload 2023-11-25 13:09:25 +08:00
PYDT 2e2a08a765 Add files via upload 2023-11-24 23:30:33 +08:00
PYDT 10be5f442f Add files via upload 2023-11-24 20:21:25 +08:00
PYDT 0fcd8565d8 Add files via upload 2023-11-24 12:08:55 +08:00
PYDT e07eee86dd Add files via upload 2023-11-24 09:09:49 +08:00
PYDT f25d5d73c6 Add files via upload 2023-11-23 23:31:26 +08:00
PYDT 28b4d00d3c Add files via upload 2023-11-23 22:48:46 +08:00
75 changed files with 8858 additions and 7213 deletions

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
@echo off
setlocal
:: Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\icacls.exe" "%SYSTEMROOT%\system32\config\system"
if %errorlevel% NEQ 0 goto NoAdmin
goto gotAdmin
:NoAdmin
echo You do not have administrator rights, please run this script as administrator.
pause
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
set "script_dir=%~dp0"
set "script_dir=%script_dir:~0,-1%"
bcdedit -debug on
bcdedit /set testsigning on
bcdedit /deletevalue {current} safeboot
powershell.exe -ExecutionPolicy Bypass -Command ^
"$endDate = (Get-Date).AddYears(100); ^
$cert = New-SelfSignedCertificate -DnsName PYAS -CertStoreLocation cert:\LocalMachine\My -Type CodeSigning -NotAfter $endDate; ^
$pwd = ConvertTo-SecureString -String 'PYAS' -Force -AsPlainText; ^
Export-PfxCertificate -Cert $cert -FilePath '%script_dir%\PYAS.pfx' -Password $pwd;"
"%script_dir%\signtool.exe" sign /f "%script_dir%\PYAS.pfx" /p PYAS "%script_dir%\PYAS_Driver.sys"
sc create PYAS_Driver type= kernel start= demand binPath= "%script_dir%\PYAS_Driver.sys"
shutdown -r -t 0
endlocal
View File
Whitespace-only changes.
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
@echo off
setlocal
:: Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\icacls.exe" "%SYSTEMROOT%\system32\config\system"
if %errorlevel% NEQ 0 goto NoAdmin
goto gotAdmin
:NoAdmin
echo You do not have administrator rights, please run this script as administrator.
pause
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
sc stop PYAS_Driver
sc delete PYAS_Driver
bcdedit /set testsigning off
bcdedit -debug off
shutdown -r -t 0
endlocal
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+15
View File
@@ -0,0 +1,15 @@
ExcludeXMD =
Extensions = exe;com;dll;ocx;scr;bin;dat;386;vxd;sys;wdm;cla;class;ovl;ole;hlp;doc;dot;xls;ppt;wbk;wiz;pot;ppa;xla;xlt;vbs;vbe;mdb;rtf;htm;hta;html;xml;xtp;php;asp;js;shs;chm;lnk;pif;prc;url;smm;pfd;msi;ini;csc;cmd;bas;nws;
ExcludeExtensions =
ConfigFile = bdc.ini
HttpProxy =
InfectedFolder = Infected
SuspectedFolder = Suspected
LogMaxSize = 1024
RenameExtension = vir
PluginsPaths = Plugins
LogName = bdc.log
UpdateHttpLocation = http://upgrade.bitdefender.com/av32bit-eps
XMD = *
LastUpdate = Wed Feb 18 16:39:59 2009
ProductID = {AAD1516D-28AB-4EB5-B7C8-DF54FE4442E9}
Binary file not shown.
+14
View File
@@ -0,0 +1,14 @@
<p>AVCORE v2.2 Windows/i386 11.0.1.21 (August 15, 2021)</p>
<p>disp.xmd - Dispatcher (0.00) 0x1[997] (r)</p>
<p>pyinstaller.xmd - PYInstaller unpacker (1.0) 0x8[12] (r)</p>
<p>rar.xmd - RAR5 unpacker (0.5) 0xA[12] (r)</p>
<p>thebat.xmd - TheBat Engine (0.03a) 0x4010[12] (r) +</p>
<p>html.xmd - HTML Parser (1.0) 0x4008[11] (r) +</p>
<p>mdx.xmd - Macro Defense Expert (3.57b) 0x1[11] 1[0] (r)</p>
<p>cevakrnl.xmd - CEVA (0.03a) 0x1[10] (r)</p>
<p>pdf.xmd - PDF Engine (2.0) 0x4009[10] (r) +</p>
<p>imp.xmd - IMP (1.4.2) 0x2[9] (r)</p>
<p>sfx.xmd - Sfx Engine (1.8.6) 0xA[9] (r)</p>
<p>sdx.xmd - SDX () 0x1[5] 191729[0] (r)</p>
<p>jpeg.xmd - JPEG Engine (0.05) 0x1[1] 14[1] (r)</p>
<p>rtf.xmd - RTF (1.0) 0x4008[0] (r) +</p>
Binary file not shown.
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020-2023 87owo (PYAS Security)
Copyright (c) 2020-2024 87owo (PYAS Security)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+1
View File
@@ -0,0 +1 @@
{"Unknown": [38413146381396798812836662586219087594480760119241756145287379993031670453973, 96759775057307603829199050115151442660431386536877578909394799687553144825391], "White": [92860071170291586757870565976957954052649178883790647665503983139114277816413, 50625869624179221836524636484722091669820057030729734765256925026245308185143, 79303266820014134748061006437377483029320717142203104125806969476209010566146, 50391760446499089493384482654016917630509060287507523223191455177998253781572, 34733894651460458125941968926483828168477919119649839915356573816494375383659, 16447578251589668808184123721615810667991570306415913809506896532563163557975, 18668853151306203943053249777678854424409647574074706653144503993068509738028, 16447129799599854768187525514242197965987640167415805965954293039200573272151, 42965648781535883376480003940402366467478625051031283341289116138472520399484, 45637511530246203537935382208327538642024163565740899790237852717178844340385, 100662025713257198141308144602569453810226448934776598411982222249289646045820, 2813878798545665948450767843887867208740292941021073849284371582085785669685, 54695748401254225125045716155327877471149349614359435230254611073117412307518, 27428665293760567560050957450577436769403462770366418052177943137905489504373, 32018095881556959863902669246154132691484124511748151111295836576906027842532, 82735669648112373508385530969898006750362429118827185652448450648454052106395, 27853809242729492000984914092533936796891917926358854729439436487683423285261, 20030429995379197455160031864140436552884002299333955332088108013764717533796, 82338140557728967648601024370995428985866052631101882076231147335348455671038, 71339449324799277130427957011381342555145697382104653874846579353871764366968, 2432232479351500614611699169184443988440809841079862157291791071419485606436, 9463527399566410848087352636323112952591923803840644609432039785310381355253, 17287926889345790925003722717807755244540044472850272987265624141065166747251, 31507509644511868166890345905396462199402122513677304280568315890707028374136, 92802443753971611323223428952970105040389824130209263287070763891097867755624, 60491018752293550079699763462944244393253888103551546202593483014975813742967, 45133408084728538869955951560598604064861024543940290379768365214821771604584, 6759146298068049614085390992799666053918974602489525613718797088468975708017, 43161770374046173333870752071317153674965637163816017117315179871715332666383, 55200886519442939000007636174371797768786544863806926514781108850256791225983, 102124766481586899841647737641698083212305154684644839980199278690335383712492, 52992286898317605666180786036367620316269750824654214415314225077986227890804, 96307454545313440124283308270263825589093792315386382296096934270155352236733, 36073459579994433898643313577597321150634749356791285363958792075031385371364, 5354562433688861244299028006341553420425390015040147574513776499404802540118, 2671602537216404752611755689384448521170725107261295121211275163689399347529, 31174448189678483951801405655647041557287598300853213718404097030076935043252, 817984956081990458969224676381868506770627801582748844000835755782736667191, 6997953573828232905847825866256444005094471443450029313008738013465446666864, 41288968033780608769032189481784193916730262129846893330891418484950645535282, 56724589038911745751056508177185337741291265472470897077742981563488398484126, 3353938097938067320481103667469354721822387389147415219233498938990215839034, 21195721951654457114265478558602466514207347021822959737607658828495062116920, 2916561284514958799877078174216081002558870786437593202464334407456915288119, 93137488384582768487662730765406914258099784103320160609442537879778117334700, 21195721951654457114265478558602377311225888285332501136798116331518898022972, 85036278951571446667616241901438186945472743486751871120301019617002115253240, 14623491695050192413097067629676318500123044497134202517578785087180871258165, 2022308710750553104057453378681448926020203033444470910346149752954363011822, 16435447118324352510213480738895714506136417806014749563314727656196027207884, 20110908101408861236178371339075650317185505287106087252378028881915405550816, 97262306467112548995108413358594977802790545321935863056096364390382492643957, 96614497885586867524036482497010189662872359368622249290846422070379022959337, 1895288773648887609359329471072769468085207279473521707976899919066265183340, 2651591106060448314208209841614702280337184080195391257416359882876000875095, 114619913163036058498985801603082782363327281628924544162718017899237779173997, 2481883953883130814217575190747389944608730963897863224598923997640828351014, 45000300637061336566799421885334051647634671537987073940268834014403441552901, 79047998258892679051555952202178856054614923426747250310189496005785954516966, 92887093185298651693450115442544102614083847612212241647641096093293220418098, 7140769773119319253009453104401896171570019200295580355390762162793695491644, 17012496707Line truncated
+741 -430
View File
File diff suppressed because it is too large. Load diff
+84
View File
@@ -0,0 +1,84 @@
import time, json, hashlib, numpy
from collections import Counter
class ListSimHash:
def __init__(self):
self.model = {}
def save_model(self, file_name):
with open(file_name, 'w') as f:
json.dump(self.model, f)
print(f"\nModel Is Saved In {file_name}")
def load_model(self, model_data):
if isinstance(model_data, str):
with open(model_data, 'r') as f:
model_data = json.load(f)
self.model = model_data
def get_model(self, label):
return self.model[label]
def train_model(self, label, data):
start = time.time()
print(f"Convert {label}")
if label not in self.model:
self.model[label] = []
for i, x in enumerate(data, 1):
self.model[label].append(self.build_text(x))
used = "{0:.2f}".format(time.time()-start)
prefix, suffix = f'{i}/{len(data)}:', f'{used}s'
self.progress_bar(i, len(data), prefix, suffix)
def build_text(self, content):
sums, batch, count = [], [], 0
features = dict(Counter(sorted(content)))
for f, w in features.items():
count += w
batch.append(hashlib.sha256(json.dumps(f).encode('utf-8')).digest() * w)
if len(batch) >= 10000:
sums.append(self.sum_hashes(batch))
batch = []
if batch:
sums.append(self.sum_hashes(batch))
combined_sums = numpy.sum(sums, 0)
v = numpy.packbits(combined_sums > count / 2).tobytes()
return int.from_bytes(v, 'big')
def sum_hashes(self, digests):
bitarray = numpy.unpackbits(numpy.frombuffer(b''.join(digests), dtype='>B'))
return numpy.sum(numpy.reshape(bitarray, (-1, 256)), 0)
def progress_bar(self, items, total, prefix='', suffix='', length=50, fill='█'):
percent = min(100.0, max(0.0, 100 * (items / float(total))))
end_char = '\n' if percent >= 100 else '\r'
percent_string = "{0:.2f}".format(percent)
filled_length = int(length * items // total)
bar = fill * filled_length + ' ' * (length - filled_length)
print(f'\r{prefix: <15} |{bar}| {percent_string}% {suffix}', end=end_char)
def predict_all(self, query):
label_similarities = {}
query_hash = self.build_text(query)
for label in self.model:
max_similarity = 0
for data_point in self.model[label]:
similarity = self.similar(data_point, query_hash)
if similarity > max_similarity:
max_similarity = similarity
label_similarities[label] = max_similarity
return label_similarities
def predict(self, query):
max_similarity, max_label = 0, None
query_hash = self.build_text(query)
for label in self.model:
for data_point in self.model[label]:
similarity = self.similar(data_point, query_hash)
if similarity > max_similarity:
max_similarity, max_label = similarity, label
return max_label, max_similarity
def similar(self, x, y):
hamming_distance = bin(x ^ y).count('1')
return 1 - hamming_distance / 256
+23 -9
View File
@@ -1,10 +1,24 @@
slist = [".exe",".dll",".com",".msi",".scr",
".bat",".cmd",".ps1",".vbs",".jar",
".js",".elf",".doc",".xls",".xlsx"]
from subprocess import *
import os, re, sys
alist = [".ppt",".pptx",".wps",".txt",".rtf",
".pdf",".xls",".xlsx",".doc",".docx",
".jpg",".jpeg",".png",".webp",".gif",
".mp3",".wav",".aac",".ogg",".flac",
".mp4",".avi",".mov",".wmv",".mkv",
".zip",".7z",".rar",".tar",".gz"]
class ExtenRules:
def __init__(self):
self.exten = {}
self.pyas = sys.argv[0].replace("\\", "/")
self.dir = os.path.dirname(self.pyas)
self.exten = os.path.join(self.dir, "Exten")
def bdc_scan(self, file):
if self.exten.replace("\\", "/") not in file.replace("\\", "/"):
cmd = f'"{self.exten}\\Bitdefender\\bdc.exe" "{file}"'
p = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=True, universal_newlines=True)
for matchs in re.finditer(r'(?P<filename>[^\s]+)\s+infected:\s+(?P<virusname>.+)', p.communicate()[0]):
return matchs
return False
def mem_scan(self, p):
if self.exten.replace("\\", "/") not in p.exe().replace("\\", "/"):
cmd = f'"{self.exten}\\hollows_hunter\\hollows_hunter.exe" /ofilter 2 /pid "{p.pid}"'
p = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=True, universal_newlines=True)
return 'Detected' in p.communicate()[0]
return False
BIN
View File
Binary file not shown.
Binary file not shown.
+221 -237
View File
@@ -29,6 +29,7 @@ class Ui_MainWindow(object):
self.centralwidget.setObjectName("centralwidget")
self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(0, 0, 851, 541))
self.widget.setStyleSheet("")
self.widget.setObjectName("widget")
self.Protection_widget = QtWidgets.QWidget(self.widget)
self.Protection_widget.setGeometry(QtCore.QRect(170, 50, 671, 481))
@@ -37,7 +38,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Protection_widget.setFont(font)
self.Protection_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Protection_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Protection_widget.setObjectName("Protection_widget")
self.Real_time_Protection_widget = QtWidgets.QWidget(self.Protection_widget)
self.Real_time_Protection_widget.setGeometry(QtCore.QRect(40, 10, 591, 91))
@@ -87,13 +88,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button.setCheckable(False)
self.Protection_switch_Button.setObjectName("Protection_switch_Button")
@@ -145,13 +147,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_2.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button_2.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_2.setCheckable(False)
self.Protection_switch_Button_2.setObjectName("Protection_switch_Button_2")
@@ -201,13 +204,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_3.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button_3.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_3.setCheckable(False)
self.Protection_switch_Button_3.setObjectName("Protection_switch_Button_3")
@@ -257,13 +261,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_4.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button_4.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_4.setCheckable(False)
self.Protection_switch_Button_4.setObjectName("Protection_switch_Button_4")
@@ -313,13 +318,14 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_5.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Protection_switch_Button_5.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_5.setCheckable(False)
self.Protection_switch_Button_5.setObjectName("Protection_switch_Button_5")
@@ -330,14 +336,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Navigation_Bar.setFont(font)
self.Navigation_Bar.setStyleSheet("QWidget#Navigation_Bar\n"
"{\n"
" background-color:rgb(230, 230, 230);\n"
" border-top-right-radius:2px;\n"
" border-bottom-right-radius:2px;\n"
"}\n"
"\n"
"")
self.Navigation_Bar.setStyleSheet("background-color: rgb(230, 230, 230);")
self.Navigation_Bar.setObjectName("Navigation_Bar")
self.verticalLayoutWidget = QtWidgets.QWidget(self.Navigation_Bar)
self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 0, 161, 481))
@@ -365,8 +364,8 @@ class Ui_MainWindow(object):
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" border-top-left-radius:15px;\n"
" border-bottom-left-radius:15px;\n"
" border-top-left-radius:10px;\n"
" border-bottom-left-radius:10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
@@ -376,7 +375,8 @@ class Ui_MainWindow(object):
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(255, 255, 255,110);\n"
"}")
"}\n"
"")
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/icon/State.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.State_Button.setIcon(icon1)
@@ -403,8 +403,8 @@ class Ui_MainWindow(object):
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" border-top-left-radius:15px;\n"
" border-bottom-left-radius:15px;\n"
" border-top-left-radius:10px;\n"
" border-bottom-left-radius:10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
@@ -414,7 +414,8 @@ class Ui_MainWindow(object):
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(255, 255, 255,110);\n"
"}")
"}\n"
"")
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/icon/Scan.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.Virus_Scan_Button.setIcon(icon2)
@@ -444,8 +445,8 @@ class Ui_MainWindow(object):
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" border-top-left-radius:15px;\n"
" border-bottom-left-radius:15px;\n"
" border-top-left-radius:10px;\n"
" border-bottom-left-radius:10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
@@ -455,7 +456,8 @@ class Ui_MainWindow(object):
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(255, 255, 255,110);\n"
"}")
"}\n"
"")
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(":/icon/Tool.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.Tools_Button.setIcon(icon3)
@@ -482,8 +484,8 @@ class Ui_MainWindow(object):
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" border-top-left-radius:15px;\n"
" border-bottom-left-radius:15px;\n"
" border-top-left-radius:10px;\n"
" border-bottom-left-radius:10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
@@ -493,7 +495,8 @@ class Ui_MainWindow(object):
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(255, 255, 255,110);\n"
"}")
"}\n"
"")
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(":/icon/Protect.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.Protection_Button.setIcon(icon4)
@@ -526,7 +529,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Virus_Scan_widget.setFont(font)
self.Virus_Scan_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Virus_Scan_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Virus_Scan_widget.setObjectName("Virus_Scan_widget")
self.Virus_Scan_title = QtWidgets.QLabel(self.Virus_Scan_widget)
self.Virus_Scan_title.setGeometry(QtCore.QRect(45, 30, 281, 41))
@@ -550,7 +553,7 @@ class Ui_MainWindow(object):
self.Virus_Scan_text.setWordWrap(True)
self.Virus_Scan_text.setObjectName("Virus_Scan_text")
self.Virus_Scan_choose_Button = QtWidgets.QPushButton(self.Virus_Scan_widget)
self.Virus_Scan_choose_Button.setGeometry(QtCore.QRect(480, 35, 141, 31))
self.Virus_Scan_choose_Button.setGeometry(QtCore.QRect(490, 35, 131, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -565,16 +568,8 @@ class Ui_MainWindow(object):
self.Virus_Scan_choose_Button.setTabletTracking(False)
self.Virus_Scan_choose_Button.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Virus_Scan_choose_Button.setLayoutDirection(QtCore.Qt.LeftToRight)
self.Virus_Scan_choose_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(100,200,100,200);\n"
" border-radius: 3px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(100,220,100,200);\n"
"}")
self.Virus_Scan_choose_Button.setStyleSheet("QPushButton{border:none;background-color:rgb(190,250,190);border-radius: 10px;}QPushButton:hover{background-color:rgb(200,250,200);}\n"
"")
self.Virus_Scan_choose_Button.setIconSize(QtCore.QSize(10, 10))
self.Virus_Scan_choose_Button.setCheckable(False)
self.Virus_Scan_choose_Button.setAutoRepeat(False)
@@ -585,16 +580,19 @@ class Ui_MainWindow(object):
self.Virus_Scan_choose_Button.setFlat(False)
self.Virus_Scan_choose_Button.setObjectName("Virus_Scan_choose_Button")
self.Virus_Scan_choose_widget = QtWidgets.QWidget(self.Virus_Scan_widget)
self.Virus_Scan_choose_widget.setGeometry(QtCore.QRect(480, 67, 141, 31))
self.Virus_Scan_choose_widget.setGeometry(QtCore.QRect(490, 67, 131, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Virus_Scan_choose_widget.sizePolicy().hasHeightForWidth())
self.Virus_Scan_choose_widget.setSizePolicy(sizePolicy)
self.Virus_Scan_choose_widget.setStyleSheet("background-color:rgba(200, 200, 200,200);")
self.Virus_Scan_choose_widget.setStyleSheet("QWidget {\n"
" background-color: rgb(230, 230, 230);\n"
" border-radius: 10px;\n"
" }")
self.Virus_Scan_choose_widget.setObjectName("Virus_Scan_choose_widget")
self.verticalLayoutWidget_3 = QtWidgets.QWidget(self.Virus_Scan_choose_widget)
self.verticalLayoutWidget_3.setGeometry(QtCore.QRect(0, 0, 141, 101))
self.verticalLayoutWidget_3.setGeometry(QtCore.QRect(0, 0, 131, 101))
self.verticalLayoutWidget_3.setObjectName("verticalLayoutWidget_3")
self.Virus_Scan_choose_verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_3)
self.Virus_Scan_choose_verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
@@ -616,17 +614,18 @@ class Ui_MainWindow(object):
self.File_Scan_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 5px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(50, 50, 50,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(50, 50, 50,90);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.File_Scan_Button.setIconSize(QtCore.QSize(16, 16))
self.File_Scan_Button.setCheckable(False)
self.File_Scan_Button.setObjectName("File_Scan_Button")
@@ -646,17 +645,18 @@ class Ui_MainWindow(object):
self.Path_Scan_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 5px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(50, 50, 50,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(50, 50, 50,90);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Path_Scan_Button.setIconSize(QtCore.QSize(16, 16))
self.Path_Scan_Button.setCheckable(False)
self.Path_Scan_Button.setObjectName("Path_Scan_Button")
@@ -676,23 +676,24 @@ class Ui_MainWindow(object):
self.Disk_Scan_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 5px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(50, 50, 50,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(50, 50, 50,90);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Disk_Scan_Button.setIconSize(QtCore.QSize(16, 16))
self.Disk_Scan_Button.setCheckable(False)
self.Disk_Scan_Button.setObjectName("Disk_Scan_Button")
self.Virus_Scan_choose_verticalLayout.addWidget(self.Disk_Scan_Button)
self.Virus_Scan_Solve_Button = QtWidgets.QPushButton(self.Virus_Scan_widget)
self.Virus_Scan_Solve_Button.setGeometry(QtCore.QRect(330, 35, 141, 31))
self.Virus_Scan_Solve_Button.setGeometry(QtCore.QRect(350, 35, 131, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -707,16 +708,8 @@ class Ui_MainWindow(object):
self.Virus_Scan_Solve_Button.setTabletTracking(False)
self.Virus_Scan_Solve_Button.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Virus_Scan_Solve_Button.setLayoutDirection(QtCore.Qt.LeftToRight)
self.Virus_Scan_Solve_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(230,70,70,200);\n"
" border-radius: 3px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(255,70,70,200);\n"
"}")
self.Virus_Scan_Solve_Button.setStyleSheet("QPushButton{border:none;background-color:rgb(250,190,190);border-radius: 10px;}QPushButton:hover{background-color:rgb(250,200,200);}\n"
"")
self.Virus_Scan_Solve_Button.setIconSize(QtCore.QSize(10, 10))
self.Virus_Scan_Solve_Button.setCheckable(False)
self.Virus_Scan_Solve_Button.setAutoRepeat(False)
@@ -727,7 +720,7 @@ class Ui_MainWindow(object):
self.Virus_Scan_Solve_Button.setFlat(False)
self.Virus_Scan_Solve_Button.setObjectName("Virus_Scan_Solve_Button")
self.Virus_Scan_Break_Button = QtWidgets.QPushButton(self.Virus_Scan_widget)
self.Virus_Scan_Break_Button.setGeometry(QtCore.QRect(480, 35, 141, 31))
self.Virus_Scan_Break_Button.setGeometry(QtCore.QRect(490, 35, 131, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -742,16 +735,8 @@ class Ui_MainWindow(object):
self.Virus_Scan_Break_Button.setTabletTracking(False)
self.Virus_Scan_Break_Button.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Virus_Scan_Break_Button.setLayoutDirection(QtCore.Qt.LeftToRight)
self.Virus_Scan_Break_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(230,70,70,200);\n"
" border-radius: 3px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(255,70,70,200);\n"
"}")
self.Virus_Scan_Break_Button.setStyleSheet("QPushButton{border:none;background-color:rgb(250,190,190);border-radius: 10px;}QPushButton:hover{background-color:rgb(250,200,200);}\n"
"")
self.Virus_Scan_Break_Button.setIconSize(QtCore.QSize(10, 10))
self.Virus_Scan_Break_Button.setCheckable(False)
self.Virus_Scan_Break_Button.setAutoRepeat(False)
@@ -800,6 +785,13 @@ class Ui_MainWindow(object):
self.Virus_Scan_output.setUniformItemSizes(False)
self.Virus_Scan_output.setSelectionRectVisible(False)
self.Virus_Scan_output.setObjectName("Virus_Scan_output")
self.Virus_Scan_title.raise_()
self.Virus_Scan_text.raise_()
self.Virus_Scan_choose_widget.raise_()
self.Virus_Scan_Solve_Button.raise_()
self.Virus_Scan_output.raise_()
self.Virus_Scan_Break_Button.raise_()
self.Virus_Scan_choose_Button.raise_()
self.State_widget = QtWidgets.QWidget(self.widget)
self.State_widget.setGeometry(QtCore.QRect(170, 49, 671, 481))
font = QtGui.QFont()
@@ -807,7 +799,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.State_widget.setFont(font)
self.State_widget.setStyleSheet("background-color:rgb(255, 255, 255);")
self.State_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.State_widget.setObjectName("State_widget")
self.State_title = QtWidgets.QLabel(self.State_widget)
self.State_title.setGeometry(QtCore.QRect(50, 210, 571, 41))
@@ -823,14 +815,24 @@ class Ui_MainWindow(object):
self.State_title.setAlignment(QtCore.Qt.AlignCenter)
self.State_title.setObjectName("State_title")
self.State_icon = QtWidgets.QLabel(self.State_widget)
self.State_icon.setGeometry(QtCore.QRect(250, 30, 171, 171))
self.State_icon.setGeometry(QtCore.QRect(240, 20, 191, 191))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.State_icon.sizePolicy().hasHeightForWidth())
self.State_icon.setSizePolicy(sizePolicy)
self.State_icon.setMinimumSize(QtCore.QSize(0, 171))
self.State_icon.setMaximumSize(QtCore.QSize(16777215, 16777215))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(1)
font.setStrikeOut(False)
font.setKerning(True)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.State_icon.setFont(font)
self.State_icon.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
self.State_icon.setToolTip("")
self.State_icon.setStyleSheet("")
self.State_icon.setFrameShape(QtWidgets.QFrame.NoFrame)
self.State_icon.setLineWidth(1)
self.State_icon.setText("")
@@ -853,6 +855,8 @@ class Ui_MainWindow(object):
self.State_output.setFont(font)
self.State_output.setAutoFillBackground(False)
self.State_output.setStyleSheet("")
self.State_output.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.State_output.setFrameShadow(QtWidgets.QFrame.Sunken)
self.State_output.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
self.State_output.setUndoRedoEnabled(True)
self.State_output.setTextInteractionFlags(QtCore.Qt.TextSelectableByKeyboard|QtCore.Qt.TextSelectableByMouse)
@@ -876,7 +880,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.About_widget.setFont(font)
self.About_widget.setStyleSheet("background-color:rgba(255, 255, 255,255);")
self.About_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.About_widget.setObjectName("About_widget")
self.About_Back = QtWidgets.QPushButton(self.About_widget)
self.About_Back.setGeometry(QtCore.QRect(20, 10, 101, 41))
@@ -891,17 +895,7 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.About_Back.setFont(font)
self.About_Back.setFocusPolicy(QtCore.Qt.StrongFocus)
self.About_Back.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" color:rgba(60,60,60,200);\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" color:rgba(60,60,60,255);\n"
"}\n"
"")
self.About_Back.setStyleSheet("QPushButton{border:none; background-color:rgba(0,0,0,0); color:rgba(60,60,60,200);} QPushButton:hover{ color:rgba(60,60,60,255);}")
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(":/icon/Back.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.About_Back.setIcon(icon5)
@@ -1026,7 +1020,13 @@ class Ui_MainWindow(object):
font.setPointSize(11)
self.License_terms.setFont(font)
self.License_terms.setStyleSheet("")
self.License_terms.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.License_terms.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
self.License_terms.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
self.License_terms.setTabChangesFocus(False)
self.License_terms.setLineWrapColumnOrWidth(0)
self.License_terms.setReadOnly(True)
self.License_terms.setOverwriteMode(False)
self.License_terms.setObjectName("License_terms")
self.License_terms_title = QtWidgets.QLabel(self.About_widget)
self.License_terms_title.setGeometry(QtCore.QRect(45, 260, 581, 31))
@@ -1046,10 +1046,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Window_widget.setFont(font)
self.Window_widget.setStyleSheet("QWidget#Window_widget\n"
"{\n"
"background-color:rgb(240, 240, 240);\n"
"}")
self.Window_widget.setStyleSheet("background-color: rgb(240, 240, 240);")
self.Window_widget.setObjectName("Window_widget")
self.Close_Button = QtWidgets.QPushButton(self.Window_widget)
self.Close_Button.setGeometry(QtCore.QRect(790, 5, 31, 31))
@@ -1172,7 +1169,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Process_widget.setFont(font)
self.Process_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Process_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Process_widget.setObjectName("Process_widget")
self.Process_Tools_Back = QtWidgets.QPushButton(self.Process_widget)
self.Process_Tools_Back.setGeometry(QtCore.QRect(20, 10, 101, 41))
@@ -1187,17 +1184,7 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Process_Tools_Back.setFont(font)
self.Process_Tools_Back.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Process_Tools_Back.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" color:rgba(60,60,60,200);\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" color:rgba(60,60,60,255);\n"
"}\n"
"")
self.Process_Tools_Back.setStyleSheet("QPushButton{border:none; background-color:rgba(0,0,0,0); color:rgba(60,60,60,200);} QPushButton:hover{ color:rgba(60,60,60,255);}")
self.Process_Tools_Back.setIcon(icon5)
self.Process_Tools_Back.setIconSize(QtCore.QSize(20, 20))
self.Process_Tools_Back.setCheckable(False)
@@ -1265,7 +1252,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Tools_widget.setFont(font)
self.Tools_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Tools_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Tools_widget.setObjectName("Tools_widget")
self.More_Tools_Back_Button = QtWidgets.QPushButton(self.Tools_widget)
self.More_Tools_Back_Button.setGeometry(QtCore.QRect(20, 10, 101, 41))
@@ -1280,13 +1267,7 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.More_Tools_Back_Button.setFont(font)
self.More_Tools_Back_Button.setFocusPolicy(QtCore.Qt.StrongFocus)
self.More_Tools_Back_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" color:rgba(60,60,60,200);\n"
"}\n"
"")
self.More_Tools_Back_Button.setStyleSheet("QPushButton{border:none; background-color:rgba(0,0,0,0); color:rgba(60,60,60,200);} QPushButton:hover{ color:rgba(60,60,60,255);}")
self.More_Tools_Back_Button.setIconSize(QtCore.QSize(20, 20))
self.More_Tools_Back_Button.setCheckable(False)
self.More_Tools_Back_Button.setObjectName("More_Tools_Back_Button")
@@ -1312,17 +1293,18 @@ class Ui_MainWindow(object):
self.System_Process_Manage_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.System_Process_Manage_Button.setIconSize(QtCore.QSize(16, 16))
self.System_Process_Manage_Button.setCheckable(False)
self.System_Process_Manage_Button.setObjectName("System_Process_Manage_Button")
@@ -1342,17 +1324,18 @@ class Ui_MainWindow(object):
self.Clean_System_Files_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Clean_System_Files_Button.setIconSize(QtCore.QSize(16, 16))
self.Clean_System_Files_Button.setCheckable(False)
self.Clean_System_Files_Button.setObjectName("Clean_System_Files_Button")
@@ -1372,17 +1355,18 @@ class Ui_MainWindow(object):
self.Repair_System_Files_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Repair_System_Files_Button.setIconSize(QtCore.QSize(16, 16))
self.Repair_System_Files_Button.setCheckable(False)
self.Repair_System_Files_Button.setObjectName("Repair_System_Files_Button")
@@ -1402,17 +1386,18 @@ class Ui_MainWindow(object):
self.Repair_System_Network_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Repair_System_Network_Button.setIconSize(QtCore.QSize(16, 16))
self.Repair_System_Network_Button.setCheckable(False)
self.Repair_System_Network_Button.setObjectName("Repair_System_Network_Button")
@@ -1432,25 +1417,22 @@ class Ui_MainWindow(object):
self.Window_Block_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
" background-color:rgb(220,220,220);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" background-color:rgba(20,20,20,70);\n"
"}")
" background-color:rgb(230,230,230);\n"
"}\n"
"")
self.Window_Block_Button.setIconSize(QtCore.QSize(16, 16))
self.Window_Block_Button.setCheckable(False)
self.Window_Block_Button.setObjectName("Window_Block_Button")
self.System_verticalLayout.addWidget(self.Window_Block_Button)
self.widget_2 = QtWidgets.QWidget(self.widget)
self.widget_2.setGeometry(QtCore.QRect(170, 50, 671, 481))
self.widget_2.setStyleSheet("background-color:rgb(255, 255, 255);")
self.widget_2.setObjectName("widget_2")
self.Setting_widget = QtWidgets.QWidget(self.widget)
self.Setting_widget.setGeometry(QtCore.QRect(10, 50, 831, 481))
font = QtGui.QFont()
@@ -1458,7 +1440,7 @@ class Ui_MainWindow(object):
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Setting_widget.setFont(font)
self.Setting_widget.setStyleSheet("background-color:rgba(255, 255, 255,255);")
self.Setting_widget.setStyleSheet("background-color: rgb(255, 255, 255);")
self.Setting_widget.setObjectName("Setting_widget")
self.Show_high_sensitivity = QtWidgets.QWidget(self.Setting_widget)
self.Show_high_sensitivity.setGeometry(QtCore.QRect(30, 50, 781, 81))
@@ -1505,13 +1487,14 @@ class Ui_MainWindow(object):
self.high_sensitivity_switch_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.high_sensitivity_switch_Button.setIconSize(QtCore.QSize(16, 16))
self.high_sensitivity_switch_Button.setCheckable(False)
self.high_sensitivity_switch_Button.setObjectName("high_sensitivity_switch_Button")
@@ -1559,6 +1542,14 @@ class Ui_MainWindow(object):
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.Language_English = QtWidgets.QRadioButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Language_English.setFont(font)
self.Language_English.setObjectName("Language_English")
self.gridLayout.addWidget(self.Language_English, 1, 2, 1, 1)
self.Language_Traditional_Chinese = QtWidgets.QRadioButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
@@ -1575,14 +1566,6 @@ class Ui_MainWindow(object):
self.Language_Simplified_Chinese.setFont(font)
self.Language_Simplified_Chinese.setObjectName("Language_Simplified_Chinese")
self.gridLayout.addWidget(self.Language_Simplified_Chinese, 1, 1, 1, 1)
self.Language_English = QtWidgets.QRadioButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Language_English.setFont(font)
self.Language_English.setObjectName("Language_English")
self.gridLayout.addWidget(self.Language_English, 1, 2, 1, 1)
self.Language_illustrate.raise_()
self.Language_Choose_widget.raise_()
self.Language_title.raise_()
@@ -1631,13 +1614,14 @@ class Ui_MainWindow(object):
self.cloud_services_switch_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.cloud_services_switch_Button.setIconSize(QtCore.QSize(16, 16))
self.cloud_services_switch_Button.setCheckable(False)
self.cloud_services_switch_Button.setObjectName("cloud_services_switch_Button")
@@ -1657,17 +1641,7 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Setting_Back.setFont(font)
self.Setting_Back.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Setting_Back.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(0,0,0,0);\n"
" color:rgba(60,60,60,200);\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" color:rgba(60,60,60,255);\n"
"}\n"
"")
self.Setting_Back.setStyleSheet("QPushButton{border:none; background-color:rgba(0,0,0,0); color:rgba(60,60,60,200);} QPushButton:hover{ color:rgba(60,60,60,255);}")
self.Setting_Back.setIcon(icon5)
self.Setting_Back.setIconSize(QtCore.QSize(20, 20))
self.Setting_Back.setCheckable(False)
@@ -1717,13 +1691,14 @@ class Ui_MainWindow(object):
self.Add_White_list_Button.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
" background-color:rgb(230,230,230);\n"
" border-radius: 10px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
" background-color:rgb(220,220,220);\n"
"}\n"
"")
self.Add_White_list_Button.setIconSize(QtCore.QSize(16, 16))
self.Add_White_list_Button.setCheckable(False)
self.Add_White_list_Button.setObjectName("Add_White_list_Button")
@@ -1769,22 +1744,6 @@ class Ui_MainWindow(object):
self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget_2)
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
self.gridLayout_2.setObjectName("gridLayout_2")
self.Theme_Black = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Black.setFont(font)
self.Theme_Black.setObjectName("Theme_Black")
self.gridLayout_2.addWidget(self.Theme_Black, 1, 1, 1, 1)
self.Theme_White = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_White.setFont(font)
self.Theme_White.setObjectName("Theme_White")
self.gridLayout_2.addWidget(self.Theme_White, 1, 0, 1, 1)
self.Theme_Yellow = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
@@ -1793,13 +1752,37 @@ class Ui_MainWindow(object):
self.Theme_Yellow.setFont(font)
self.Theme_Yellow.setObjectName("Theme_Yellow")
self.gridLayout_2.addWidget(self.Theme_Yellow, 1, 2, 1, 1)
self.Theme_Green = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
self.Theme_Green.setFont(font)
self.Theme_Green.setObjectName("Theme_Green")
self.gridLayout_2.addWidget(self.Theme_Green, 2, 0, 1, 1)
self.Theme_Blue = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Blue.setFont(font)
self.Theme_Blue.setObjectName("Theme_Blue")
self.gridLayout_2.addWidget(self.Theme_Blue, 2, 0, 1, 1)
self.gridLayout_2.addWidget(self.Theme_Blue, 2, 1, 1, 1)
self.Theme_Customize = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Customize.setFont(font)
self.Theme_Customize.setObjectName("Theme_Customize")
self.gridLayout_2.addWidget(self.Theme_Customize, 2, 2, 1, 1)
self.Theme_White = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_White.setFont(font)
self.Theme_White.setObjectName("Theme_White")
self.gridLayout_2.addWidget(self.Theme_White, 1, 0, 1, 1)
self.Theme_Red = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
@@ -1807,27 +1790,23 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Red.setFont(font)
self.Theme_Red.setObjectName("Theme_Red")
self.gridLayout_2.addWidget(self.Theme_Red, 2, 1, 1, 1)
self.Theme_Green = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Green.setFont(font)
self.Theme_Green.setObjectName("Theme_Green")
self.gridLayout_2.addWidget(self.Theme_Green, 2, 2, 1, 1)
self.gridLayout_2.addWidget(self.Theme_Red, 1, 1, 1, 1)
self.Theme_illustrate.raise_()
self.Language_Choose_widget_2.raise_()
self.Theme_title.raise_()
self.Protection_widget.raise_()
self.Setting_widget.raise_()
self.About_widget.raise_()
self.Tools_widget.raise_()
self.widget_2 = QtWidgets.QWidget(self.widget)
self.widget_2.setGeometry(QtCore.QRect(170, 50, 671, 481))
self.widget_2.setStyleSheet("background-color: rgb(255, 255, 255);")
self.widget_2.setObjectName("widget_2")
self.widget_2.raise_()
self.Setting_widget.raise_()
self.Tools_widget.raise_()
self.Process_widget.raise_()
self.Virus_Scan_widget.raise_()
self.About_widget.raise_()
self.Protection_widget.raise_()
self.Window_widget.raise_()
self.Navigation_Bar.raise_()
self.Virus_Scan_widget.raise_()
self.State_widget.raise_()
MainWindow.setCentralWidget(self.centralwidget)
@@ -1873,16 +1852,21 @@ class Ui_MainWindow(object):
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
self.State_log.setText(_translate("MainWindow", "日誌:"))
self.About_Back.setText(_translate("MainWindow", "返回"))
self.PYAS_Version.setText(_translate("MainWindow", "PYAS v2.3.5"))
self.PYAS_Version.setText(_translate("MainWindow", "PYAS V0.0.0 (0000-00-00)"))
self.GUI_Made_title.setText(_translate("MainWindow", "介面製作:"))
self.GUI_Made_Name.setText(_translate("MainWindow", "mtkiao129#3921"))
self.GUI_Made_Name.setText(_translate("MainWindow", "mtkiao"))
self.Core_Made_title.setText(_translate("MainWindow", "核心製作:"))
self.Core_Made_Name.setText(_translate("MainWindow", "PYAS_Dev#0629"))
self.Core_Made_Name.setText(_translate("MainWindow", "87owo"))
self.Testers_title.setText(_translate("MainWindow", "測試人員:"))
self.Testers_Name.setText(_translate("MainWindow", "PYAS_Dev#0629"))
self.Testers_Name.setText(_translate("MainWindow", "87owo"))
self.PYAS_URL_title.setText(_translate("MainWindow", "官方網站:"))
self.PYAS_URL.setText(_translate("MainWindow", "<html><head/><body><p><a href=\"https://xiaomi69ai.wixsite.com/pyas\"><span style=\" text-decoration: underline; color:#0000ff;\">https://xiaomi69ai.wixsite.com/pyas</span></a></p></body></html>"))
self.PYAS_CopyRight.setText(_translate("MainWindow", "Copyright© 2020-2022 PYAS Security"))
self.PYAS_URL.setText(_translate("MainWindow", "<html><head/><body><p><a href=\"https://github.com/87owo/PYAS\"><span style=\" text-decoration: underline; color:#000000;\">https://github.com/87owo/PYAS</span></a></p></body></html>"))
self.PYAS_CopyRight.setText(_translate("MainWindow", "Copyright© 0000-9999 PYAS Security"))
self.License_terms.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:11pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
self.License_terms_title.setText(_translate("MainWindow", "許可條款:"))
self.Window_title.setText(_translate("MainWindow", "PYAS V0.0.0"))
self.Process_Tools_Back.setText(_translate("MainWindow", "返回"))
@@ -1896,26 +1880,26 @@ class Ui_MainWindow(object):
self.high_sensitivity_title.setText(_translate("MainWindow", "高靈敏度模式"))
self.high_sensitivity_illustrate.setText(_translate("MainWindow", "啟用此選項可以提高引擎的靈敏度"))
self.high_sensitivity_switch_Button.setText(_translate("MainWindow", "已關閉"))
self.Language_title.setText(_translate("MainWindow", "語言"))
self.Language_title.setText(_translate("MainWindow", "顯示語言"))
self.Language_illustrate.setText(_translate("MainWindow", "請選擇語言"))
self.Language_English.setText(_translate("MainWindow", "English"))
self.Language_Traditional_Chinese.setText(_translate("MainWindow", "繁體中文"))
self.Language_Simplified_Chinese.setText(_translate("MainWindow", "简体中文"))
self.Language_English.setText(_translate("MainWindow", "English"))
self.cloud_services_title.setText(_translate("MainWindow", "高靈敏度模式"))
self.cloud_services_illustrate.setText(_translate("MainWindow", "啟用此選項可以提高引擎的靈敏度"))
self.cloud_services_title.setText(_translate("MainWindow", "雲端掃描服務"))
self.cloud_services_illustrate.setText(_translate("MainWindow", "啟用此選項可以連接雲端掃描服務"))
self.cloud_services_switch_Button.setText(_translate("MainWindow", "已關閉"))
self.Setting_Back.setText(_translate("MainWindow", "返回"))
self.Add_White_list_title.setText(_translate("MainWindow", "高靈敏度模式"))
self.Add_White_list_illustrate.setText(_translate("MainWindow", "啟用此選項可以提高引擎的靈敏度"))
self.Add_White_list_title.setText(_translate("MainWindow", "增加到白名單"))
self.Add_White_list_illustrate.setText(_translate("MainWindow", "此選項可以選擇檔案並增加到白名單"))
self.Add_White_list_Button.setText(_translate("MainWindow", "已關閉"))
self.Theme_title.setText(_translate("MainWindow", "顯色主題"))
self.Theme_illustrate.setText(_translate("MainWindow", "請選擇主題"))
self.Theme_Black.setText(_translate("MainWindow", "黑色主題"))
self.Theme_White.setText(_translate("MainWindow", "白色主題"))
self.Theme_Yellow.setText(_translate("MainWindow", "粉色主題"))
self.Theme_Blue.setText(_translate("MainWindow", "藍色主題"))
self.Theme_Red.setText(_translate("MainWindow", "紅色主題"))
self.Theme_Yellow.setText(_translate("MainWindow", "黃色主題"))
self.Theme_Green.setText(_translate("MainWindow", "綠色主題"))
self.Theme_Blue.setText(_translate("MainWindow", "藍色主題"))
self.Theme_Customize.setText(_translate("MainWindow", "自訂主題"))
self.Theme_White.setText(_translate("MainWindow", "白色主題"))
self.Theme_Red.setText(_translate("MainWindow", "紅色主題"))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
+59 -53
View File
@@ -1,53 +1,59 @@
translate_dict = {"zh_TW": {"已开启":"已開啟","已关闭":"已關閉","On":"已開啟","Off":"已關閉"},
"zh_CN": {"已開啟":"已开启","已關閉":"已关闭","On":"已开启","Off":"已关闭",
"軟體":"软件","檔案":"文件","確定":"确认","設定":"设置","關於":"关于",
"錯誤":"错误","實時":"实时","發現":"发现","關閉":"关闭","裝置":"设备",
"總數":"总数","註冊":"注册","圖標":"图标","路徑":"路径","網路":"网络",
"位元":"字节","彈窗":"弹窗","靈敏":"敏感","誤報":"误报","複製":"复制",
"訊":"讯","項":"项","掃":"扫","試":"试","黃":"黄","嗎":"吗","防":"保",
"鑰":"钥","當":"当","後":"后","護":"护","導":"导","區":"区","復":"复",
"攔":"拦","請":"请","統":"统","刪":"删","進":"进","個":"个","選":"选",
"啟":"启","監":"监","並":"并","徑":"径","盤":"盘","隱":"隐","動":"动",
"狀":"状","誌":"志","這":"这","會":"会","題":"题","擇":"择","語":"语",
"無":"无","顯":"显","變":"变","戶":"户","碼":"码","雲":"云","訂":"订",
"稱":"称","類":"类","輸":"输","執":"执","數":"数","尋":"寻","網":"网",
"詢":"询","製":"制","員":"员","許":"许","條":"条","藍":"蓝","紅":"红",
"綠":"绿","態":"态","務":"务","連":"连","檢":"检","測":"测","關":"关",
"強":"强","驅":"驱","為":"为","腳":"脚","增":"增","單":"单","開":"开",
"惡":"恶",},
"en_US": {"已開啟":"On","已關閉":"Off","已开启":"On","已关闭":"Off",",":", ",
"立即刪除":"Delete Now","安全模式":"Safe Mode","官方網站":"Website",
"惡意檔案":"Virus ","惡意軟體":"Malware ","勒索軟體":"Ransom ",
"惡意腳本":"Script ","惡意行為":"Behavior ","可疑軟體":"Suspicious ",
"許可條款":"License Terms","惡意":"Malicious","可疑":"Suspicious",
"啟用":"Enable ","禁用":"Disable ","正在初始化中":"Initializing ",
"正在掃描":"Scanning ","正在刪除":"Deleting ","最小化到":"Minimize To ",
"確定要":"Sure Want To ","靈敏度":"Sensitivity ","更新":"Update",
"白色主題":"White","黑色主題":"Black","黃色主題":"Yellow","紅色主題":"Red",
"藍色主題":"Blue","綠色主題":"Green","語言":"Language ","製作":"Make",
"測試人員":"Testers","版本資訊":"Information","通訊":"Communication ",
"註冊表":"Registry ","退出":"Quit ","檔案":"File ","當前":"Currently ",
"狀態":"State ","掃描":"Scan ","工具":"Tools ","防護":"Protect ",
"失敗":"Failed ","請":"Please ","路徑":"Path ","方式":"Method ",
"需要":"Need ","病毒":"Virus ","選擇":"Select ","返回":"Back",
"受到":"Been ","錯誤":"Error","完成":"Complete ","引擎":"Engine ",
"托盤":"Tray ","圖標":"Icon ","不安全":"Unsafe","增強":"Enhanced ",
"系統":"System ","雲端":"Cloud ","重啟":"Reboot ","修復":"Repair ",
"裝置":"Device ","發現":"Found ","成功":"Success ","清理":"Cleanup ",
"確定":"OK","執行":"Execute ","警告":"Warning ","使用":"Use ",
"網路":"Network ","變更":"Change ","總數":"Total","結束":"End ",
"選項":"Options ","監控":"Monitor ","連接":"Connect ","可以":"To ",
"進程":"Process ","攔截":"Block ","引導":"Boot ","刪除":"Delete ",
"分區":"Partition ","設定":"Settings","關於":"About","模式":"Mode ",
"提高":"Improve ","安全":"Security ","顯色":"Color ","主題":"Themes ",
"風險":"Risk ","介面":"GUI ","核心":"Core ","服務":"Services ",
"管理":"Manage","所有":"All ","全盤":"Full ","取消":"Cancel ",
"垃圾":"Junk ","位元":"byte ","本機":"Computer ","停止":"Stop ",
"增加到":"Add File To ","白名單":"White List ","軟體":"Software ",
"增加":"Add","移除":"Delete","項目":"Items ","生成":"Create ","稱":"",
"開啟":"Open ","您":"You ","此":"This ","並":"And ","未":"Not ",
"高":"High ","新":"New ","和":"And ","可能會":"Possible ","會":"Can ",
"日誌":"Log","已":"Has ","彈窗":"Window ","要":"To ","驅動":"Drive ",
"的":"","顯示":"","個":"","嗎":"","中":"","了":"","行":"","立即":"",
"密鑰":"Key ","檢測":"Detect ","誤報":"False Positive "," ":" ",
"複製":"Copy "}}
translate_dict = {
"zh_TW": {"已开启":"已開啟","已关闭":"已關閉","On":"已開啟","Off":"已關閉"},
"zh_CN": {"已開啟":"已开启","已關閉":"已关闭","On":"已开启","Off":"已关闭",
"軟體":"软件","檔案":"文件","確定":"确认","設定":"设置","關於":"关于",
"錯誤":"错误","實時":"实时","發現":"发现","關閉":"关闭","裝置":"设备",
"總數":"总数","註冊":"注册","圖標":"图标","路徑":"路径","網路":"网络",
"位元":"字节","彈窗":"弹窗","靈敏":"敏感","複製":"复制","開啟":"开启",
"訊":"讯","項":"项","掃":"扫","試":"试","黃":"黄","嗎":"吗","防":"保",
"鑰":"钥","當":"当","後":"后","護":"护","導":"导","區":"区","復":"复",
"攔":"拦","請":"请","統":"统","刪":"删","進":"进","個":"个","選":"选",
"啟":"启","監":"监","並":"并","徑":"径","盤":"盘","隱":"隐","動":"动",
"狀":"状","誌":"志","這":"这","會":"会","題":"题","擇":"择","語":"语",
"無":"无","顯":"显","變":"变","戶":"户","碼":"码","雲":"云","介":"界",
"稱":"称","類":"类","輸":"输","執":"执","數":"数","尋":"寻","網":"网",
"詢":"询","製":"制","員":"员","許":"许","條":"条","藍":"蓝","紅":"红",
"綠":"绿","態":"态","務":"务","連":"连","檢":"检","測":"测","關":"关",
"強":"强","驅":"驱","為":"为","腳":"脚","單":"单","開":"开","擴":"扩",
"惡":"恶","據":"据","庫":"库","經":"经","敗":"败","謝":"谢","別":"别",
"載":"载","誤":"误","報":"报","鏈":"链","竄":"窜","記憶體":"内存",},
"en_US": {"已開啟":"On","已關閉":"Off","已开启":"On","已关闭":"Off",",":", ",
"立即刪除":"Delete Now","安全模式":"Safe Mode","官方網站":"Website ",
"腳本":"Script ","鏈式":"Chain ","記憶體":"Memory ","加載":"Load ",
"行為":"Behavior ","可疑":"Suspicious ","勒索":"Ransom ",
"許可條款":"License Terms ","惡意":"Malicious","可疑":"Suspicious",
"啟用":"Enable ","禁用":"Disable ","正在初始化中":"Initializing ",
"正在掃描":"Scanning ","正在刪除":"Deleting ","最小化到":"Minimize To ",
"確定要":"Sure Want To ","靈敏度":"Sensitivity ","更新":"Update ",
"白色主題":"White","黃色主題":"Yellow","紅色主題":"Red","語言":"Language ",
"藍色主題":"Blue","綠色主題":"Green","自定主題":"Custom","最新":"Latest ",
"特別感謝":"Contributors ","版本資訊":"Information","通訊":"Connect ",
"註冊表":"Registry ","退出":"Quit ","檔案":"File ","當前":"Currently ",
"狀態":"State ","掃描":"Scan ","工具":"Tools ","防護":"Protect ",
"失敗":"Failed ","請":"Please ","路徑":"Path ","方式":"Method ",
"需要":"Need ","病毒":"Virus ","選擇":"Select ","返回":"Back",
"受到":"Been ","錯誤":"Error","完成":"Complete ","引擎":"Engine ",
"托盤":"Tray ","圖標":"Icon ","不安全":"Unsafe","增強":"Enhance ",
"系統":"System ","雲端":"Cloud ","重啟":"Reboot ","修復":"Repair ",
"裝置":"Device ","發現":"Found ","成功":"Success ","清理":"Cleanup ",
"確定":"OK","執行":"Execute ","警告":"Warning ","使用":"Use ",
"網路":"Network ","變更":"Change ","總數":"Total","結束":"End ",
"選項":"Options ","監控":"Monitor ","連接":"Connect ","可以":"To ",
"進程":"Process ","攔截":"Block ","引導":"Boot ","刪除":"Delete ",
"分區":"Partition ","設定":"Settings","關於":"About","模式":"Mode ",
"提高":"Improve ","安全":"Security ","顯色":"Color ","主題":"Themes ",
"風險":"Risk ","介面":"GUI ","核心":"Core ","服務":"Services ",
"管理":"Manage","所有":"All ","您":"You ","取消":"Cancel ","未":"Not ",
"垃圾":"Junk ","位元":"byte ","本機":"Computer ","停止":"Stop ",
"增加到":"Add To ","白名單":"White List ","軟體":"Software ","正在":"Start ",
"增加":"Add ","移除":"Delete","項目":"Items ","生成":"Create ","稱":"",
"複製":"Copy ","開啟":"Open ","此":"This ","並":"And ","全盤":"Full ",
"已經在":"Already ","數據庫":"Database ","誤報":"False Positive ",
"高":"High ","新":"New ","和":"And ","可能會":"Possible ","會":"Can ",
"日誌":"Log","已":"Has ","彈窗":"Window ","要":"To ","驅動":"Driver ",
"的":"","顯示":"","個":"","嗎":"","中":"","了":"","行":"","立即":"",
"密鑰":"Key ","檢測":"Detect ","製作":"Maker ","運行":"Running",
"擴展套件":"Extension Kit ","自動":"Auto ","上報":"Report ","與":"With ",
"分析":"Analysis ","自身":"Self ","其他":"Other ","配置":"Config ",
"丟失":"Lost ","網站":"Website ","不兼容":"Not Compatible ","追蹤":"Tracking ",
"竄改":"Tamper "," ":" "}}
+5649 -6472
View File
File diff suppressed because it is too large. Load diff
+11
View File
@@ -0,0 +1,11 @@
slist = [".exe",".dll",".com",".msi",".scr",
".js",".bat",".cmd",".ps1",".vbs"]
alist = [".exe",".dll",".zip",".7z",".rar",
".js",".bat",".cmd",".ps1",".vbs",
".ppt",".pptx",".wps",".txt",".rtf",
".pdf",".xls",".xlsx",".doc",".docx",
".jpg",".jpeg",".png",".webp",".gif",
".mp3",".wav",".aac",".ogg",".flac",
".mp4",".avi",".mov",".wmv",".mkv",
".aux",".cur",".mui",".ttf",".efi"]
+2 -1
View File
@@ -1,7 +1,8 @@
import pyinstaller_versionfile
pyinstaller_versionfile.create_versionfile(
output_file="versionfile.txt",
version='2.9.3',
version='3.1.4',
company_name="PYAS Security",
file_description="Python Antivirus Software",
internal_name="PYAS",
+164 -10
View File
@@ -1,22 +1,176 @@
# PYAS (Python Antivirus Software)
![PYAS](https://github.com/87owo/PYAS/assets/85057800/153bcad9-18ab-4c81-bcb6-186434d0ef1b)
![PYAS](https://github.com/87owo/PYAS/assets/85057800/8136aaca-d388-4321-bedb-abc4fcecfa8b)
## Readme Language
[繁體中文](https://github.com/87owo/PYAS/blob/main/README_zh_TW.md) ,
[简体中文](https://github.com/87owo/PYAS/blob/main/README_zh_CN.md)
## File Information
PYAS.py -> Main PYAS Program (including animation, scanning, protection functions, etc.)
PYAS_Engine.py -> Conversion Database (used to convert database dict and list to and from each other)
PYAS_Extension.py -> File Extension (including scanned file extensions and common file extensions)
PYAS_Model.* -> Virus Database (the virus database must be placed in the same directory)
PYAS_Interface.py -> PyQt5 Interface (designed by QT designer, must be matched with the main program)
PYAS_Resource.py -> PyQt5 Resource (status pictures, icon packages, button icons, etc.)
PYAS_Language.py -> Translate Dict (Traditional Chinese, Simplified Chinese, English)
PYAS_Version.py -> Pyinstaller Info (file information, version information, original name, etc.)
## Dir Information
```
PYAS/
├── Driver/
│ ├── PYAS_Driver.sys
│ └── ...
│
├── Model/
│ ├── PYAS_Model.json
│ ├── PYAS_Model.txt
│ └── ...
│
├── Rules/
│ ├── Yara_Rules.yar
│ ├── Compile_Rules.yrc
│ └── ...
│
├── PYAS.py
├── PYAS_Engine.py
└── ...
```
## Requirements
Use pip install requirements to install import module
```
psutil==5.9.5
pefile==2023.2.7
requests==2.31.0
pyperclip==1.8.2
pywin32==306
PyQt5==5.15.9
```
## Pefile Scanning
Get the pefile file function import table for scanning
```
import pefile
def pe_scan(file):
try:
fn = []
with pefile.PE(file) as pe:
for entry in pe.DIRECTORY_ENTRY_IMPORT:
for func in entry.imports:
try:
fn.append(str(func.name, "utf-8"))
except:
pass
if fn in known_malicious_list:
return "Virus"
return "Safe"
return "Unknown"
except Exception as e:
return f"Error: {e}"
info = pe_scan("path to file")
print(info)
```
## Process Detect
Show the new process name, file path, cmd line, pid
```
import psutil, time
def proc_detect():
existing_process = set()
for p in psutil.process_iter():
existing_process.add(p.pid)
while True:
time.sleep(0.1)
new_process = set()
for p in psutil.process_iter():
new_process.add(p.pid)
for pid in new_process - existing_process:
try:
p = psutil.Process(pid)
name, file, cmd = p.name(), p.exe(), p.cmdline()
print(f"Name: {name}")
print(f"File: {file}")
print(f"Pid: {p.pid}")
print(f"Cmd: {cmd}")
except Exception as e:
print(f"Error: {e}")
existing_process = new_process
proc_detect()
```
## File Detect
Monitor file changes under the specified path
```
import os, win32file, win32con
def file_detect(path):
hDir = win32file.CreateFile(path,win32con.GENERIC_READ,win32con.FILE_SHARE_READ|win32con.FILE_SHARE_WRITE|win32con.FILE_SHARE_DELETE,None,win32con.OPEN_EXISTING,win32con.FILE_FLAG_BACKUP_SEMANTICS,None)
while True:
for action, file in win32file.ReadDirectoryChangesW(hDir,10485760,True,win32con.FILE_NOTIFY_CHANGE_FILE_NAME|win32con.FILE_NOTIFY_CHANGE_DIR_NAME|win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES|win32con.FILE_NOTIFY_CHANGE_SIZE|win32con.FILE_NOTIFY_CHANGE_LAST_WRITE|win32con.FILE_NOTIFY_CHANGE_SECURITY,None,None):
try:
fpath = os.path.join(path, file)
if action == 1:
print(f"File Create: {fpath}")
elif action == 2:
print(f"File Delete: {fpath}")
elif action == 3:
print(f"File Modify: {fpath}")
elif action == 4:
print(f"File Rename: {fpath}")
elif action == 5:
print(f"File Rename: {fpath}")
except:
pass
file_detect("path")
```
## Official Website
https://pyantivirus.wixsite.com/pyas , https://github.com/87owo/PYAS
## MIT License
https://pyantivirus.wixsite.com/pyas
https://github.com/87owo/PYAS
## PYAS Driver
https://github.com/0sha0/PYAS_Protection
## MIT license
https://github.com/87owo/PYAS/blob/main/LICENSE.md
## Support System
Windows 8.1, 10, 11 (64-bit), Ram 1GB, Rom 1GB or higher
## Requirements
psutil==5.9.5, pefile==2023.2.7, requests==2.31.0, pyperclip==1.8.2, pywin32==306, PyQt5==5.15.9
Windows 8.1, 10, 11 (64-bit), Ram 500MB, Rom 200MB or higher
## Import Module
os, gc, sys, time, json, psutil, hashlib, pefile, socket, msvcrt, requests, pyperclip, win32file, win32gui, win32api, win32con, xml, PYAS_Function, PYAS_Function_Safe, PYAS_Extension, PYAS_Language, PYAS_Interface, threading, PyQt5
Other systems may experience software malfunctions or crash
## Special Thanks
360, Wix, VirusShare, mtkiao129, LenStevens, AV-T Team of LisectGroup
Copyright© 2020~2023 PYAS Security By 87owo
Wix, 0sha0, mtkiao129, AV-T Team of LisectGroup
Copyright© 2020~2024 PYAS Security By 87owo
+171
View File
@@ -0,0 +1,171 @@
# PYAS (Python 杀毒软件)
![PYAS](https://github.com/87owo/PYAS/assets/85057800/8136aaca-d388-4321-bedb-abc4fcecfa8b)
## 文件信息
PYAS.py -> PYAS主程式(包括动画、扫描、保护功能等)
PYAS_Engine.py -> 转换资料库(用于相互转换资料库字典和清单)
PYAS_Extension.py -> 副文件名(包括扫描文件副文件名和常用副文件名)
PYAS_Model.* -> 病毒库(病毒库必须放在同一目录下)
PYAS_Interface.py -> PyQt5界面(由QT设计师设计,必须与主程式相符)
PYAS_Resource.py -> PyQt5资源(状态图片、图示包、按钮图示等)
PYAS_Language.py -> 翻译字典(繁体中文、简体中文、英文)
PYAS_Version.py -> Pyinstaller资讯(文件资讯、版本资讯、原名等)
## 目录信息
```
PYAS/
├── Driver/
│ ├── PYAS_Driver.sys
│ └── ...
│
├── Model/
│ ├── PYAS_Model.json
│ ├── PYAS_Model.txt
│ └── ...
│
├── Rules/
│ ├── Yara_Rules.yar
│ ├── Compile_Rules.yrc
│ └── ...
│
├── PYAS.py
├── PYAS_Engine.py
└── ...
```
## 安装要求
使用 pip install requirements 来安装需要的模组
```
psutil==5.9.5
pefile==2023.2.7
requests==2.31.0
pyperclip==1.8.2
pywin32==306
PyQt5==5.15.9
```
## 文件扫描
取得pefile文件函数导入表进行扫描
```
import pefile
def pe_scan(file):
try:
fn = []
with pefile.PE(file) as pe:
for entry in pe.DIRECTORY_ENTRY_IMPORT:
for func in entry.imports:
try:
fn.append(str(func.name, "utf-8"))
except:
pass
if fn in known_malicious_list:
return "Virus"
return "Safe"
return "Unknown"
except Exception as e:
return f"Error: {e}"
info = pe_scan("path to file")
print(info)
```
## 进程监控
显示新进程名称、文件路径、cmd 行、pid
```
import psutil, time
def proc_detect():
existing_process = set()
for p in psutil.process_iter():
existing_process.add(p.pid)
while True:
time.sleep(0.1)
new_process = set()
for p in psutil.process_iter():
new_process.add(p.pid)
for pid in new_process - existing_process:
try:
p = psutil.Process(pid)
name, file, cmd = p.name(), p.exe(), p.cmdline()
print(f"Name: {name}")
print(f"File: {file}")
print(f"Pid: {p.pid}")
print(f"Cmd: {cmd}")
except Exception as e:
print(f"Error: {e}")
existing_process = new_process
proc_detect()
```
## 文件监控
监控指定路径下的文件变化
```
import os, win32file, win32con
def file_detect(path):
hDir = win32file.CreateFile(path,win32con.GENERIC_READ,win32con.FILE_SHARE_READ|win32con.FILE_SHARE_WRITE|win32con.FILE_SHARE_DELETE,None,win32con.OPEN_EXISTING,win32con.FILE_FLAG_BACKUP_SEMANTICS,None)
while True:
for action, file in win32file.ReadDirectoryChangesW(hDir,10485760,True,win32con.FILE_NOTIFY_CHANGE_FILE_NAME|win32con.FILE_NOTIFY_CHANGE_DIR_NAME|win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES|win32con.FILE_NOTIFY_CHANGE_SIZE|win32con.FILE_NOTIFY_CHANGE_LAST_WRITE|win32con.FILE_NOTIFY_CHANGE_SECURITY,None,None):
try:
fpath = os.path.join(path, file)
if action == 1:
print(f"File Create: {fpath}")
elif action == 2:
print(f"File Delete: {fpath}")
elif action == 3:
print(f"File Modify: {fpath}")
elif action == 4:
print(f"File Rename: {fpath}")
elif action == 5:
print(f"File Rename: {fpath}")
except:
pass
file_detect("path")
```
## 官方网页
https://pyantivirus.wixsite.com/pyas
https://github.com/87owo/PYAS
## 开源协议
https://github.com/87owo/PYAS/blob/main/LICENSE.md
## 驱动程序
https://github.com/0sha0/PYAS_Protection
## 支援系统
Windows 8.1, 10, 11 (64-bit), 内存 500MB, 存储 200MB 或更高
其他系统或版本可能会遇到软体功能故障或程序崩溃
## 特别感谢
360, Wix, VirusShare, mtkiao129, AV-T Team of LisectGroup
Copyright© 2020~2024 PYAS Security By 87owo
+169
View File
@@ -0,0 +1,169 @@
# PYAS (Python 防毒軟體)
![PYAS](https://github.com/87owo/PYAS/assets/85057800/8136aaca-d388-4321-bedb-abc4fcecfa8b)
## 檔案資訊
PYAS.py -> PYAS主程式(包括動畫、掃描、保護功能等)
PYAS_Engine.py -> 轉換資料庫(用於相互轉換資料庫字典和清單)
PYAS_Extension.py -> 檔案副檔名(包括掃描檔案副檔名和常用檔案副檔名)
PYAS_Model.* -> 病毒庫(病毒庫必須放在同一目錄下)
PYAS_Interface.py -> PyQt5 Interface(由QT設計師設計,必須與主程式相符)
PYAS_Resource.py -> PyQt5資源(狀態圖片、圖示包、按鈕圖示等)
PYAS_Language.py -> 翻譯字典(繁體中文、簡體中文、英文)
PYAS_Version.py -> Pyinstaller Info(檔案資訊、版本資訊、原名等)
## 目錄資訊
```
PYAS/
├── Driver/
│ ├── PYAS_Driver.sys
│ └── ...
│
├── Model/
│ ├── PYAS_Model.json
│ ├── PYAS_Model.txt
│ └── ...
│
├── Rules/
│ ├── Yara_Rules.yar
│ ├── Compile_Rules.yrc
│ └── ...
│
├── PYAS.py
├── PYAS_Engine.py
└── ...
```
## 安裝要求
使用 pip install requirements 來安裝需要的模組
```
psutil==5.9.5
pefile==2023.2.7
requests==2.31.0
pyperclip==1.8.2
pywin32==306
PyQt5==5.15.9
```
## 檔案掃描
取得pefile檔案函數導入表進行掃描
```
import pefile
def pe_scan(file):
try:
fn = []
with pefile.PE(file) as pe:
for entry in pe.DIRECTORY_ENTRY_IMPORT:
for func in entry.imports:
try:
fn.append(str(func.name, "utf-8"))
except:
pass
if fn in known_malicious_list:
return "Virus"
return "Safe"
return "Unknown"
except Exception as e:
return f"Error: {e}"
info = pe_scan("path to file")
print(info)
```
## 進程監控
顯示新進程名稱、檔案路徑、cmd 行、pid
```
import psutil, time
def proc_detect():
existing_process = set()
for p in psutil.process_iter():
existing_process.add(p.pid)
while True:
time.sleep(0.1)
new_process = set()
for p in psutil.process_iter():
new_process.add(p.pid)
for pid in new_process - existing_process:
try:
p = psutil.Process(pid)
name, file, cmd = p.name(), p.exe(), p.cmdline()
print(f"Name: {name}")
print(f"File: {file}")
print(f"Pid: {p.pid}")
print(f"Cmd: {cmd}")
except Exception as e:
print(f"Error: {e}")
existing_process = new_process
proc_detect()
```
## 檔案監控
監控指定路徑下的檔案變化
```
import os, win32file, win32con
def file_detect(path):
hDir = win32file.CreateFile(path,win32con.GENERIC_READ,win32con.FILE_SHARE_READ|win32con.FILE_SHARE_WRITE|win32con.FILE_SHARE_DELETE,None,win32con.OPEN_EXISTING,win32con.FILE_FLAG_BACKUP_SEMANTICS,None)
while True:
for action, file in win32file.ReadDirectoryChangesW(hDir,10485760,True,win32con.FILE_NOTIFY_CHANGE_FILE_NAME|win32con.FILE_NOTIFY_CHANGE_DIR_NAME|win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES|win32con.FILE_NOTIFY_CHANGE_SIZE|win32con.FILE_NOTIFY_CHANGE_LAST_WRITE|win32con.FILE_NOTIFY_CHANGE_SECURITY,None,None):
try:
fpath = os.path.join(path, file)
if action == 1:
print(f"File Create: {fpath}")
elif action == 2:
print(f"File Delete: {fpath}")
elif action == 3:
print(f"File Modify: {fpath}")
elif action == 4:
print(f"File Rename: {fpath}")
elif action == 5:
print(f"File Rename: {fpath}")
except:
pass
file_detect("path")
```
## 官方網頁
https://pyantivirus.wixsite.com/pyas
https://github.com/87owo/PYAS
## 開源協議
https://github.com/87owo/PYAS/blob/main/LICENSE.md
## 驅動程式
https://github.com/0sha0/PYAS_Protection
## 支援系統
Windows 8.1, 10, 11 (64-bit),記憶體 500MB, 磁碟容量 200MB 或更高
其他系統或版本可能會遇到軟體功能故障或程序崩潰
## 特別感謝
Wix, 0sha0, mtkiao129, AV-T Team of LisectGroup
Copyright© 2020~2024 PYAS Security By 87owo
File diff suppressed because it is too large. Load diff