刘功瑞的博客

有一天你突然惊醒,发现这一切,都只不过是一场梦。

攻防世界 XCTF Reverse notsequence Writeup

算法看不懂,两个check看了wp原来两个check是验证杨辉三角。。。def triangles():     N=[1]     while True:         yield N         N.append

攻防世界 XCTF Reverse key Writeup(od,动态调试)

ida打开查看字符串,找到一个文件地址创建出这个文件,再次运行找到关键函数看起来非常复杂动态调试一下看看,搜索字符串,找到文件读取的位置打断点文件内容我输入的liugongrui,然后执行到返回,然后一直按F8,走到fclose此时文件内容已经读取完毕,点击m,搜索liugongrui,设置内存访问断点然后按F9,可以看到liugongrui和一个字符串进行比较把这个字符串提交验证一下,正确idg_cni~bjbfi|gsxb

攻防世界 XCTF Reverse gametime Writeup

玩游戏的程序,我手速不够快 没玩过去,使用ida打开看看找到关键判断点sub_401435函数中jnz改成jz一共两处修补好后运行,什么都不用输入就得到flag了no5c30416d6cf52638460377995c6a8cf5

攻防世界 XCTF Reverse Windows_Reverse1 Writeup

upx的壳,放到kali下  upx -d filename 脱壳即可,使用ida打开这个函数看着一脸懵,但其实此处的代码逻辑并不复杂:1.a1是通过压栈的方式传递的参数; v1是通过寄存器保存地址的方式传递的参数2.最令人迷惑的便是v1[v4]这个地方. v1是一个地址, v4是a1和v1两个地址间的差值. 地址的差值是怎么成为一个数组的索引的呢 ? 这里卡了我好长时间, 之后我突然意识到, v1[v4]和v1+v4是等价的, 而在循环刚开始的时候v1+v4等于a1, 随着v1的递增

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.