WKCTF RE

news/2024/11/15 6:44:00/文章来源:https://www.cnblogs.com/BediveRe/p/18302106

WKCTF

so_easy

安卓逆向,关键的check逻辑都在native层里面

QQ_1720966181677

主要是很多层的异或操作

QQ_1720966244618

除了Z3和爆破想不到其他方法了

from z3 import *src = [  0xAE, 0x81, 0xBA, 0xC1, 0xF0, 0x95, 0x0A, 0x54, 0x14, 0x03, 0x4A, 0xE2, 0x52, 0x4E, 0x84, 0xF8, 0xC9, 0x3E, 0x14, 0x98, 0x8F, 0x98, 0xFD, 0x09, 0x5E, 0xAD, 0x05, 0xB4, 0x01, 0x0F, 0xC0, 0x3F]src1 =0x3FC00F01B405AD5E//自己扣密文xor_value = BitVecVal(0x71234EA7D92996F5, 64)v10 = BitVec('v10', 64)v11=255
# 创建求解器
s = Solver()for _ in range(v11,0,-5):v12 = (2 * v10) ^ xor_valuev12 = If(v10 >= 0, 2 * v10, v12)v13 = (2 * v12) ^ xor_valuev13 = If(v12 >= 0, 2 * v12, v13)v14 = (2 * v13) ^ xor_valuev14 = If(v13 >= 0, 2 * v13, v14)v15 = (2 * v14) ^ xor_valuev15 = If(v14 >= 0, 2 * v14, v15)v10 = (2 * v15) ^ xor_valuev10 = If(v15 >= 0, 2 * v15, v10)s.add(v10==src1)# 检查是否有解
if s.check() == sat:# 如果有解,打印模型print("6666")#print chrprint(s.model())else:print("No solution exists")print(hex(9034890700725238114))

quite_easy

调了一下主函数,这个是假的flag,其他也没啥用

QQ_1720967410229

TLS回调函数是很明显藏了逻辑的

QQ_1720967825077

这两个函数很多花指令,这里选择nop掉jz,第二个函数也一样QQ_1721200548666

下断点开始调试,第一个反调试的地方,改ZF标志位

QQ_1721200669133

在第二个函数里面注册了一个新函数,继续下断点

QQ_1721201094182

先输入flag: 123456789012345678901234

对应的rand:0x97 0X91 0X51 0X37 0X82...0XFB 0X55

可以看到就是把rand的值继续放到我们输入的后面

QQ_1721202037233

输入的值和16次的rand加起来长度需要是48

QQ_1721202093925

输入长度是32位

重写开测

12345678901234567890123456789012

后面逻辑就是

前16位和rand异或

后16位与前16位异或

输入与假的flag异或 flag{ed1d665e6516a37ab09f0b7a40}

QQ_1721202526432

开始搓脚本

a=[  0xB1, 0x74, 0x93, 0x32, 0xD6, 0x13, 0xCC, 0x85, 0x20, 0xA8, 0xF4, 0x96, 0x8A, 0xD2, 0x7D, 0x26]
b=[ 0x80, 0xD3, 0x6F, 0xFF, 0x15, 0x03, 0x98, 0x8C, 0xB4, 0x5B, 0x96, 0xC0, 0x59, 0xAC, 0x18, 0xDF, 0x2D, 0xCE, 0x3F, 0xFB, 0xC4, 0xED, 0xD8, 0xD2, 0xA8, 0x2D, 0xF8, 0x23, 0x9F, 0x22, 0x25, 0xCE]
c=[ord(i) for i in "flag{ed1d665e6516a37ab09f0b7a40}"]for i in range(32):b[i]=(b[i]+c[i] )& 0xfffor i in range(16):b[i]^=a[i] & 0xfffor i in range(16,32):b[i]^=b[i-16] & 0xfffor i in range(32):print(chr(b[i]),end="")                   
#WKCTF{08898c40064d1fc4836db94fe}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/745288.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java - 多线程

ThreadLocalhttps://www.cnblogs.com/fsmly/p/11020641.html 为了线程安全,每个线程改的都是自己本地的副本,从而不会影响其它线程。多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的…

OpenAI 创始成员创办「AI+教育」公司;谷歌发布 Magic Insert:让人物完美融入新背景丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点…

云屏设备整机软件升级方案

最近时间稍微空闲,整理下云屏整机设备的OTA流程及方案。之前开发时有过定义/设计,这里稍微整理总结下 整机软件有很多模块,系统及外设固件、Windows服务、Windows应用,比如系统点屏9969、摄像头固件、触摸框固件、显卡驱动、Windows一些自研服务(用于通信以及系统修复等)…

土地利用规划与城市发展:绘就未来城市的蓝图

在快速城镇化进程中,土地利用规划作为城市建设与管理的基石,其科学性与前瞻性直接影响着城市的可持续发展。本文旨在深入探讨土地利用规划如何在引导城市空间布局、优化资源配置、促进经济发展、保障社会公平及环境保护等方面发挥关键作用,进而推动城市的全面进步。 一、土地…

js 将table转成Excel

1.情景展示 如何使用js将网页中的表格转成Excel文件?2.具体分析 通过SheetJS的xlsx.js文件实现。 3.解决方案 下载地址:https://github.com/SheetJS/sheetjs/archive/refs/tags/v0.18.5.zip 打开压缩包,找到dis目录下的xlsx.full.min.js将该文件解压出来,放到项目当中。在需…

ASP.NET Core -NLog

1.安装NuGet包2.准备Nlog的配置文件 nlog.config<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"autoReloa…

idea中项目树中展示在java类的成员方法,变量

如图所示,点击齿轮,勾选show Members即可

购买一台云服务器,安装nvm,能够将配置全局命令链接js文件执行

全局安装@vue/cli为什么会添加命令vue linux或者MAC系统中通过which vue查看vue地址,通过进入该地址查看文件发现软链接指向真实文件,真实文件同级别下的package.json中的bin字段中的名决定了输入命令vue 2.全区安装@vue/cli时将包放在了node安装位置的node_modules下并且在包…

欢喜就好 人生短短

欢喜就好 人生短短

解决方案 | listary 双击ctrl不生效,不启动搜索工具条 (困扰了我2天,终于解决)

一、问题描述 快捷键设置是正常的,但是双击ctrl不生效,不启动搜索工具条。(其实是大屏幕不显示,我一直盯着大屏幕,没看笔记本;本方法适用于同时使用笔记本和显示器) 解决思路来源 二、解决方法只需要把接着笔记本的hdmi线路拔掉 重插,然后再重新启动listary即可正常在…

宁盾杯-哇海贼王

哇海贼王 解压,2个压缩包1张图片图片打开发现尾端异常,疑似解压密码MV9DUkNfSVNfMl9GVU5OWV82NjYjCg== 解码得 1_CRC_IS_2_FUNNY_666#使用该密码解压flag1.zip,成功得到flag.zip 根据提示使用crc暴破获取key,解密flag2.zip拼图得flagREFTQ1RGezkxY2VkZjl2N2Q5ODI4MTA5YzkwZ…

哇海贼王

哇海贼王 解压,2个压缩包1张图片图片打开发现尾端异常,疑似解压密码MV9DUkNfSVNfMl9GVU5OWV82NjYjCg== 解码得 1_CRC_IS_2_FUNNY_666#使用该密码解压flag1.zip,成功得到flag.zip 根据提示使用crc暴破获取key,解密flag2.zip拼图得flagREFTQ1RGezkxY2VkZjl2N2Q5ODI4MTA5YzkwZ…