目录名词注释OD快捷键熟悉逆向之猜算法逆向暴力样本引用名词注释System breakpoint:系统断点,OllyDbg用CreateProcessA加载DEBUG_ONLY_THIS_PROCESS参数执行,程序运行之后会触发一个INT13,在系统空间里。Entry point of main module:主模块的入口点,即文件的入口点。WinMain:程序的WinMain()函数入口点OD
转载 2023-06-09 03:44:42
576阅读
反调试——Windows异常-SEH概念:SEH:Structured Exception HandlingSEH是Windows默认的异常处理机制如何使用在代码中使用__try __except()//结构类型的语句__except()小括号里面填写表达式,表达式为真的时候执行里面的内容__try里面包含的是可能触发异常的语句,except里面包含的是出现了异常后执行的操作。__except
反调试1.自己ptrace自己代码非常简单,在so中加上这行代码即可:ptrace(PTRACE_TRACEME, 0, 0, 0); 其中PTRACE_TRACEME代表:本进程被其父进程所跟踪。 一个进程只能被ptrace一次,通常在调试的时候都会attach被调试应用的进程,如果我们先占坑,父进程attach自己,那么其他的附加调试就会失败。2.检测Tracerpid的值在自己的应
源码如下#include int main(){    int i=0;    if(ptrace(PTRACE_TRACEME,0,0,0)    {        printf("failed\n");        return 0;    }    printf("succ\n");    i=1;    return 0;}gcc
原创 2022-11-07 20:06:50
259阅读
反调试1.自己ptrace自己代码非常简单,在so中加上这行代码即可:1ptrace(PTRACE_TRACEME, 0, 0, 0);其中PTRACE_TRACEME代表:本进程被其父进程所跟踪。一个进程只能被ptrace一次,通常在调试的时候都会attach被调试应用的进程,如果我们先占坑,父进程attach自己,那么其他的附加调试就会失败。2.检测Tracerpid的值在自己的应用中的nat
依旧使用的是traceme,相关内容请参考https://blog.51cto.com/181647568/2421560通过反复的研究traceme的汇编代码,我通过观察赋值的值来推测某些命令的作用。我在指令的右边标注了那些代码都是干什么的,直到最后一行的call命令,这个call命令是接下来跳转的部分了,下图中的je也是我们最一开始爆破nop掉的那个那个命令,所以无论正确的序列号是怎么出来的,
原创 2019-07-24 21:37:06
1654阅读
漏洞影响版本(未测试完全) Linux 4.10 < 5.1.17 PTRACE_TRACEME local root (CVE-2019-13272) 根据GitHub的代码中所述,作者测试了以下的系统,发现均可成功。 Ubuntu 16.04.5 kernel 4.15.0-29-generic
IT
原创 2021-07-16 10:22:58
2901阅读
文章目录1.ptrace函数详解1.1在系统中调用需要包含头文件及函数声明1.2详细分析函数1.3函数返回值2.功能详细描述2.1 PTRACE_TRACEME2.2PTRACE_PEEKTEXT, PTRACE_PEEKDATA2.3PTRACE_POKETEXT, PTRACE_POKEDATA2.4PTRACE_PEEKUSR2.5PTRACE_POKEUSR2.6 PTRACE_CONT
项目地址: https://github.com/chroblert/JC-AntiPtrace环境:kali2020,ndkr17c,arm64,pixel2,android8.1一、适用场景描述:zygote通过fork()系统调用,fork出一个appapp内通过ptrace(PTRACE_TRACEME,0,0,0);将父进程zygote做为自己的tracer这样其他进程就无法ptrace
理论不说了,以下提供三个demo,几乎逐行注释,看懂了应该就懂了。一.完成了两件事儿:1.儿子告诉爸爸,儿子到信息可以被查看/修改 PTRACE_TRACEME2.爸爸查看儿子的信息 PTRACE_PEEKUSER#include <stdio.h> #include <unistd.h> #include <sys/ptrace.h> #include &lt
转载 2023-07-01 19:59:17
18阅读
为了躲避杀软了检测,病毒会使用各种骚气的手段来隐藏自身反调试反虚拟机 android java层常见的Android native反调试方法有以下几种。 1、直接调用ptrace(PTRACE_TRACEME, 0, 0, 0),参考Android Native反调试。 2、根据上面说的/proc/$pid/status中TracerPid行显示调试程序的pid的原理, 可以写一个方法检查下
转载 2023-07-01 19:58:50
53阅读
TraceMe.exe 程序破解 程序见下图。破解目标:使我们可以验证成功。 图片1 因为输入肯定会用到获取对话框文本的API。所以在反汇编面板 按Ctrl+G搜索GetDlgItemTextA,试试看。 图片2 也能够按Ctrl+N 打开程序的导入表。查看程序导入了那些函数,选中GetDlgItemTextA,右键 选择在反汇编窗体中尾随输入函数。 图片3 能够看到搜索
转载 2016-03-29 14:20:00
94阅读
TraceMe.exe 程序破解 程序见下图,破解目标:使我们能够验证成功。 图片1 由于输入肯定会用到获取对话框文本的API,所以在反汇编面板 按Ctrl+G搜索GetDlgItemTextA,试试看。 图片2 也可以按Ctrl+N 打开程序的导入表。查看程序导入了那些函数,选中GetDlgItemTextA,右键 选择在反汇编窗口中跟随输入函数。 图片3 可以看到搜
这里将告诉您Linux本地内核提权漏洞复现(CVE-2019-13272),具体实现方法:Linux本地内核提权漏洞复现(CVE-2019-13272)一、漏洞描述当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_cred函数。但是,对象struct cred的生存周期规则不允许无条件地将RCU引用转换为稳定引用。PTRACE_
 第一、自己附加进程,先占坑,ptrace(PTRACE_TRACEME, 0, 0, 0)!通过查看进程状态中的tracerPid可以知道是否被调试了  cat /proc/pid/status第二、签名校验不可或缺的一个选择,本地校验和服务端校验双管齐下!全局搜索 sinature,注释掉第三、借助系统api判断应用调试状态和调试属性,最基础的防护!1.android.os
