[CISCN 2021初赛]glass
java代码只用到了一个checkFlag在native层导出so文件IDA分析前面两个是标准的RC4sub_10D4是一个自定义加密逻辑第一个循环是一套置换和异或需要用到这些逻辑优化 v6 enc[i 2]; v7 enc[i 1]; v8 enc[i] ^ v6; v5[0] v8; v5[2] v6 ^ v7; v5[1] v7 ^ v8; 计算v7、v6、v8 v7 v5[1] ^ v5[0]; v6 v5[2] ^ v7; v8 v5[0] ^ v6; 恢复result result[i] v8; result[i1] v7; result[i2] v6;第二个循环是循环密钥异或(a4 ~(a4 31)) ! k j k a2a4 31用于取符号位正数为0负数为1结果是0xFFFFFFFF(算术右移时用符号位填充空位)a4 ~取反并与运算正数取反为0xFFFFFFFF负数取反为0所以a4为正数时还是a4为负数时是0! kk是len(k)8也就是循环8次j k a2外循环 内循环(已循环次数) 字符长度防止下标越界其实最后这段代码就执行了for (int i 0; i 8; i)的效果只是做了很多异常处理EXP将这些逻辑逆向处理一下enc [0xa3, 0x1a, 0xe3, 0x69, 0x2f, 0xbb, 0x1a, 0x84, 0x65, 0xc2, 0xad, 0xad, 0x9e, 0x96, 0x5, 0x2, 0x1f, 0x8e, 0x36, 0x4f, 0xe1, 0xeb, 0xaf, 0xf0, 0xea, 0xc4, 0xa8, 0x2d, 0x42, 0xc7, 0x6e, 0x3f, 0xb0, 0xd3, 0xcc, 0x78, 0xf9, 0x98, 0x3f] key b12345678 result [0] * 39 for i in range(len(enc)): enc[i] ^ key[i % 8] for i in range(0,len(enc),3): v7 enc[i1] ^ enc[i] v6 enc[i2] ^ v7 v8 enc[i] ^ v6 result[i] v8 result[i1] v7 result[i2] v6 S list(range(256)) j 0 for i in range(256): j (j S[i] key[i % len(key)]) % 256 S[i], S[j] S[j], S[i] i j 0 for char in result: i (i 1) % 256 j (j S[i]) % 256 S[i], S[j] S[j], S[i] k S[(S[i] S[j]) % 256] print(chr(char ^ k), end)CISCN{6654d84617f627c88846c172e0f4d46c}总结逆向分析so文件中的RC4与自定义逻辑

相关新闻

Linux系统安装nginx并配置反向代理

Linux系统安装nginx并配置反向代理

安装nginx 1、安装依赖 yum install -y gcc pcre-devel zlib-devel openssl openssl-devel 2、下载nginx mkdir -p /www/nginx cd /www/nginx wget http://nginx.org/download/nginx-1.21.0.tar.gz tar -xvf nginx-1.21.0.tar.gz 3、安装nginx cd nginx-1.21.0 先看 /usr…

2026/5/17 12:56:47 阅读更多 →
【开题答辩全过程】以 高校新生数据可视化系统为例,包含答辩的问题和答案

【开题答辩全过程】以 高校新生数据可视化系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

2026/7/3 0:58:16 阅读更多 →
新能源电动汽车 VCU hil 与 BMS hil 硬件在环仿真探秘

新能源电动汽车 VCU hil 与 BMS hil 硬件在环仿真探秘

新能源电动汽车VCU hil BMS hil硬件在环仿真 文件包含电动汽车整车建模说明书, 模型包含驾驶员模块,仪表模块,BCU整车控制器模块,MCU电机模块,TCU变速箱模块,减速器模块,BMS电池管理模块&#x…

2026/7/3 3:06:51 阅读更多 →

最新新闻

泉州团建策划公司推荐:新中企全流程执行适合何种团队

泉州团建策划公司推荐:新中企全流程执行适合何种团队

泉州地区大型团建的执行难点与一站式服务价值在策划几十人甚至上百人的大型团队活动时,组织者的核心挑战往往不在于创意本身,而在于现场执行的颗粒度与多方资源的统筹能力。传统的碎片化服务模式中,企业需要分别对接场地、教练、餐饮及摄影摄…

2026/7/3 6:37:48 阅读更多 →
【新手友好 AI】 部署方案,OpenClaw v2.7.9 解压即用完整步骤(含安装包)

【新手友好 AI】 部署方案,OpenClaw v2.7.9 解压即用完整步骤(含安装包)

OpenClaw v2.7.9 图形化安装指南|Win10/11 64 位本地 AI 智能体搭建 适配系统范围 Windows 10、Windows 11 64 位操作系统,全系列版本均可兼容运行 工具介绍 OpenClaw v2.7.9 是面向 Windows 桌面端打造的本地 AI 智能工具,采用纯图形化安…

2026/7/3 6:35:47 阅读更多 →
深度实践:在Apple Silicon Mac上部署原生Android测试环境的完整解决方案

深度实践:在Apple Silicon Mac上部署原生Android测试环境的完整解决方案

深度实践:在Apple Silicon Mac上部署原生Android测试环境的完整解决方案 【免费下载链接】android-emulator-m1-preview 项目地址: https://gitcode.com/gh_mirrors/an/android-emulator-m1-preview 问题痛点分析:ARM架构迁移中的Android开发困境…

2026/7/3 6:35:47 阅读更多 →
Claude Code 的五级压缩流水线

Claude Code 的五级压缩流水线

Claude Code 的五级压缩流水线:由轻到重的上下文管理艺术 引言:每个 AI Agent 都绕不开的“桌面困境” 想象你有一张固定大小的办公桌(上下文窗口),随着工作时间拉长,各种文件、资料、草稿纸会不断堆上来&a…

2026/7/3 6:35:47 阅读更多 →
如何5分钟搭建个人网易云音乐API服务:完整指南与实战教程

如何5分钟搭建个人网易云音乐API服务:完整指南与实战教程

如何5分钟搭建个人网易云音乐API服务:完整指南与实战教程 【免费下载链接】NeteaseCloudMusicApiBackup https://www.npmjs.com/package/NeteaseCloudMusicApi 项目地址: https://gitcode.com/gh_mirrors/ne/NeteaseCloudMusicApiBackup 你是否曾经想要开发一…

2026/7/3 6:31:47 阅读更多 →
(bug)vscode的设置问题

(bug)vscode的设置问题

1.文件显示 问题:之前不小心修改了某些设置,导致只能显示单个文件。 方案:在设置界面,修改如下图所示的属性为multiple。2.ctrl无法跳转 问题:服务器ctrl左键无法跳转。 方案:通过下载如下的插件。3.服务器…

2026/7/3 6:29:47 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