渠道建设网站合肥建设工程质量监督局网站

张小明 2025/12/22 16:34:11
渠道建设网站,合肥建设工程质量监督局网站,外贸网站样式,做网站用c语言吗在逆向分析的过程中#xff0c;我们经常会遇到一些常用的已公开的算法如md5、sha1、sha256、sm3、base64等#xff0c;这些算法常用于数据计算或者转换#xff1b;也经常会遇到另外一些常用的算法如rc4、aes等#xff0c;而这些算法常用于数据加密#xff0c;所有这些算法…在逆向分析的过程中我们经常会遇到一些常用的已公开的算法如md5、sha1、sha256、sm3、base64等这些算法常用于数据计算或者转换也经常会遇到另外一些常用的算法如rc4、aes等而这些算法常用于数据加密所有这些算法都是用于特定安全场景保密性、完整性的今天我们要分享的主题是当逆向过程中遇到这些算法的时我们如何快速的识别这些算法特别是在分析汇编级别的程序时尤为有用现在安全能力越来越强即使是编译后的汇编程序也可能进行了各种加固让我们不能直观的分析程序。抛开各种算法背后的数学和密码学原理作为逆向工程师我们不要陷入其中快速识别算法才是最重要的它能大大的节省我们分析应用逻辑的时间今天我们着重介绍一下md5、sha1、sha256、sm3、aes这样算法的识别对剩下的base64、rc4算法识别我们将放到下一篇文章中。在陈述本篇文章前我先介绍一下本篇识别算法的方法-常数识别法和S-box(inv-sbox)识别法。或许这些方法早已在高级逆向工程师中传播(更多的是高级逆向工程师的自我发现和觉醒形成的自我经验或许他们不愿意传播)但对于刚刚研究和学习逆向或者中级逆向工程师来说它了解它们是有裨益的。常数识别方法已公开的通用的哈希算法在程序运算的开始都会初始化固定数量的常数考虑到算法的复杂性一般这些算法不会被修改因此识别这些常数就成了我们识别算法的关键。S-box、inv-sbox识别方法同样已公开的某些加密算法也具备这样的特征如aes、des这样的算法它们算法中通常包含一个固定的默认 S-boxSubstitution box。它是 字节替换SubBytes步骤 中使用的查表用于把每个字节替换成另一个字节从而实现非线性变换。识别S-box就成了识别这类加密算法的关键。Inv-sbox同理。md5算法识别md5算法的识别属于常数识别范畴它包含以下4个有且只有4个常数区别于sha1要仔细核对常数个数A 0x67452301B 0xefcdab89C 0x98badcfeD 0x10325476我手边有js实现的md5代码我们来截取一部分看一下那我们看一下包含md5算法的汇编程序利用反编译软件这幅图片是包含md5算法的4个常量的地方通过交叉引用我们可以找到它们被引用的地方。即下面这幅图该程序是md5算法的主体它包含了上面4个常数并且它确实是md5。sha1算法识别sha1算法的识别属于常数识别范畴它包含以下5个有且只有5个常数它的前4个常数和md5算法常数完全相同因此在识别该算法的时候一定要仔细查看常数的个数H0 0x67452301H1 0xEFCDAB89H2 0x98BADCFEH3 0x10325476H4 0xC3D2E1F0识别方法同md5这里就不再给大家演示了。sha256算法识别sha256算法的识别属于常数识别范畴它包含以下8常数H0 0x6A09E667H1 0xBB67AE85H2 0x3C6EF372H3 0xA54FF53AH4 0x510E527FH5 0x9B05688CH6 0x1F83D9ABH7 0x5BE0CD19识别方法同md5这里就不再给大家演示了。sm3识别算法sm3算法的识别属于常数识别范畴它包含以下8常数很容易和sha256混淆A0x7380166FB0x4914B2B9C0x172442D7D0xDA8A0600E0xA96F30BCF0x163138AAG0xE38DEE4DH0xB0FB0E4E识别方法同md5这里就不再给大家演示了。Aes识别方法S-box识别所有标准 AESAES-128 / AES-192 / AES-256都使用同一个 S-box。它是固定的不会在算法运行时“随机生成”或“动态变换”。S-box如下固定的 16×16 表0123456789ABCDEF0x0637C777BF26B6FC53001672BFED7AB760x1CA82C97DFA5947F0ADD4A2AF9CA472C00x2B7FD9326363FF7CC34A5E5F171D831150x304C723C31896059A071280E2EB27B2750x409832C1A1B6E5AA0523BD6B329E32F840x553D100ED20FCB15B6ACBBE394A4C58CF0x6D0EFAAFB434D338545F9027F503C9FA80x751A3408F929D38F5BCB6DA2110FFF3D20x8CD0C13EC5F974417C4A77E3D645D19730x960814FDC222A908846EEB814DE5E0BDB0xAE0323A0A4906245CC2D3AC629195E4790xBE7C8376D8DD54EA96C56F4EA657AAE080xCBA78252E1CA6B4C6E8DD741F4BBD8B8A0xD703EB5664803F60E613557B986C11D9E0xEE1F8981169D98E949B1E87E9CE5528DF0xF8CA1890DBFE6426841992D0FB054BB16Inv-sbox识别AES 中存在一个默认的 InvSBox逆 S 盒它与 SBox 是一一对应的逆映射关系。也就是说对 SBox 中的任意字节 x如果 SBox[x] y那么 InvSBox[y] x。InvSBox 不是随机生成的也不是每次运行动态变化的它是根据 SBox 算出的一个 固定常数表同样由 AES 标准FIPS-197定义。Inv-sbox如下固定的 16×16 表x\y0123456789ABCDEF0x052096AD53036A538BF40A39E81F3D7FB0x17CE339829B2FFF87348E4344C4DEE9CB0x2547B9432A6C2233DEE4C950B42FAC34E0x3082EA16628D924B2765BA2496D8BD1250x472F8F66486689816D4A45CCC5D65B6920x56C704850FDEDB9DA5E154657A78D9D840x690D8AB008CBCD30AF7E45805B8B345060x7D02C1E8FCA3F0F02C1AFBD0301138A6B0x83A9111414F67DCEA97F2CFCEF0B4E6730x996AC7422E7AD3585E2F937E81C75DF6E0xA47F11A711D29C5896FB7620EAA18BE1B0xBFC563E4BC6D279209ADBC0FE78CD5AF40xC1FDDA8338807C731B11210592780EC5F0xD60517FA919B54A0D2DE57A9F93C99CEF0xEA0E03B4DAE2AF5B0C8EBBB3C835399610xF172B047EBA77D626E169146355210C7D注意以上方法并不总适用有些aes的实现S-box(inv-sbox)是通过程序计算出来而不是默认直接给出的。常数识别仿射变换矩阵有些人自己实现aes算法S-box 仿射变换(我们不关注背后的逻辑)我们会看到仿射变换矩阵 A 的8行用字节形式存储如下{ 0xF1, 0xE3, 0xC7, 0x8F, 0x1F, 0x3E, 0x7C, 0xF8 }同上如果自实现了inv-sbox则会看到以下逆仿射矩阵{0xA4, 0x49, 0x92, 0x25, 0x4A, 0x94, 0x29, 0x52}如果我们在逆向分析过程中看到一个复杂的算法包含特别是同时包含以上形式的数组就要特别注意了它可能大概率是aes算法。轮常数位置 密钥扩展Key Expansion阶段使用。作用 保证每一轮的密钥都不同破坏对称性。生成规则Rcon 是 8 位的常数序列定义在有限域 GF(2⁸) 中。第一个常数是之后的每个常数都通过在 GF(2⁸) 上乘以 2 得到模多项式该常数序列如下{01, 02, 04, 08, 10, 20, 40, 80, 1B, 36}如果我们在逆向分析过程中看到一个复杂的算法包含该形式的数组就要特别注意了它很有可能是aes算法。总结关于以上算法的识别今天我就介绍这么多相信掌握了该技巧的你在后续逆向中会大大的节约时间有更多的精力集中在应用功能的还原上而不是深陷在这些公开的密码学算法分析的迷雾中另外沉浸在迷雾中完全没有意义。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

