摘要:在使用ida 调试android native代码时经常会碰见fork子进程的情况出现,而运行一个 android_server只能对一个进程进行调试或者attach,而ida 默认端口是23946,可以通过指定 android_server 的端口来实现多开,同时调试多个进程。
阅读全文
摘要:在编译 trinity-android 的过程中,总是报 process_begin: CreateProcess(NULL,......) make (e=87): 参数错误 原因是.MK文件中包含的文件太多了,而windows对于函数参数个数有限制,解决办法:http://stackoverfl
阅读全文
摘要:0x00 前言本文主要是讨论Windows 7 x64下的内核虚拟地址空间的结构,可以利用WiinDBG调试的扩展命令"!CMKD.kvas"来显示x64下的内核虚拟地址空间的整体布局。了解内核的地址布局在某些情况下是很有的,比如说在研究New Blue Pill的源码和虚拟化的时候。0x01 基本...
阅读全文
摘要:0x01 基本介绍 AsmJit是一个完整的JIT(just In Time, 运行时刻)的针对C++语言的汇编器,可以生成兼容x86和x64架构的原生代码,不仅支持整个x86/x64的指令集(包括传统的MMX和最新的AVX2指令集),而且提供了一套可以在编译时刻进行语义检查的API。AsmJit的
阅读全文
摘要:之前面试就有被问过关于使用类型转换的问题,因为主要是做Windows驱动的开发,一直都是纯C语言+汇编,当时真的是只用过C语言的强制类型转换,C语言的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。但是C++风格的类型转换提供了4种类型转换操作符...
阅读全文
摘要:欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/4977488.html本文是《深入理解Windows操作系统 (第六版) 》关于64位Windows操心系统有关Wow64部分的读书笔记,因为之前很少有接触到关于Wow64的部分,记录一下。Wow...
阅读全文
摘要:Spencer Fry wrote agreat poston "Why entrepreneurs should write." I would further add that the benefits of writing are so extraordinary that you shoul...
阅读全文
摘要:在之前写注入都是32位exe文件注入32位dll到32位exe文件中,或者都是64位。但是之前看到关于32位进程注入64位进程的方法,将学习笔记记录下来。 之前的文章:注入小结 我们需要借助GitHub上的开源库rewolf-wow64ext 这个库的目的就是让运行在Wow64环境中的x86应用程序
阅读全文
摘要:PAE 就是物理地址扩展。我们常规的寻址方式是之前的将虚拟地址化为10 10 12的方式来寻址页目录,页表,页偏移,但是在开始PAE之后的寻址方式发生了改变,将32位的虚拟地址转化成 2 9 9 12的方式来寻址:理论就不赘述了,和普通的寻址方式没有太大的差别,具体可以参考之前的文章:x86虚拟地址...
阅读全文
摘要:这里只谈分页管理的机制,也是目前最重要的内存管理机制。最初的设计想法:结构图如下:页的尺寸是4KB,虚拟地址的前20位用于指定一个物理页,后12位用于访问页内偏移。页表项的结构:各个位的含义:P--位0是存在(Present)标志,用于指明表项对地址转换是否有效。P=1表示有效;P=0表示无效。在页...
阅读全文
摘要:在看雪上回答的问题,有人问在WinDbg下断KiDebugRoutine或者KdEnterDebugger函数会引发蓝屏!因为是在调试Windows的内核调试引擎,我给出的解决办法是用不依赖Windows的内核调试引擎对其进行调试,在以前分析Windows的启动过程时用到过ida的远程调试,在Win...
阅读全文
摘要:我用的IDA Pro 6.5,把我自己使用ida的一些方法记录,免得自己遗忘1 .导入符号表可以像前一篇博客中写的那样,也可以使用File--->LoadFile--->PDB File 选择符号文件,然后File--->LoadFile--->ReloadInputFile 重新分析2.改变基地址...
阅读全文
摘要:C名称修饰规则 1.对于使用__cdecl调用约定的函数,在函数名称前加一下划线,不考虑参数和返回值。 2.对于使用__fastcall调用约定的函数,在函数名称前后各加一@符号,后跟参数的长度,不考虑返回值。 例如 extern “C” int __fastcall Test(int ...
阅读全文
摘要:硬盘的0柱面、0磁头、1扇区称为主引导扇区,FDISK程序写到该扇区的内容称为主引导记录(MBR)。该记录占用512个字节,它用于硬盘启动时将系统控制权交给用户指定的,并在分区表中登记了的某个操作系统区。1.MBR的读取硬盘的引导记录(MBR)是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作...
阅读全文
摘要:将Windbg路径下的symsrv.yes 拷贝到ida 的安装目录,重新分析ntoskrnl.exe, 加载本地的符号表添加环境变量 变量名:_NT_SYMBOL_PATH变量值:SRV*{$Path}*http://msdl.microsoft.com/download/symbols/将“{$...
阅读全文
摘要:在设计调用约定时,x64 体系结构利用机会清除了现有 Win32 调用约定(如 __stdcall、__cdecl、__fastcall、_thiscall 等)的混乱。在 Win64 中,只有一个本机调用约定和 __cdecl 之类的修饰符被编译器忽略。除此之外,减少调用约定行为还为可调试性带来了...
阅读全文