iscc_obfuscation and encode

ISCC-Amy‘s Code CTF-Reverse ISCC-Amy's Code CTF-Reverse 阅读详情

iscc_obfuscation and encode

没事做了一道iscc的逆向题,题目还是有点意思的。首先ida反汇编。
这里写图片描述
发现有两个关键的函数fencode()和encode(),输入的字符串通过这两个函数,最后转换成s1与字符串”lUFBuT7hADvItXEGn7KgTEjqw8U5VQUq”进行比较。先进入到fencode()里看一看。
这里写图片描述
打开之后惊了,数了一下大概11层循环嵌套,也许这就是代码混淆吧,我还是自己分析了一下这个代码的逻辑,边上课边看代码效率不是太高,花了大概 一个小时才把逻辑理顺,先找到关键的语句,大部分的跳转语句可以先不理会。
第一处
这里写图片描述
第二处
这里写图片描述
可以发现它将我们的输入和m数组进行分组相乘得到v10,再将v10%127得到的新的字符。只要耐心分析这段代码,其实实际上的代码逻辑就只有几行。以下我用for循环进行了还原。

t=0
len=len(a1)
if(len==24){
    for(int i=0;i<6;i++)
            for(int j=0;j<4;j++){
                for(int k=0;k<4;k++)
                        v10+=*(a+4*i+k) * *(m+4*j+k)
        a2+(t++)=v10%127 
        v10=0
            }
    return 1
}
return 0

实际上输入的字符每4个一组和m数组的十六个字符组成了四元一次方程组,按理说解个方程就可以求出这四个字符,但实际上,最后经过这个函数输出的每个字符都进行了%127的处理所以我们这样做还是有点问题的。这个函数基本就分析完了。接下来分析encode()函数。
这里写图片描述
这个函数依旧被混淆成了很多层的循环嵌套。但是发现了一些标志,比如61,和三个字符一组一次生成4个字符。于是猜测是进行了base64编码。一开始直接最后的字符串进行base64解码了,后来在动态调试跟到这个函数的时候发现不太对,于是点开了程序中的alpha_base数组,发现这个数组和标准的base64编码方式并不相同。猜测base64被魔改了。假设程序只改了这个编码数组。网上找了一个c语言实现的base64,把编码数组改成了程序中的数组”FeVYKw6a0lDIOsnZQ5EAf2MvjS1GUiLWPTtH4JqRgu3dbC8hrcNo9/mxzpXBky7+”,动态调试发现确实只改了这一个地方。于是就把最后比较的那串字符串进行解码。得到编解码前的数组。d[37,192,59,166,31,175,76,165,203,139,164,155,59,225,40,133,38,38,22,231,17,9,7,38]。发现一个奇怪的地方是编码前的数组,存在比127还大的数,这是因为在之前%127的时候,有一个类型转换,将int类型的转成char型的导致溢出成负数,所以对127取模的结果就会出现一些问题。所以不好确定%127之前的数到底是多少,而且m数组里也有很大的数,运算时很容易溢出,所以解方程不太好做所以还是决定爆破。因为一组只有4个字符所以并不是很困难。 写得脚本。

#include<stdio.h>                                                                                                      
int cipher[24]={37,192,59,166,31,175,76,165,203,139,164,155,59,225,40,133,38,38,22,231,17,9,7,38};
int main(void){
for(int x=0;x<6;x++){
    for(int i=0;i<=127;i++)
        for(int j=0;j<=127;j++)
            for(int k=0;k<=127;k++)
                for(int m=0;m<=127;m++)
                {   int a=2*i+2*j+4*k+0xfffffffb*m;
                    int b=i+j+3*k+0xfffffffd*m;
                    int c=0xffffffff*i+0xfffffffe*j+0xffffffffd*k+4*m;
                    int d=0xffffffff*i+0xfffffffe*k+2*m;
                    if(((char)(a)%127&0x000000ff)==cipher[x*4+0]&&((char)(b)%127&0x000000ff)==cipher[x*4+1]&&((char)(c)%127&0x000000ff)==cipher[x*4+2]&&((char)(d)%127&0x000000ff)==cipher[x*4+3])
                        printf("%c%c%c%c",i,j,k,m);
                }
}
return 0;
}
ISCC-2025-安卓Mobile逆向实战:从XXTEA到魔改AES的完整题解 本文详细解析ISCC-2025安卓Mobile逆向实战题解,涵盖从Java层XXTEA算法识别、密钥提取到Native层魔改AES算法的完整分析过程。通过静态分析与动态调试结合,提供Frida Hook和参数监控技巧,帮助读者掌握移动安全逆向工程的核心技术。 阅读详情

相关推荐

ISCC题库.docx

ISCC2020比赛题库 ISCC ISCC ISCC ISCC

ISCC2023 逆向 疑惑的蜜桃猫

