fork()
是一个系统调用函数,用于创建一个新的进程(子进程)。在调用fork()
之后,操作系统会复制当前进程的所有资源(包括代码、数据、堆栈等),并将这些资源分配给新创建的子进程。子进程是父进程的副本,它具有相同的代码和执行状态。
ptrace
是一个UNIX-like操作系统中提供的系统调用,用于实现进程间的跟踪和调试功能。它允许一个进程(称为跟踪器)监视和控制另一个进程(称为被跟踪进程)的执行。
[NSSRound#6 Team]void(V2)
start函数
main函数
在加载main函数前,会先加载init函数
init函数
轮流加载三个函数
sub_CDA函数
sub_AD7函数
没干啥
sub_961函数
改变base64密码表或者密文
sub_D83函数
sub_A19函数
改变base64密码表或者密文
sub_950函数
没啥作用
解
①下断点
在第一个函数,sub_CDA函数第二个if处下断点
在第二个函数,sub_D83函数末尾下断点
②远程调试
ida 如何进行vmware linux虚拟机动态调试_kelikelikelikeli的博客-CSDN博客
③nop
光标在第一个函数下断点处中闪烁时,将fork和子进程中的ptrace,nop掉
④修改标志寄存器
按F9,直接到第二个断点