level 8
binno
楼主
很菜的菜狗,主要做pwn,因为会要求一点re的能力所以简单的re也会看看
心得:第一件事是在装环境。至少虚拟机这些还是需要的,然后pwntools,python等等,建议直接全网一下,或者b站跟着一步一步来,虚拟机版本建议高,同时在装的时候可以翻翻github以及一些镜像文件(官网限速到窒息的地步)
确实很复杂,依赖性很强……
第二件事是有关于学,我是按照ctfwiki来的,先熟悉一点简单的操作系统指令,nc这些,从最最基础的栈溢出开始,然后rop,然后遇上格式化字符串,以及一些常见的保护,再然后就是堆了(现在卡在堆了![[狂汗]](/static/emoticons/u72c2u6c57.png)
)
第三件事,对于原理,要求还是有点强的,门槛高毕竟不是吹的,汇编,操作系统是原理,C语言这些是你主要面临的题目,python写脚本(这个我是边做题边学的python,有点c基础)
卡的瓶颈(真的挺难受,就是现在一种不上不下的感觉,感觉我离真的做出来pwn还差一截,但是简单的题又会一点,难一点的题目又压根不会(比如CISCN的初赛题,懂,不完全懂,很难受)
1、学过8086汇编语言,可是这个学的汇编和我在做题的时候看的那个汇编代码就感觉不是一个东西,尤其是有关多次调用这些(循环、条件判断)很迷,总之就是觉得少了一块东西
2、汇编代码和寄存器连接不上,尤其是在偏移量这一块,动态调试看不懂,算不来(主要是涉及什么rbp+多少多少,rsp加多少这些,不知道它加完是什么东西)
3、基于libc的程序调用执行流,就是有关于整个程序的一个执行过程,很迷,看不懂(这边主要说的是IDA生成的汇编代码,在text段,bss段,data段上的那个相互调用过程)
(主要还是涉及到原理层这块,尤其是动调看寄存器、汇编执行情况,很憋屈
会指令,看不懂。(比如用格式化字符串爆canary这边,会照着模版做,可是题目变一下就不会,不知道应该怎么做,关于栈这一块我绝对学的不行)
想请教一下师傅们有没有什么解决办法,也欢迎真的遇到问题的小伙伴们一起来讨论![[泪]](/static/emoticons/u6cea.png)
![[泪]](/static/emoticons/u6cea.png)
(虽然本人专业和操作系统以及汇编方向关联不大,甚至汇编都是自学的,但是真的挺喜欢二进制方向的,也只有二进制方向感觉是真的在研究计算机原理)
感谢每一位留言的吧友![[玫瑰]](/static/emoticons/u73abu7470.png)
2023年05月21日 16点05分
1
心得:第一件事是在装环境。至少虚拟机这些还是需要的,然后pwntools,python等等,建议直接全网一下,或者b站跟着一步一步来,虚拟机版本建议高,同时在装的时候可以翻翻github以及一些镜像文件(官网限速到窒息的地步)
确实很复杂,依赖性很强……
第二件事是有关于学,我是按照ctfwiki来的,先熟悉一点简单的操作系统指令,nc这些,从最最基础的栈溢出开始,然后rop,然后遇上格式化字符串,以及一些常见的保护,再然后就是堆了(现在卡在堆了
第三件事,对于原理,要求还是有点强的,门槛高毕竟不是吹的,汇编,操作系统是原理,C语言这些是你主要面临的题目,python写脚本(这个我是边做题边学的python,有点c基础)
卡的瓶颈(真的挺难受,就是现在一种不上不下的感觉,感觉我离真的做出来pwn还差一截,但是简单的题又会一点,难一点的题目又压根不会(比如CISCN的初赛题,懂,不完全懂,很难受)
1、学过8086汇编语言,可是这个学的汇编和我在做题的时候看的那个汇编代码就感觉不是一个东西,尤其是有关多次调用这些(循环、条件判断)很迷,总之就是觉得少了一块东西
2、汇编代码和寄存器连接不上,尤其是在偏移量这一块,动态调试看不懂,算不来(主要是涉及什么rbp+多少多少,rsp加多少这些,不知道它加完是什么东西)
3、基于libc的程序调用执行流,就是有关于整个程序的一个执行过程,很迷,看不懂(这边主要说的是IDA生成的汇编代码,在text段,bss段,data段上的那个相互调用过程)
(主要还是涉及到原理层这块,尤其是动调看寄存器、汇编执行情况,很憋屈
想请教一下师傅们有没有什么解决办法,也欢迎真的遇到问题的小伙伴们一起来讨论
感谢每一位留言的吧友