得到正常宽高图片,并没有发现有用信息,下载附件发现图片长宽不对,脚本爆破。exe,逆向没有解出来。

qq_57982733的博客 876

Cadence仿真笔记(二):传统noise仿真—共源极的噪声

cadence中进行传统噪声仿真

Bao_xue的博客 1万+

2022年第19届信息安全与对抗技术竞赛

2022年第19届信息安全与对抗技术竞赛通知

ISCC2022的博客 6106

Scratch离线版部署指南:解决资源缺失与页面显示异常问题

本文提供了一份详尽的Scratch离线版部署指南,旨在解决网络依赖导致的资源缺失与页面显示异常问题。通过从基础文件获取、自动化资源抓取到生产环境部署的完整流程,帮助教育工作者和开发者在无网络环境下搭建功能完整的本地Scratch编辑器,确保编程教学的顺利进行。

wine的专栏 1263

Altera Cyclone4 EP4CE15F17C8核心板硬件设计避坑指南(附AD09工程文件)

本文深入解析Altera Cyclone4 EP4CE15F17C8核心板硬件设计中的关键问题与解决方案,涵盖电源架构优化、信号完整性处理、热设计及生产调试要点。特别提供经过验证的AD09工程文件,帮助开发者规避常见设计陷阱,提升FPGA项目的成功率与可靠性。

weixin_29159441的博客 297

ISCC2018(最新的考核解析)

最近一直在做这个 ISCC2018,感觉可能自己只是一个新手吧!但是我会继续努力的,希望我的解题思路能够给你们带来一定的想法,我也希望自己能够在安全方面遇到更多志同道合的人! 1 导入一个文本中,然后使用ASCII码表一一对比进行解密 解题思路:首先需要把附件下载下来,然后放在winhex中就会看见有ASCII码,使用ASCII码表进行转换,就会得到最终的Unicode编码,进行解密...

落花四月 7273

特征拼接(Feature Concatenation)技术全景解析

特征拼接是深度学习中的核心特征融合技术,通过在指定维度连接不同来源的特征张量,创造性地解决了多源、多尺度特征融合的关键挑战。这种简单却强大的操作已成为现代神经网络架构设计的基石。

浩瀚之水的专栏 1641

2021-05 ISCC竞赛

2021-05 ISCC 练武题 这ISCC比赛,还是参加的以一个网络安全方面的竞赛,会的东西不多,碰运气的成分有不少。这里写几个已经解出来的题目。

m0_53146110的博客 6882

ros入门(八)---TF坐标转换

TF(TransForm),就是坐标转换,包括了位置和姿态两个方面的变换。

weixin_51157015的博客 3388

微信浏览器input[file]拍照点确认后强刷新解决

微信浏览器input强刷新,input h5强刷新,微信浏览器上传图片后刷新,h5表单强刷新,h5调用拍照后返回首页,h5调用拍照后刷新,微信浏览器强制刷新,iOS上微信浏览器input强刷新,iOS上微信浏览器上传图片后强刷新,ios微信浏览器上传图片后页面刷数据,h5在ios浏览器闪频,h5在ios微信打开时强制刷新,ios手机上调用相机后页面刷新,ios手机上调用相机后页面后重置,ios拍照后刷新,ios拍照完页面大刷新

江拥羡橙的博客 1350

iscc2018攻防

题记 继续未完成的使命和历程,借助iscc线下攻防赛的复现,窥探一下攻防赛的思路与技巧。 正文 首先打开界面发现一个登陆界面一个注册界面,先看一个注册界面得源码如下: <html> <head> <title>注册</title> </head> <body> <h1 style='text-...

JBlock的博客 4920

YOLOv8【第十二章:数据增强与数据工程篇·第10节】主动学习(Active Learning):如何挑选最有价值的样本进行标注!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 508

ISCC2018 Reverse & Pwn writeup

Reference:L1B0 Re RSA256 春秋欢乐赛原题。。flag都不变的 给了三个加密文件和公钥证书public.key,可以使用openssl进行处理 $openssl rsa -pubin -text -modulus -in ./public.key Public-Key: (256 bit) Modulus: 00:d9:9e:95:22...

weixin_30517001的博客 273

构建自己的 Qt 插件系统

Qt 本身提供了插件相关的技术,但并没有提供一个通用的插件框架!倘若要开发一个较大的 GUI 应用程序,并希望使其可扩展,那么拥有这样一个插件框架无疑会带来很大的好处。

青春不老,奋斗不止! 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ISCC2018(misc)

ISCC2018 misc writeup(部分) 这些天做个了iscc题目,有些题目不是很难,网上都有相同的题或者类似的题目,但是我很菜,没做出来多少。 #misc1:Where is the FLAG? 题目是一张图片,如下: 看这图片,flag应该是在手势指向的方向,被隐藏起来了,想到修改图片高度。之后打开图片如下: #misc2:数字密文 这里有个很...

