2016年2月16日

Windows 下常见的反调试方法

摘要: 稍稍总结一下在Crack或Rervese中比较常见的一些反调试方法,实现起来也比较简单,之后有写的Demo源码参考,没有太大的难度。 ①最简单也是最基础的,Windows提供的API接口:IsDebuggerPresent(),这API实际上就是访问PEB的BeingDebugged标志来判断是否处 阅读全文

posted @ 2016-02-16 21:54 _懒人 阅读(16427) 评论(4) 推荐(9) 编辑

2016年1月4日

一次病毒分析之旅

摘要: 0x00 前言这个病毒应该是比较简单的,别人给我的样本,让我帮忙看看,看样子是很早的一个病毒,针对Windows XP系统的,行为分析很简单,但是想着不能就仅仅分析关键点,要不就把整个结构给逆向出来,弄了两天,搞的差不多了,简单的记录一下。0x01 基本介绍整个病毒是4个文件组成:27.exe,27... 阅读全文

posted @ 2016-01-04 20:58 _懒人 阅读(4970) 评论(17) 推荐(9) 编辑

2015年12月21日

x64内核内存空间结构

摘要: 0x00 前言本文主要是讨论Windows 7 x64下的内核虚拟地址空间的结构,可以利用WiinDBG调试的扩展命令"!CMKD.kvas"来显示x64下的内核虚拟地址空间的整体布局。了解内核的地址布局在某些情况下是很有的,比如说在研究New Blue Pill的源码和虚拟化的时候。0x01 基本... 阅读全文

posted @ 2015-12-21 20:02 _懒人 阅读(10099) 评论(5) 推荐(1) 编辑

2015年12月13日

谈谈AsmJit

摘要: 0x01 基本介绍 AsmJit是一个完整的JIT(just In Time, 运行时刻)的针对C++语言的汇编器,可以生成兼容x86和x64架构的原生代码,不仅支持整个x86/x64的指令集(包括传统的MMX和最新的AVX2指令集),而且提供了一套可以在编译时刻进行语义检查的API。AsmJit的 阅读全文

posted @ 2015-12-13 08:44 _懒人 阅读(8492) 评论(0) 推荐(0) 编辑

2015年11月30日

IDA动态调试so文件出现SIGILL

摘要: 用ida6.6 调试android的so文件时经常会报SIGILL的错误,意思是指令非法。而且这种错误基本都是发生在系统函数内部,像我遇到过的mmap,fopen,fgets等等。在这些函数内部如果用F8单步跟很容易某条指令就触发异常了,就得终止调试。但是如果在异常指令之后下断点,然后直接F9过去,... 阅读全文

posted @ 2015-11-30 10:21 _懒人 阅读(2093) 评论(0) 推荐(0) 编辑

2015年11月29日

C++类型转化小结

摘要: 之前面试就有被问过关于使用类型转换的问题,因为主要是做Windows驱动的开发,一直都是纯C语言+汇编,当时真的是只用过C语言的强制类型转换,C语言的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。但是C++风格的类型转换提供了4种类型转换操作符... 阅读全文

posted @ 2015-11-29 18:49 _懒人 阅读(1371) 评论(0) 推荐(0) 编辑

2015年11月26日

Android so 文件进阶<三> so文件的简单加密

摘要: 0x00 前言之前的两篇文章从链接视图和执行视图分析了elf文件的大致结构,这篇文章主要内容是对于so文件进行简单的加密工作,针对Ida等静态分析工具的分析,一旦开始动态调试就应该很容易就可以dump出内存,直接修复了。0x01 思路主要是两种思路,对文件中指定的section加密,然后在运行时由.... 阅读全文

posted @ 2015-11-26 11:21 _懒人 阅读(11333) 评论(2) 推荐(2) 编辑

2015年11月19日

谈谈Windows Wow64