苏州网站建设推广服务一个自己的网站

Luckysheet大数据处理性能突破:百万级数据流畅操作实战指南 【免费下载链接】Luckysheet 项目地址: https://gitcode.com/gh_mirrors/luc/Luckysheet 在当今数据驱动的业务环境中,处理大规模表格数据已成为前端开发的常见需求。Luckysheet作为一…

张小明 2025/12/22 16:33:10 网站建设

淘宝店铺怎么装修百度优化推广

🎓 设计:纯HTML/CSS健康数据分析平台 📋 项目概述 本项目是一个纯HTML/CSS实现的设计作品,主题为"健康数据分析平台"。项目展示了如何仅通过HTML5和CSS3技术构建功能完善、界面美观的Web应用,无需任何Java…

张小明 2025/12/22 16:32:09 网站建设

做网站可能存在的问题有没有专业做特产的网站

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 实现一个功能完整的下载管理器,要求:1) 支持HTTP/HTTPS/FTP协议 2) 多任务并行下载 3) 下载队列管理 4) 速度限制 5) 代理设置。分别用传统手动编码和快马平…

张小明 2025/12/22 16:31:08 网站建设

网站备案多久通过网站怎么上传ftp

Doris 调优核心围绕资源利用率(内存 / CPU/I/O)、查询性能、导入效率和集群稳定性展开,需结合硬件环境(CPU / 内存 / 磁盘类型)、业务场景(高并发点查 / 大数据量分析 / 高吞吐导入)和数据特征&…

张小明 2025/12/22 16:30:07 网站建设

做旅行社网站在线购物商城系统

XUnity Auto Translator:Unity游戏多语言本地化解决方案深度解析 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在全球化游戏开发浪潮中,XUnity Auto Translator作为专业的Unity游…

张小明 2025/12/22 16:29:05 网站建设

公司建设网站怎么作账平台seo什么意思

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2025/12/22 16:28:04 网站建设