weixin_30663391的博客 530

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ISCC 2018——write up

WEB Web1-比较数字大小 直接修改input 标签里的maxlength 为999突破长度限制,使得能输入大于999 的数,然后随便输一个数字就行了 或者post修改值 Web2-Web01 strcmp 漏洞,传入为数组时会出错,导致返回为0,所以传入password[]=1,得到flag Web3-为什么这么简单啊 简单?不存在,坑你没商量。看看它说了啥吧 第二关需要...

weixin_34062329的博客 1233

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ISCC2023全国大学生网络信息安全竞赛

信息安全已涉及到国家政治、经济、文化、社会和生态文明的建设,信息系统越发展到它的高级阶段,人们对其依赖性就越强,从某种程度上讲其越容易遭受攻击,遭受攻击的后果越严重。“网络安全和信息化是一体之两翼、驱动之双轮。没有网络安全就没有国家安全。”信息是社会发展的重要战略资源,国际上围绕信息的获取、使用和控制的斗争愈演愈烈,信息安全保障能力是综合国力、经济竞争实力和生存能力的重要组成部分,是世纪之交世界各国奋力攀登的至高点。

qq_57423018的博客 7318

2023年第20届信息安全与对抗技术竞赛

2023年第20届信息安全与对抗技术竞赛

ISCC_2023的博客 7004

ISCC-2024-第21届信息安全与对抗技术竞赛通知

信息安全已涉及到国家政治、经济、文化、社会和生态文明的建设,信息系统越发展到它的高级阶段,人们对其依赖性就越强,从某种程度上讲其越容易遭受攻击,遭受攻击的后果越严重。“网络安全和信息化是一体之两翼、驱动之双轮。没有网络安全就没有国家安全。”信息是社会发展的重要战略资源,国际上围绕信息的获取、使用和控制的斗争愈演愈烈,信息安全保障能力是综合国力、经济竞争实力和生存能力的重要组成部分,是世纪之交世界各国奋力攀登的至高点。信息安全与对抗技术竞赛(ISCC),于2004年创建(国内第一),已连续举办。

m0_46621218的博客 5696

CTF--信息技术对抗赛ISCC之安卓逆向分析

0x01 题目介绍    本题目是一道信息安全大赛上的安卓逆向题目,主要考察选手,逆向分析能力,反汇编能力,安卓程序结构分析能力,以及常见的安全加密编码算法得能力。题目下载 http://download.youkuaiyun.com/detail/bjtbjt/9846682可能部分步骤过于啰嗦,大佬略过。方便入门者学习。这个题目拿到手是个安卓apk程序。下载下来,我们先不着急进行分析。先对其程序apk安装...

关注互联网安全的小虾米一枚 5844

CTF [2025 ISCC] Web题解:纸嫁衣外传(文件上传与文件包含的结合)

通过文件上传上传一个txt的文件,该文件包含以下的php代码<?>//这段代码本身不会执行,但是通过构造参数chuizi=uploads/1.txt 即文件所在位置,让php代码执行,通过文件包含函数,打开flag.php的内容,从而获得flag。存在一个图片在此,尝试用隐写术检查是否存在相关内容,但是以失败告终,故此尝试目录下是否存在其它的文件,在尝试过程中成功打开了/includes/flag。

chunliunaiak的博客 967

ISCC2025校级赛Web

robots.txt有f10g.txtF12一下这里给了棋谱跑个脚本给显示出来替换0为2即可f12g.txt得到一个flag值,把里面的0替换成2就是真flag。

qq_42863465的博客 2955

ISCC Analysis 150 CTF-Reverse

ISCC Analysis 150 CTF-Reverse

m0_72904009的博客 610

ISCC2021 美人计

打开zip,在ny4w1nbmry4m\word\media这个路径下找到两张二维码。得到密钥:ISCC2021 了解到加密方式有AES。使用QR Research分别扫描得到以下两段码。得知第一段是DES加密,解码后得到flag。PK开头说明被强制转换过,原来是zip。有一个文档和黑寡妇图片。第二段是AES加密,连续三次解码后得到。用010 Editor打开黑寡妇图片。之后用010 Editor打开文档。说明美人的话不可全信啊。注意:不可换行提交!

sky_original的博客 668

ISCC-2025-第22届信息安全与对抗技术竞赛通知

2025年第22届信息安全与对抗技术竞赛(ISCC)线上赛(破阵夺旗赛、无限擂台赛、数据安全赛)将于2025年4月30日8:00至2025年5月07日20:00开放报名,5月1日上午8:00正式开始。

abcadadc的博客 5016
上一篇: (Jarvis Oj)(Pwn) level5
下一篇: (Jarvis Oj)(Pwn) Tell Me Something
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值