当前位置: 首页 > news >正文

BUUCTF-[GWCTF 2019]re3

[GWCTF 2019]re3

查壳,64位无壳

然后进去发现主函数也比较简单,主要是一个长度校验,然后有一个mprotect函数,说明应该又是Smc,然后我们用脚本还原sub_402219函数处的代码image-20250425152956122

import idc
addr=0x00402219 
size=224 
for i in range(addr, addr+size):idc.patch_byte(i, get_wide_byte(i)^0x99) 
print("ok")

先看看sub_40207B函数,里面反复调用了sub_401CF9函数。image-20250425162926935

跟进看看sub_401CF9函数干了什么,一开始看见v5到v8这个样子还以为是rc4的加密,看了后面的内容发现肯定不是rc4了,看了一下wp,说是md5加密的特征数image-20250425174354504

那似乎这个地方的大致逻辑就是对这些unk数据进行md5加密,唯一不同就是对base64表进行了两次md5加密image-20250425192715930

然后被加密的表当作这里的a2被传入了,这里感觉也不是标准的base64解码的函数,特别是byte_4023A0是长度为256的数组,那么可以看出肯定不是base64了image-20250425193200996

用插件可以识别出aes的特征码,image-20250425193725405

然后回头看sub_402219函数,这个函数是,先对v4进行了一次处理,然后应该是将v4在sub_40196E这个函数进行了两次加密,分别传给了a1和a1+16,最后和byte这个密文进行对比image-20250425193922204

进入sub_40196E,发现下面存在AES特征,那就尝试提取密文和密钥image-20250425194100899

密钥就是给aes加密生成sbox盒的东西,也就是两次对表md5加密后的内容,这里尝试动调解出unk_603170image-20250425203449912

image-20250425203714138

相关文章:

  • 大模型驱动智能服务变革:从全流程赋能到行业纵深落地
  • DPIN河内AI+DePIN峰会:共绘蓝图,加速构建去中心化AI基础设施新生态
  • 【合新通信】---浸没式液冷光模块化学兼容性测试方法
  • Lesar: 面向 Lustre/Scade 语言的形式化模型检查工具
  • DeepSeek/AI驱动的销售业绩倍增实战
  • 施工安全巡检二维码制作
  • Linux文件管理(2)
  • PyTorch 实现食物图像分类实战:从数据处理到模型训练
  • 聚力共赢:超聚变联合枫清科技,构建“算力底座+知识中台”企业智能化新引擎
  • 【C/C++】深入理解指针(五)
  • 智慧联络中心SaaS平台Java项目面试实战
  • Linux操作系统从入门到实战(三)Linux基础指令(上)
  • 【现代深度学习技术】循环神经网络06:循环神经网络的简洁实现
  • MySQL8的安装方法
  • 四步完成机房3D建模仿真:小白也能快速上手
  • 【Rust】Rust中的枚举与模式匹配,原理解析与应用实战
  • Pandas读取Excel文件教程:从入门到精通
  • 制作一个简单的操作系统9
  • AI 编程工具:Augment Code
  • 手机打电话时电脑坐席同时收听对方说话并插入IVR预录声音片段
  • 日均新开三家“首店”,上海的“首发经济”密码是什么?
  • 龚正会见巴基斯坦卡拉奇市市长穆尔塔扎·瓦哈卜、巴西圣保罗市市长里卡多·努内斯
  • 欢迎回家!日本和歌山县4只大熊猫将于6月底送返中国
  • 牧原股份一季度归母净利润44.91亿元,同比扭亏为盈
  • 男子闲鱼卖手机卷入电诈案后成“网逃”续:警方已排除其作案嫌疑
  • 吃菜和吃肉,哪个更“增肌”?