摘要:用ida6.6 调试android的so文件时经常会报SIGILL的错误,意思是指令非法。而且这种错误基本都是发生在系统函数内部,像我遇到过的mmap,fopen,fgets等等。在这些函数内部如果用F8单步跟很容易某条指令就触发异常了,就得终止调试。但是如果在异常指令之后下断点,然后直接F9过去,...
阅读全文
摘要:之前面试就有被问过关于使用类型转换的问题,因为主要是做Windows驱动的开发,一直都是纯C语言+汇编,当时真的是只用过C语言的强制类型转换,C语言的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。但是C++风格的类型转换提供了4种类型转换操作符...
阅读全文
摘要:0x00 前言之前的两篇文章从链接视图和执行视图分析了elf文件的大致结构,这篇文章主要内容是对于so文件进行简单的加密工作,针对Ida等静态分析工具的分析,一旦开始动态调试就应该很容易就可以dump出内存,直接修复了。0x01 思路主要是两种思路,对文件中指定的section加密,然后在运行时由....
阅读全文
摘要:欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/4977488.html本文是《深入理解Windows操作系统 (第六版) 》关于64位Windows操心系统有关Wow64部分的读书笔记,因为之前很少有接触到关于Wow64的部分,记录一下。Wow...
阅读全文
摘要:0x00 前言静态反汇编之王,毫无疑问就是Ida pro,大大降低了反汇编工作的门槛,尤其是出色的“F5插件”Hex-Rays可以将汇编代码还原成类似于C语言的伪代码,大大提高了可读性。但个人觉得“F5插件”只能作为一项辅助手段,在结合动态调试和静态分析之后,了解了整个函数的流程再利用F5看“C语言...
阅读全文
摘要:0x00 前言这篇文章其实是我之前学习elf文件关于符号表的学习笔记,网上也有很多关于符号表的文章,怎么说呢,感觉像是在翻译elf文件格式的文档一样,千篇一律,因此把自己的学习笔记分享出来。dlsym()的源码是分析的android4.4的源码,android自己实现的bonic C库。0x01 基...
阅读全文
摘要:Spencer Fry wrote agreat poston "Why entrepreneurs should write." I would further add that the benefits of writing are so extraordinary that you shoul...
阅读全文
摘要:Native进程的运行过程一般程序的启动步骤,可以用下图描述。程序由内核加载分析,使用linker链接需要的共享库,然后从c运行库的入口开始执行。通常,native进程是由shell或者init启动,启动的过程如下:Shell接收到命令,启动一个程序,此时shell首先会fork一个新的进程新for...
阅读全文