吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2406|回复: 10
收起左侧

[CTF] DaNianChuErNoadopted 逆向过程和思路

  [复制链接]
zunmx 发表于 2025-1-29 23:16
本帖最后由 zunmx 于 2025-1-30 08:52 编辑

引言:
怀着一个激动的内心写一篇反向思考教程,这也是第一次写,如有不对的地方,还请各位大佬轻喷哈。
帖子链接

思考过程:
题目中说没有加壳,C语言写的,那就考虑用x96dbg和IDA了,因为有些语言,比如说vb,c#这些是有工具取得源码的。

先扔进x32dbg中看一下,查找关键字符串,

引用

引用

打上断点,实际上字符串最近的断点作用不大,因为上面的条件如果不匹配,就直接到了错误那里了,所以找到根源。

断点

断点

根据其中的一些提示,肯定是有`Ha`这两个字符的了,因为学的不精,扔到ida中F5吧。

ida

ida

其中一些变量,我用python分析了一下,这里也包含用眼睛看出来的

v2 = 72
v3 = 154  # v3 == v4
v4 = 154  # v3 == v4
v5 = 32 * 154
v7 = a1[5]
v10 = 97

经过上面的分析,v2和v10,是H和a,才能走到if真里面去

这段代码是猜测v3和v4的值的
# for i in range(1, 122):
#     print(i,((i >> 2) ^ 32*i ^ ~((i >> 2) & 32*i)) == -3613) #  112
#     print(chr(112))

经过一系列的试测,得到i=112,也就是`p`,此时得到这个字符串应该是Happ开头,这里猜测应该是Happy,但是这个y是怎么来的?
((unsigned __int8)a1[1] ^ 0x18) == (_BYTE)v5
其中已知a1[1] == ‘a’ == 97 ,97 …… 0x18 == 121 也就是`y`

此时已经知道了前五个字符是Happy了。

接下来分析(double)(int)(__int64)(cos(1.36690694026) * 10000.0 + 0.5) * 0.0001 == (double)v9 * 0.0001 ) ,先算一下这个是什么
print((cos(1.36690694026) * 10000.0 + 0.5) * 0.0001) # 0.20252967626955654
其中(double)v9 * 0.0001  == 上面的结果 , 取整后是2025

基本上也就能猜出答案是Happy2025。

当我做出来后问了一下GPT,答案和我做出来的也不太一样,虽然AI很强,但是有些时候还是需要人工去甄别的。

免费评分

参与人数 2威望 +1 吾爱币 +20 热心值 +2 收起 理由
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Issacclark1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ahov 发表于 2025-2-2 10:11
本帖最后由 ahov 于 2025-2-2 10:23 编辑
nanaqilin 发表于 2025-1-30 09:54
最后那个年份的答案不是唯一的,2037应该也是符合要求的

你被AI忽悠得不轻啊
你在程序里面验证flag了吗


根据图中表达式,两边都乘以了一个0.0001,因此我们把它约去(即两边同时除以0.0001)之后等式仍然相等。
因此我们需要计算表达式cos(1.36690694026) * 10000 + 0.5
我还特地拿出了我的计算器,给你按一下:
根据角度单位的不同
在角度制(D)下,结果为9997.654346


在弧度制(R)下,结果为2025.296763


在百分度制(G)下,结果为9998.195


根本就不会出现2037
而且我验证了一下,9997和9998程序也是不认的,程序显然是按照弧度制计算的

flag后4位只能是2025,你那个所谓的2037没有验证过吧,AI算错了
我还特地重新跑了一下程序,你那个所谓的2037程序里面也不认


这是一条固定的数学算式,除非是角度单位不同,怎么可能有多个解呢。我是真不想说你,数学是体育老师教的吗。。
动态调试断出来也只能是2025
homejun 发表于 2025-1-30 07:55
 楼主| zunmx 发表于 2025-1-30 08:51
nanaqilin 发表于 2025-1-30 09:54
最后那个年份的答案不是唯一的,2037应该也是符合要求的
94MJ 发表于 2025-1-30 11:42
最近刚好在学这块,感谢分享
jimmyright 发表于 2025-1-30 12:19
学习了,感谢楼主!
zhaozhaozhao 发表于 2025-1-30 21:31

学习了,感谢楼主!
Musiclab 发表于 2025-1-31 08:37
最近刚好在学这块,感谢分享
hhhh222oo 发表于 2025-1-31 22:01
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-4-1 09:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表