- 2024-10-27逆向 | 双进程保护模板
逆向|双进程保护模板继续补充书中的代码:#include<stdio.h>#include<Windows.h>#define_PEBvoidintFatherProcessMain();intChildProcessMain();//提前声明函数intmain(){ _PEB*pPEB=0; _asm{ moveax,dwordptrfs:[0x18]; moveax,dwordptr
- 2024-07-12CRC我就拿下了
国人讲CRC的没有什么能讲明白的文章,除了一篇《我学习CRC32、CRC16、CRC原理和算法的总结(与WINRAR结果一致)》,这里先感谢他,另,他也有一些没有说明白的地方,怎么说呢,还是鄙人自己来吧。我弄明白CRC这个原理和算法主要参考的是上面的国人的那篇和这个外国的《APAINLESSGUIDETOC
- 2024-06-15Kprobes(Kernel Probes)简析
一、kprobes是什么kprobes是一种基于动态插桩的底层机制,它能动态地插入几乎任何kernel路径,不修改分析对象源码地情况下,来收集debug和性能数据。你可以通过kprobes陷入几乎所有kernel函数地址[1],当该kernel函数被调用时,如果已经定义了一个与之绑定handler,那么handler函数也会同时
- 2024-06-07x86_64系统调用过程
x86_64系统调用过程本文所述Linux内核版本为v6.4.0一、概述在x86_64架构下,系统调用会经历以下过程:将系统调用号存入rax寄存器,参数依次存入rdi、rsi、rdx、r10、r8、r9寄存器,第7个及之后的参数会通过栈传递。执行syscall指令,该指令会保存syscall指令下一条指令的地址,然后将
- 2024-04-26攻防世界-难度1- toddler_regs
攻防世界-难度1toddler_regs.zip运行ida静态分析shift+f12搜索字符串点过去F5先搞定g_team_idx,一路跟过去F5g_team_idx=23;还需要两个数组内容:team[]和teamjnu[],点过去就行了。只需要提取其中的内容就行了。注意字符串末尾是'\0',编写脚本时要注意这点team=
- 2024-04-26攻防世界-难度1- toddler_regs
攻防世界-难度1toddler_regs.zip运行idashift+f12搜索字符串点过去F5先搞定g_team_idx,一路跟过去F5g_team_idx=23;还需要两个数组内容:team[]和teamjnu[],点过去就行了。只需要提取其中的内容就行了。注意字符串末尾是'\0',编写脚本时要注意这点team="""
- 2024-04-10Linux系统下的HOOK
HOOK通过在系统调用或函数调用前以替换的方式改变程序中原有的函数功能,实现更改原有函数的功能。利用LD_PRELOAD进行HOOKLinux提供了一个名为LD_PRELOAD的环境变量。这个环境变量允许用户指定一个或多个共享链接库文件的路径。当程序启动时,动态加载器会在加载C语言运行库之
- 2024-01-18【scikit-learn基础】--『监督学习』之 谱聚类
谱聚类算法基于图论,它的起源可以追溯到早期的图分割文献。不过,直至近年来,受益于计算机计算能力的提升,谱聚类算法才得到了广泛的研究和关注。谱聚类被广泛应用于图像分割、社交网络分析、推荐系统、文本聚类等领域。例如,在图像分割中,谱聚类可以有效地将图像划分为背景和前景;在社交
- 2024-01-15【scikit-learn基础】--『监督学习』之 层次聚类
层次聚类算法是机器学习中常用的一种无监督学习算法,它用于将数据分为多个类别或层次。该方法在计算机科学、生物学、社会学等多个领域都有广泛应用。层次聚类算法的历史可以追溯到上世纪60年代,当时它主要被用于社会科学中。随着计算机技术的发展,这种方法在90年代得到了更为广泛的
- 2023-12-01kprobes源码走读
粗略看了下kernel/kprobes.c下的register_kprobe方法。逻辑:调用kprobe_addr方法来根据symbol或者addr+offset来获取需要劫持的地址,symbol和addr不能同时设置,symbol是利用kprobe_lookup_name->kallsyms_lookup_name来查找内核中的符号地址。检查这个kprobe是否重注册了?
- 2023-11-07x86宕机日志解读1
下面以一个典型的x86服务的宕机日志为例进行解读:[330931.874444]BUG:unabletohandlekernelpagingrequestatffffffffa22a4668[330931.874532]PGD3a23067P4D3a23067PUD3a24063PMD1ee9909067PTE0[330931.874618]Oops:0000[#1]SMPKASANNOPTI[330931.8746
- 2023-09-06驱动调试_Panic
原理:是系统时钟中断永不停息,可在系统时钟中断中添加打印信息。系统定时器中断中调试(不可打印寄存器reg)cat/proc/interrupts //可查看系统定时器中断/**IRQhandlerforthetimer*/staticirqreturn_t //linux-2.6.22.6\arch\arm\plat-s3c24xx\time
- 2023-08-22无涯教程-PHP - ereg()函数
ereg()-语法intereg(stringpattern,stringoriginalstring,[arrayregs]);ereg()函数在string指定的字符串中搜索pattern指定的字符串,如果找到pattern,则返回true,否则返回false。搜索对于字母字符区分大小写。可选的输入参数regs包含一个由正则表达式中的括号分组的所有
- 2023-06-29Android SDK安全加固问题与分析
作者|百度APP技术平台导读在移动互联网快速发展的背景下,保护Android应用程序的安全性和知识产权变得尤为重要。为了防止恶意攻击和未授权访问,通常采用对dex文件进行代码加固来保护应用程序。随着Android加固技术经过动态加载、不落地加载、指令抽取、java2cpp、VMP等技术不断演进
- 2023-04-30【内核】深入分析内核panic(三)--内核错误处理流程
1内核错误处理方式当内核出现致命错误时,只要cpu还能正常运行,那么最重要的就是向用户输出详细的错误信息,以及保存问题出现时的错误现场。以上致命错误可包含以下两种类型:(1)硬件能检测到的错误,如非法内存访问,非法指令等,此时cpu会触发异常,并进入异常处理流程。在异常处理流程中会
- 2023-04-25pt_regs结构
structpt_regs{longebx;//可执行文件路径的指针(regs.ebx中longecx;//命令行参数的指针(regs.ecx中)longedx;//环境变量的指针(regs.edx中)。longesi;longedi;longebp;longeax;intxds;int
- 2023-04-16C语言函数大全-- i 开头的函数
C语言函数大全本篇介绍C语言函数大全–i开头的函数1.imagesize1.1函数说明函数声明函数功能unsignedimagesize(intleft,inttop,intright,intbottom);获取保存位图像所需的字节数1.2演示示例#include<graphics.h>#include<stdlib.h>#include<s
- 2023-04-07【调试】kprobes(二)使用方法
前言上一节介绍了kprobe的基本概念,下面我们将使用几个具体的例子,看下kprobe在实际使用中有那些应用场景。kprobe内核的samples/kprobe目录下有kprobe相关的例子,我们以这些例子为基础,简单修改下。查看函数的入参我们所有的例子都是探测do_sys_open()或者_do_fork(),以下是内核
- 2023-02-27韦东山2440-学习笔记-ADC触摸屏
1.程序员需要关注的硬件特性1.1ADC的特性输出数据用多少位描述10bit模拟输入最大值0-3.3V采样/转换速度每秒转换500*1000次1.2看本SoCAD
- 2023-02-11C程序问题归纳(static,auto,register,extern,程序内存分布图,linux下程序的执行过程......)(二)
PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明 本文作为本人csdnblog的主站的备份。(BlogID
- 2023-02-09进阶技术:Linux Arm32是如何调用C Main的
前言:Linuxx64通过qemu的rdinit方式调用的CMain,实际上是通过load_elf_binary(加载和解析elf)和start_thread(设置Ip和sp),用缺页异常来调用。那么Arm32里面是如何调用CMa
- 2023-01-30frida stalker
//对arm64比较友好,arm32的可能崩溃functioncall_1CFF0(input_str){varbase_hello_jni=Module.findBaseAddress("libhello-jni.so");varsub_1CFF0=new
- 2022-12-28SoC vision
SoCvision-SoC世界观HowtodesignanIP?regsinterfaceregsmapbusinterfaceiointerfacebusinterfacepiniointerruptdmaackdatapathcdc:fi
- 2022-12-11libco 源码剖析(1): 协程上下文切换之 32 位
libco源码剖析(1):协程上下文切换之32位相关背景资料关于汇编语言及内存布局相关基础,参看参考文献[0],参考文献[1]32位协程上下文结构如下://coct
- 2022-11-27KERNEL1
WHATISKERNELKERNEL是一个负责连接计算机硬件与软件的一个模块,当软件对硬件进行调用的时候,或者发送一些置零的时候,KERNEL负责将这些指令转化并发送给CPU或者计算机中其