摘要: 欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/4977488.html本文是《深入理解Windows操作系统 (第六版) 》关于64位Windows操心系统有关Wow64部分的读书笔记,因为之前很少有接触到关于Wow64的部分,记录一下。Wow... 阅读全文

posted @ 2015-11-19 14:23 _懒人 阅读(8538) 评论(1) 推荐(5) 编辑

2015年11月17日

Windows x86 下的 静态代码混淆

摘要: 0x00 前言静态反汇编之王,毫无疑问就是Ida pro,大大降低了反汇编工作的门槛,尤其是出色的“F5插件”Hex-Rays可以将汇编代码还原成类似于C语言的伪代码,大大提高了可读性。但个人觉得“F5插件”只能作为一项辅助手段,在结合动态调试和静态分析之后,了解了整个函数的流程再利用F5看“C语言... 阅读全文

posted @ 2015-11-17 17:01 _懒人 阅读(2616) 评论(0) 推荐(3) 编辑

2015年11月16日

Android so 文件进阶<二> 从dlsym()源码看android 动态链接过程

摘要: 0x00 前言这篇文章其实是我之前学习elf文件关于符号表的学习笔记,网上也有很多关于符号表的文章,怎么说呢,感觉像是在翻译elf文件格式的文档一样,千篇一律,因此把自己的学习笔记分享出来。dlsym()的源码是分析的android4.4的源码,android自己实现的bonic C库。0x01 基... 阅读全文

posted @ 2015-11-16 17:25 _懒人 阅读(6354) 评论(2) 推荐(1) 编辑

2015年11月11日

You should blog even if you have no readers

摘要: Spencer Fry wrote agreat poston "Why entrepreneurs should write." I would further add that the benefits of writing are so extraordinary that you shoul... 阅读全文

posted @ 2015-11-11 13:24 _懒人 阅读(501) 评论(1) 推荐(1) 编辑

2015年11月9日

android app启动过程

摘要: Native进程的运行过程一般程序的启动步骤,可以用下图描述。程序由内核加载分析,使用linker链接需要的共享库,然后从c运行库的入口开始执行。通常,native进程是由shell或者init启动,启动的过程如下:Shell接收到命令,启动一个程序,此时shell首先会fork一个新的进程新for... 阅读全文

posted @ 2015-11-09 17:09 _懒人 阅读(2826) 评论(0) 推荐(1) 编辑

2015年10月27日

Android so文件进阶 <一>

摘要: 0x00 前言 最近一段时间在弄android方面的东西,今天有人发了张截图,问:在要dump多大的内存? 一时之间我竟然想不起来ELF文件的哪个字段表示的是文件大小,虽然最后给出了解决方法,IDA CTRL+S,直接看Segements信息,可以得出整个文件的大小。但说明了自己对于ELF文件格式... 阅读全文

posted @ 2015-10-27 20:40 _懒人 阅读(9483) 评论(0) 推荐(0) 编辑

2015年10月19日

AndroidStudio+ideasmali动态调试smali汇编

摘要: 0x00 前言之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试smali真的像鸡肋一样,各种不爽,遇到混淆过的java代码就欲哭无泪了。后来知道IDEA用一款插件也可以实现smali的动态调试,但是只有14.1之后的版本才支持。idea是一... 阅读全文

posted @ 2015-10-19 17:22 _懒人 阅读(11123) 评论(0) 推荐(1) 编辑

2015年9月20日

32位进程注入64位进程

摘要: 在之前写注入都是32位exe文件注入32位dll到32位exe文件中,或者都是64位。但是之前看到关于32位进程注入64位进程的方法,将学习笔记记录下来。 之前的文章:注入小结 我们需要借助GitHub上的开源库rewolf-wow64ext 这个库的目的就是让运行在Wow64环境中的x86应用程序 阅读全文

posted @ 2015-09-20 10:16 _懒人 阅读(14273) 评论(0) 推荐(5) 编辑

导航