
逆向工程
stillvxx
这个作者很懒,什么都没留下…
展开
-
libprotectClass.so头信息中的陷阱
libprotectClass.so头信息中的陷阱 1. libprotectClass.so头信息中诡异数字 libprotectClass.so是360加固用到的一个共享库。当我尝试用IDA打开这个共享库时,IDA给出如下提示:提示的意思是说elf文件(动态库so是elf文件的一种)中节区(section)描述符的size有误,SHT意即Section Header T原创 2014-11-02 11:20:45 · 2015 阅读 · 1 评论 -
C++对象在内存中的布局(读汇编代码)
C++对象在内存中的布局研究方法以及ARM调用规范最近在对C++编写的SO库进行逆向,如果掌握了对象的布局,那么逆向也能轻松些,所以萌发了研究对象布局的想法。本文采用的研究方法是:编写C++代码,用gcc编译。通过IDA查看编译后的代码,分析ARM汇编代码,总结出内存布局。由于能力有限,本文研究的情形还是比较简单的。如果想深入研究的话,要读一读《深入C++对象模型》了。在进行具体分原创 2014-09-21 11:51:14 · 2545 阅读 · 0 评论 -
setjmp与longjmp原理分析
一、setjmp与longjmp的用法参考下面的文章 http://blog.youkuaiyun.com/chenyiming_1990/article/details/8683413二、setjmp与longjmp原理longjmp是如何回到setjmp函数里的呢?我们通过阅读源码来解决这个疑问。setjmp与longjmp的实现是与平台相关的,android的libc库原创 2014-01-08 11:43:44 · 6168 阅读 · 0 评论 -
函数返回结构体的内幕
函数返回结构体的内幕在刚接触C语言编程时,无论是前辈还是教科书,都反复告诫我们两件事:①函数的参数是值传递(意味着在函数中对参数本身的修改无法“传回”);②不要返回函数体内局部变量的地址,因为函数结束时栈会回收,局部变量也随之销毁(如果局部变量为类对象,其析构函数会被自动调用),但可以返回局部变量本身。 那么如果一个函数的返回值为结构体类型,其返回值是如何“返回”的呢?是通原创 2014-11-23 13:08:01 · 11475 阅读 · 1 评论