5 李云山

尚未进行身份认证

菜鸟一个,钻研Android/linux中

等级
TA的排名 134w+

静态链接器构造

一、             链接器简介众所周知,高级语言程序编写后需要经过编译、汇编、链接、加载的步骤才能在机器上正常执行。Gcc的处理步骤更加复杂:如果是C语言程序(*.c)作为gcc的输入,gcc首先对高级语言程序进行预编译,然后利用文法分析程序将程序翻译为通用的中间代码,接着gcc对中间代码进行优化后最终生成x86的汇编程序(*.S);下一步gcc的汇编器开始工作,将生成的汇编程序

2017-09-02 22:29:33

elf文件格式与动态链接库(非常之好)-----不可不看

机器执行的是机器指令,而机器指令就是一堆二进制的数字。高级语言编写的程序之所以可以在不同的机器上移植就因为有为不同机器设计的编译器的存在。高级语言的编译器就是把高级语言写的程序转换成某个机器能直接执行的二进制代码。以上的知识在我们学习CS(ComputerScience)的初期,老师都会这么对我们讲。但是我就产生疑问了:既然机器都是执行的二进制代码,那么是不是说只要硬件相互兼容,不同操作系统下的

2017-09-02 18:30:43

Cmake -static编译

想要静态编译,CMakeList添加如下选项set(CMAKE_EXE_LINKER_FLAGS"-static")更多编译技巧:http://blog.csdn.net/mr_chenping/article/details/23823825表1.三种标准库链接方式的选项及区别标准库连接方式示例连接选项优点缺点全静态-static-pthread-lrt-ldl不

2017-08-31 10:24:07

CMake快速入门教程:实战

转自http://blog.csdn.net/ljt20061908/article/details/11736713 0.前言    一个多月前,由于工程项目的需要,匆匆的学习了一下cmake的使用方法,现在有时间拿出来整理一下。本文假设你已经学会了cmake的使用方法,如果你还不会使用cmake,请参考相关资料之后再继续向下看。    本文中介绍的是生成可执行程序的方法和步骤

2017-08-30 20:41:06

在CMake时添加-ldl等编译选项:TARGET_LINK_LIBRARIES

SET(SRC_LISTsrc/main/cpp/AndroidInjectSo.csrc/main/cpp/myptrace.c)add_executable(AndroidInjectSo${SRC_LIST})TARGET_LINK_LIBRARIES(AndroidInjectSodl)

2017-08-30 20:37:17

Socket和ServerSocket学习笔记

转自http://www.cnblogs.com/rond/p/3565113.html对于即时类应用或者即时类的游戏,HTTP协议很多时候无法满足于我们的需求。这会,Socket对于我们来说就非常实用了。下面是本次学习的笔记。主要分异常类型、交互原理、Socket、ServerSocket、多线程这几个方面阐述。 异常类型在了解Socket的内容之前,先要了解一下涉

2017-07-12 18:40:04

jni方法的注册和调用

转自:http://weihe6666.iteye.com/blog/2225011JNI在android中起重要作用,是连接java层和dalvik重要的通道,java层的开发也比较简单,有两种注册方式:1.按照JNI格式声明native函数并在c文件中定义此native函数2.动态注册,在c文件中重写JNI_OnLoad函数,并在JNI_OnLoad中调用JNIEnv函数R

2017-07-05 19:11:41

C语言函数名与函数指针详解

一、通常的函数调用一个通常的函数调用的例子:/*自行包含头文件*/voidMyFun(intx);/*此处的声明也可写成:voidMyFun(int)*/intmain(intargc,char*argv[]){  MyFun(10);/*这里是调用MyFun(10)函数*/  return(0);}voidMyFun(in

2017-07-05 16:29:14

MethodHooker-Hook分析

转自:http://weihe6666.iteye.com/blog/2224141Hook的原理是修改java层的method属性,然后注册jni函数,但是实现起来还是有点复杂,具体看下面的函数。Java代码 int Hook(){      init();      void* handle = dlopen("/data/local/libTest.so

2017-07-05 16:05:14

ptrace注入游戏介绍

转自游戏安全实验室(GSLAB.QQ.COM)Android系统采用的是Linux内核,很多Linux系统上的技术都可以应用在Android系统上,Android系统上ptrace注入远程进程的技术就是其中一种。本章节将对ptrace注入的完整流程进行介绍。一、ptrace函数介绍ptrace注入技术的核心就是ptrace函数,在ptrace注入过程中,将多次调用ptrace函数。

2017-06-28 21:38:33

Android平台Native开发与JNI机制详解

个人认为下面这篇转载的文章写的很清晰很不错.注意Android平台上的JNI机制使用包括Java代码中调用Native模块以及Native代码中调用Java模块.http://mysuperbaby.iteye.com/blog/915425 http://www.ophonesdn.com/article/show/263 众所周知,OP

2017-06-27 12:05:00
勋章 我的勋章
    暂无奖章