逆向/调试
windows/android软件逆向与调试
吃了只鸡
这个作者很懒,什么都没留下…
展开
-
详解EFLAGS寄存器
本文对EFLAGS寄存器的常用的标志位做一些探讨与记录,笔者记忆力太差经常用到又经常忘记,总是要不停的去查资料,写此文也权当备忘录了。EFLAGS寄存器:真羡慕那些能记得滚瓜烂熟的人,我当年也能做到,为什么现在就不行了呢。。。1、进位标志CF(Carry Flag):如果算术操作结果在最高有效位(most-significant bit)产生了一个进位或借位,那么,其值为1,否则其值为0。此标志位通常用来指示无符号整型运算的溢出状态。一个CF=0的例子执行前执行后一个原创 2020-10-20 12:53:09 · 1342 阅读 · 0 评论 -
windows文件系统
1、文件系统文件系统是操作系统用于管理磁盘上文件的方法和数据结构。2、卷相关的API获取卷GetLogicalDrives()获取一个卷的盘符的字符串GetLogicalDriveStrings()获取卷的类型GetDriveType()获取卷的信息GetVolumeInformation()3、目录相关的API创建目录CreateDirectory()删除目录RemoveDirectory()修改目录MoveFile()获取程序当原创 2020-09-02 23:39:05 · 423 阅读 · 0 评论 -
windows内存管理
1、虚拟内存:每个进程都有自己独立的4G的假的内存空间,当程序真正使用的时候操作系统才会分配对应的物理内存X86架构下将物理内存按页(page)来分,一页4K物理内存和内存条之间还有一层映射,此处不表。2、虚拟内存的划分进程空间3、用户空间线性地址的管理4、物理内存5、私有内存(Private Memory)和共享内存物理页只为某个进程所有,其他进程访问不到。用VirtualAlloc/VirtualAllocEx申请。Mapped Memory原创 2020-09-02 23:26:34 · 474 阅读 · 0 评论 -
windows保护模式(一)
段寄存器CPU通过段和页的机制来限制内存访问,共8个分别为ES CS SS DS FS GS LDTR TR 段寄存器结构当我们用汇编读写某一个地址时:mov dword ptr ds:[0x123456],eax我们真正读写的地址是:ds.base + 0x1234562、段寄存器成员XP上一般如下我的Win10上注意:GS 一走调试就必须进0环,进0环后被内核清空3、段描述符与段选择子1)先说两张表GDT(全局描述符表)和LDT(局部描述..原创 2020-06-21 10:23:55 · 739 阅读 · 0 评论 -
一个简单的加壳解壳程序
1、资源说明环境:win10 vs2017Shell.exe 壳子程序src.exe 要加壳的源程序2、加壳过程获取Shell程序的路径获取src程序的路径将src程序读取到内存中,加密在Shell程序中新增一个节,并将加密后的src程序追加到Shell程序的新增节中保存加壳后的程序3、加壳代码#include <stdio.h>#include <windows.h>#define SRC_PATH "D:\\crackme.e.原创 2020-06-19 11:39:10 · 1162 阅读 · 1 评论 -
windbg调试驱动程序
1、配置符号去下面路径下载对应目标操作系统版本的符号表https://download.microsoft.com/download/D/1/9/D196C4F3-FC5B-48D2-A5D9-D3D42CE5F4F0/Windows_Rs1.14393.0.160715-1616.x64FRE.Symbols.msihttps://download.microsoft.com/download/D/1/9/D196C4F3-FC5B-48D2-A5D9-D3D42CE5F4F0/Windows原创 2020-06-09 17:29:21 · 637 阅读 · 0 评论