吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4165|回复: 28
收起左侧

[易语言 原创] AES 加解密模块 [v1.1-2023.1010-R01]

  [复制链接]
爱飞的猫 发表于 2023-10-4 06:27
本帖最后由 爱飞的猫 于 2023-10-10 09:18 编辑

支持的 AES 模式:AES-{128,192,256}-{ECB,CBC,CTR},共 9 种。

不使用系统自带的 wincrypt 接口,其中软件实现移植(编译)自 tiny-AES-c 代码,用到 AES-NI 指令集的代码则是移植自英特尔的 AES-NI 指令集白皮书。

内置了个 DEMO 实例程序来调用里面的接口,可以参考里面的代码来使用。

同时提供了高阶用法的接口,即通过 AES 操作句柄来进行操作。

易语言 AES 加解密支持模块
~~~~~~~~~~~~~~~~~~~~~~~~~

  版本:

          v1.1_2023.1010-R01

  说明:

    AES 软件实现基于 kokke/tiny-AES-c,进行了一些魔改。
    AES-NI 实现基于英特尔公开的 AES 指令集白皮书修改而来。
    模块本体只依赖核心支持库,无需第三方支持库即可运行。

    从源码运行或编译[示例程序]需要安装有[黑月编译环境]。
    测试于 易语言 5.1 与 易语言 5.93,稳定运行。
    只使用 AES 模块不需要[黑月编译环境]。

  文件清单:

          - aes.ec            编译好的 AES 加解密模块。
          - AES_DEMO.e        示例程序,正确编译需要[黑月编译环境]支持。
          - AES_DEMO.rc       黑月编译器的资源文件
          - aes_demo.exe      使用黑月编译器编译后的示例程序。
          - res/              该目录包含示例程序的资源文件。
          - 截图.png          示例程序的运行截图。
          - 说明.txt          你正在阅读的这个文档。
          - 模块_aes_测试.e   开发阶段用来测试 AES 准确性的代码。
          - tiny-AES-c.zip    该压缩文件包含 v1.0 时魔改的 tiny-AES-c 代码。
                              原始代码来自 https://github.com/kokke/tiny-AES-c/
                              虽然授权协议不要求公开修改后的代码,但还是附上好了。
                              使用 i686-w64-mingw32-g++ 编译即可。
                              新版本换汤不换药,只稍微改了下接口,就不提供了。
          - checksums.sha512  该压缩包内所有文件的校验信息。

  更新记录:

    v1.1-2023.1010-R01 更新了接口:

      - 现在在初始化阶段指定加密或解密方案。
      - 旧的 [xxx_加密] 与 [xxx_解密] 方法/函数均替换为 [处理数据]。

    v1.0-2023.1003-R01 初版发布,没有什么好说的。

  碎碎念:

    胶水写起来可真麻烦,然后易语言生成的机器码质量也太差了…

    DEMO 代码还附带了两个大部分由汇编组成的 十六进制 和 字节集 互转的代码。

                                                        爱飞的猫
                                                      于 2023 冬

※ 执行压缩包内的示例程序不需要黑月环境,编译源码需要。

截图.png

易语言 AES 模块 v2023.1010-R01.7z (84.6 KB, 下载次数: 335)


完美兼容 易语言 5.93:

e-aes.png



第二页是模块导出信息,有兴趣可以看看设计的接口。

免费评分

参与人数 9吾爱币 +20 热心值 +9 收起 理由
xi3357 + 1 热心回复!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
LuckyClover + 1 + 1 谢谢@Thanks!
Peace + 5 + 1 我很赞同!
supercilious + 1 + 1 热心回复!
hrh123 + 1 + 1 我很赞同!
正己 + 4 + 1 师傅🐂
Quasi + 1 感谢分享
wojinz + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 爱飞的猫 发表于 2023-10-4 16:41
本帖最后由 爱飞的猫 于 2023-10-4 16:44 编辑
chboy 发表于 2023-10-4 16:32
您说的是这个吗?

应该是同一个东西

在 manifest 添加 hidpi 支持可以看这个
https://learn.microsoft.com/en-u ... eness-for-a-process

也可以主动调用 API 让系统知道,但是要判断系统里的这个函数是否存在(如果需要支持 xp)
这部分的说明在上文的 Setting default awareness programmatically 章里。

修正字体的话,就是获取系统默认字体,然后一个一个应用上去。
这部分参考初始化代码和对 EnumChildWindows 接口的使用。
chboy 发表于 2023-10-4 16:43
爱飞的猫 发表于 2023-10-4 16:41
应该是同一个东西

在 manifest 添加 hidpi 支持可以看这个

我很少看到易语言程序还能支持高精度DPI的界面了。

一般都是手动操作可执行文件 都是DPI缩放替代(增强)来优化分辨率。
头像被屏蔽
tl;dr 发表于 2023-10-4 06:39
 楼主| 爱飞的猫 发表于 2023-10-4 06:54

都十月了,算吧。
tp206555 发表于 2023-10-4 07:24
感谢大佬分享,学习学习
wojinz 发表于 2023-10-4 07:57
大佬,请问黑月环境要怎么安装?
error3 发表于 2023-10-4 08:56
如果有dll文件就更好了

点评

拿 c 代码改改,编译一下就是了  详情 回复 发表于 2023-10-4 15:58
wqq4309593 发表于 2023-10-4 09:12
少年你太天真了!
chboy 发表于 2023-10-4 10:45
说个题外话,一般易语言都不能适配你的高分辨率屏把?我看你的易语言程序截图很清晰。

点评

manifest 定义支持高分屏,然后启动时修正字体为系统默认字体。  详情 回复 发表于 2023-10-4 16:00
Xinshao 发表于 2023-10-4 11:15
这个和精易模块的对称加密有什么区别或优点呢?

点评

不用 wincrypt 的系统api实现,效率上可能不如用 wincrypt 的版本。 优点我还没想到。就是想做就做了。  详情 回复 发表于 2023-10-4 16:03
 楼主| 爱飞的猫 发表于 2023-10-4 15:58
error3 发表于 2023-10-4 08:56
如果有dll文件就更好了

拿 c 代码改改,编译一下就是了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 07:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表