0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对BASE64编码的逆向分析

CHANBAEK 来源:Lpy Now的小窝 作者:Lpy_Now 2023-09-20 17:24 次阅读

对于BASE64编码的逆向分析

图片

图片

在反编译文件中找到主函数,点击后按F5

得到反编译出的主函数部分

图片

图片

图片

图片

图片

其中1至7行是程序编译过程中系统预置的,可以不用理解。

假设第一次剪刀这个程序,对主函数逐段从第九行开始就是程序的主函数部分逐段进行分析。

10行: 输出一段文字

图片

图片

双击这段文字,就是如上的汇编,可以不用理解,大意就是说输入了一行字符串

11行: 读入了一个数字,这个数字在之后的第13和30行用到了。大致的用处就是分开判断两部分,分别进行两个程序当输入的v6为1时进行第15到28行的程序,当v6为2时进行30到46行的程序

15到28行: 读到了字符串,这一串就是要编码的字符串,首先v8表示字符串的长度,每三个字符处理一次,具体的处理函数时get_number函数在进行,之后判断函数的长度是否时3的倍数,这里就是对需要编码的字符串进行特判=的存在,分别在之后的两个函数中进行处理,之后输出答案

30到46行: 和之前的很类似,就是将BASE64编码的步骤反着进行了下,就是解码的步骤

举例看一下get_number函数

图片

图片

图片

图片

其中很多部分是不需要理解的大致的意思就是说在取得二进制,然后按照BASE64编码的形式进行操作

一些即将进行的工作:

BASE64算法中可以控制的地方为编码时对照表,所以大多数的题目中BASE64的魔改都可以通过修改对照表进行

通常魔改BASE64有两周情况

直接定义新的编码对照表

动态生成新的编码对照表,这里就是下一步即将学习的地方

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    935

    浏览量

    54765
  • 函数
    +关注

    关注

    3

    文章

    4308

    浏览量

    62434
  • Base64
    +关注

    关注

    0

    文章

    24

    浏览量

    8813
  • 程序编译
    +关注

    关注

    0

    文章

    9

    浏览量

    5456
收藏 人收藏

    评论

    相关推荐

    base64的加密和解密

    一、base64加密格式:base64从标准输入中读取数据,按Ctrl+D结束输入。将输入的内容编码base64字符串输出。
    发表于 07-15 08:02

    有关Base64编码的基本知识都总结在这里了

    Base64是什么?Base64编码转换有哪些具体步骤呢?Base64加密与解密该怎样去实现呢?
    发表于 01-20 06:37

    Base64的编解码方法

    Base64是一种很常用的编码方式,利用它可以将任何二进制的字符编码到可打印的64个字符之中, 这样,不管是图片,中文文本等都可以编码成只有
    发表于 10-18 11:11 10次下载

    base64解码编码详解

    Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般
    发表于 11-14 09:43 1.5w次阅读
    <b class='flag-5'>base64</b>解码<b class='flag-5'>编码</b>详解

    base64编码有什么用?(base64介绍及应用)

    由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。base64特别适合在http,mime协议下快速传输数据。
    发表于 11-14 10:35 2.8w次阅读
    <b class='flag-5'>base64</b><b class='flag-5'>编码</b>有什么用?(<b class='flag-5'>base64</b>介绍及应用)

    java实现图片与base64编码的转换

    这篇文章主要介绍了Java实现图片与base64编码之间的转换实例代码,非常不错,具有参考借鉴价值,需要的朋友参考下。
    发表于 11-14 10:59 1859次阅读

    什么是Base64,如何编解码?

    Base64编码的原理是将输入数据分割成固定长度的块(通常是3个字节),然后将每个块转换为4个Base64字符。这四个字符由64个特定的ASCII字符组成,包括大写字母A-Z、小写字母
    发表于 05-03 17:36 639次阅读

    base64编码和解码的使用方法

    Base64编码是一种广泛使用的编码方案,用于将二进制数据转换为纯文本格式。这种编码方式特别适用于在不支持二进制数据的系统之间传输数据,例如电子邮件、网页等。 1.
    的头像 发表于 11-10 10:48 455次阅读

    如何使用base64处理图像数据

    Base64是一种编码方法,可以将二进制数据转换为ASCII字符集的文本格式。这种编码方式常用于在不支持二进制数据的系统之间传输图像数据,例如在电子邮件、网页或配置文件中。 1. 理解Base
    的头像 发表于 11-10 10:51 355次阅读

    base64字符串转换为二进制文件

    Base64是一种编码方法,用于将二进制数据转换为ASCII字符串。这种编码通常用于在不支持二进制数据的系统中传输数据,例如电子邮件或网页。将Base64字符串转换为二进制文件的过程相
    的头像 发表于 11-10 10:55 447次阅读

    base64的安全性及其应用场景

    编码原理 Base64编码将每3个字节的二进制数据转换为4个ASCII字符。这种编码方式可以确保数据在不同系统和平台之间传输时的兼容性。Base64
    的头像 发表于 11-10 10:59 334次阅读

    base64与URL编码的区别和联系

    在数字时代,数据的传输和存储变得尤为重要。为了确保数据在不同系统和平台之间能够正确、安全地传输,我们需要对数据进行编码Base64和URL编码是两种广泛使用的编码技术,它们各自有不同
    的头像 发表于 11-10 11:11 290次阅读

    如何优化base64编码的性能

    Base64编码是一种广泛使用的编码方法,用于将二进制数据转换为ASCII字符串。它在许多场景中非常有用,例如在电子邮件、网页和存储系统中传输二进制数据。然而,Base64
    的头像 发表于 11-10 14:17 486次阅读

    base64在前端开发中的应用

    Base64是一种编码方法,用于将二进制数据转换为ASCII字符串。这种编码方式在前端开发中有着广泛的应用,尤其是在数据传输和存储方面。 1. Base64
    的头像 发表于 11-10 14:24 409次阅读

    使用base64存储图片的优势与劣势

    优势 兼容性和跨平台性 : Base64编码的字符串是纯文本格式,这意味着它们可以在任何支持ASCII文本的环境中使用,包括不同的操作系统和编程语言。这种跨平台性使得Base64编码
    的头像 发表于 11-10 14:25 433次阅读