转载 7月前
0阅读
API函数:英文全称Application Programming Interface,翻译为“应用程序编程接口”。 是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。使用工具:Ollydebug:一跨调试工具。Stud_PE:一款查看PE头文件的工具exeinfope:一款查编写语言的工具TraceMe软件:一个
原创 精选 2022-06-19 14:28:51
831阅读
1点赞
1.so 防调试总结:第一、自己附加进程,先占坑,ptrace (PTRACE_TRACEME, 0, 0, 0)! 第二、签名校验不可或缺的一个选择,本地校验和服务端校验双管齐下! 第三、借助系统 api 判断应用调试状态和调试属性,最基础的防护! 第四、轮训检查 android_server 调试端口信息和进程信息,防护IDA的一种有效方式! 第五、轮训检查自身 status 中的 Trace
一、前言 在前一篇文章中详细介绍了 Android现阶段可以采用的几种反调试方案策略,我们在破解逆向应用的时候,一般现在第一步都回去解决反调试,不然后续步骤无法进行,当然如果你是静态分析的话获取就没必要了。但是有时候必须要借助动态调试方可破解,就需要进行操作了。现阶段反调试策略主要包括以下几种方式: 第一、自己附加进程,先占坑,ptrace(PTRACE_TRACEME, 0, 0, 0)!第二
实验 2 软件动态、静态分析技术练习 1 动态调试技术1、实验说明动态分析是在可控环境中运行程序或者模拟程序的执行过程,同时利用分 析工具,监控程序的所有操作,观察其执行流程和状态,获取执行过程中的各 种数据。调试则是一种最为重要的动态分析技术,能够获取程序的真实行为, 以及指令执行过程中各个操作数的具体值。2、实验目的本实验使用 OllyDbg 调试器, 分析简单注册程序(TraceMe.exe