![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux反调试
文章平均质量分 50
Linux反调试
人而已
这个作者很懒,什么都没留下…
展开
-
Linux反调试小记(三)
接着上面的文章,继续讨论关于Linux的反调试技术。 七:检查进程运行状态 调试器可以通过attach到某个已有进程的方法进行调试。这种情况下,被调试进程的父进程便不是调试器了。 在这种情况下,我们可以通过直接检查进程的运行状态来判断是否被调试。而这里使用到的依然是/proc文件系统。具体地,我们检查/proc/self/status文件。 当由非调试状态转变为调试状态时,进程状态由sleeping变为tracing stop,TracerPid也由0变为非0的数,即调试器的PID。由此,我们便可通过.原创 2021-05-23 09:22:22 · 1177 阅读 · 0 评论 -
Linux反调试小记(二)
四、利用环境变量 在Linux中,bash有一个环境变量叫$_,它保存的是上一个执行的命令的最后一个参数。如果在被跟踪的状态下,这个变量的值会发生变化。下面是可能产生变化的几种情况: 程序名 参数argv[0] 环境变量getenv("_") shell ./test ./test strace ./test /usr/bin/strace ltrace ./test /usr/bin/ltrace gdb /home/user/te原创 2021-05-13 23:08:48 · 247 阅读 · 0 评论 -
Linux反调试小记(一)
在编写Linux程序过程中,考虑到自己写的程序可能会被别人调试,因此对Linux的反调试技术进行了一些研究,这里一共总结了9种方法,我将分三篇文章对这些方法进行说明。当然了,如果在这个过程中你有更好的、更加新颖的思路与方法,欢迎交换。现在开始进入正题啦。 一、忽略int3指令 我们知道,X86从它的第一代产品8086开始就提供了int 3作为它的调试指令,int 3又叫做断点指令,专门用来给调试器使用。那么如果这样的话,很容易就能够联想到,要反调试,只要插入int 3来迷惑调试器即可。但是这会影响正常的原创 2021-05-08 22:22:57 · 608 阅读 · 0 评论