re [强网杯 2022]easyre 复现

64位elf,有点难搞,放进kali试运行一下,发现有个图标一闪而过,猜想有文件操作

 在encc_me里放着smc

 

这个0xcafeb055bfcc就是当子进程int 3中断时对父进程的返回值,但是我不知道为什么,ida动调时,elf好像不能交互,平时让我输入flag的也不行,这道题返回值既不是0xCAFEB055BFCC,也不是0xCAFE1055BFCC,是一个我不知道的东西(随机值),我动调就进不去,进去了父进程与子进程也不能通信,很烦,不知道为什么,师傅讲讲。先静态看看

 进入smc_me函数data_child就是从子进程里读取数据出来的,CC50调用了ptrace通信,其中v20就是这里的数据

对每一个地址进行xor操作,idapython脚本如下

key = {8723: 2533025110152939745, 8739: 5590097037203163468, 8755: 17414346542877855401, 8771: 17520503086133755340, 8787: 12492599841064285544, 8803: 12384833368350302160, 8819: 11956541642520230699, 8835: 12628929057681570616, 8851: 910654967627959011, 8867: 5684234031469876551, 8883: 6000358478182005051, 8899: 3341586462889168127, 8915: 11094889238442167020, 8931: 17237527861538956365, 8947: 17178915143649401084, 8963: 11176844209899222046, 8979: 18079493192679046363, 8995: 7090159446630928781, 9011: 863094436381699168, 9027: 6906972144372600884, 9043: 16780793948225765908, 9059: 7086655467811962655, 9075: 13977154540038163446, 9091: 7066662532691991888, 9107: 15157921356638311270, 9123: 12585839823593393444, 9139: 1360651393631625694, 9155: 2139328426318955142, 9171: 2478274715212481947, 9187: 12876028885252459748, 9203: 18132176846268847269, 9219: 17242441603067001509, 9235: 8492111998925944081, 9251: 14679986489201789069, 9267: 13188777131396593592, 9283: 5298970373130621883, 9299: 525902164359904478, 9315: 2117701741234018776, 9331: 9158760851580517972}


for addr in range(0x2213,9331+16,16):
    data = get_qword(addr)
    key1 = key[addr]
    dec = data ^ key1
    idc.patch_qword(addr, dec)

 然后就可以看到正确的re3内容了

稍微修改一下函数

 我不知道是什么,看大佬的wp说是数织游戏,我不懂

 

 

 稍微偏移一下地址,找到这一串东西,放这里去解Nonogram (handsomeone.github.io)

flag里面有空格

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值