精华内容
下载资源
问答
  • 使用Visual Studio 2015的工程源代码。 分析Linux动态库文件,进行32位,64位的文件判断,并进行elf的文件头分析。 在文件中查找特定字符串"version"。查找字符串可根据源码自行修改。 在windows下执行,有类似Linux...
  • 符号动态建模 matlab 包。 PSDM 是一种以回归量形式推导任意刚体链运动方程的数值方法。 它是推导刚性串联运动链运动方程的另一种方法。 结果是一个高度组织形式的数字表示模型,允许通过数值方法进行许多符号操作...
  • 分析和签名中的数据和代码以及“有符号和无符号的奖励预测错误会动态增强学习和记忆力” 数据文件:包括所有数据,文件应加载到“ analysis&figures.ipynb” models_RL_matlabCode:matlab驱动程序和模型以使强化...
  • 贝岭的matlab的代码
  • 关于动态符号表及“全局符号表”

    千次阅读 2018-04-10 21:54:15
    elf.h中对符号表的类型定义如下:#define DT_STRTAB 5 /* Address of string table */#define DT_SYMTAB 6 /* Address of symbol table */这里DT_SYMTAB与DT_STRTAB对应的section其实是.dynsym和.dynstr,而非....
    elf.h中对符号表的类型定义如下:
    #define DT_STRTAB 5 /* Address of string table */
    #define DT_SYMTAB 6 /* Address of symbol table */

    这里DT_SYMTAB与DT_STRTAB对应的section其实是.dynsym和.dynstr,而非.symtab和.symstr!

    .symtab和.dynsym两个不同的symbol table, 它们有什么区别?
    .dynsym是.symtab的一个子集, 为什么要两个信息重合的结构?
    需要先了解allocable/non-allocable ELF section, ELF文件包含一些sections(如code和data)是在运行时需要的, 这些sections被称为allocable; 而其他一些sections仅仅是linker,debugger等工具需要, 在运行时并不需要, 这些sections被称为non-allocable的. 当linker构建ELF文件时, 它把allocable的数据放到一个地方, 将non-allocable的数据放到其他地方. 当OS加载ELF文件时, 仅仅allocable的数据被映射到内存, non-allocable的数据仍静静地呆在文件里不被处理. strip就是用来移除某些non-allocable sections的.
    .symtab包含大量linker,debugger需要的数据, 但并不为runtime必需, 它是non-allocable的; .dynsym包含.symtab的一个子集, 比如共享库所需要在runtime加载的函数对应的symbols, 它世allocable的.
    因此, 得到答案:
    1. strip移除的应是.symtab.
    2. nm读取的应是.symtab: 上面发现的libattr等nm结果为空, libpthread nm结果非空应是正常的. 3. 共享库包含的.dynsym是runtime必需的, 是allocable的.

    另外,很多资料上经常用到的一个概念是“全局符号表“,其实这是一个伪概念,内存中并不存在这样一个表,libdl中会将所有已加载到内存中的可执行模块(主程序或动态库)的相关指针放入一个全局的链表中,通过这个全局链表可以访问到所有可执行模块的动态符号表,仅此而以。我们可以假定这个全局链表是一个“全局符号表“,但其存储的内容远远不止符号表这么简单,而是可执行模块的所有相关信息,如重定位信息、代码段地址、got段地址等。

    例子:
    [lubo@localhost src]$ mipsel-linux-readelf -S main.elf
    There are 42 section headers, starting at offset 0xef4:
    Section Headers:
    [Nr] Name Type Addr Off Size ES Flg Lk Inf Al
    [ 0] NULL 00000000 000000 000000 00 0 0 0
    [ 1] .interp PROGBITS 00400154 000154 000014 00 A 0 0 1
    [ 2] .reginfo MIPS_REGINFO 00400168 000168 000018 18 A 0 0 4
    [ 3] .dynamic DYNAMIC 00400180 000180 000110 08 A 6 0 4
    [ 4] .hash HASH 00400290 000290 0000a4 04 A 5 0 4
    [ 5] .dynsym DYNSYM 00400334 000334 000160 10 A 6 1 4
    [ 6] .dynstr STRTAB 00400494 000494 00010a 00 A 0 0 1
    [ 7] .gnu.version VERSYM 0040059e 00059e 00002c 02 A 5 0 2
    [ 8] .gnu.version_r VERNEED 004005cc 0005cc 000020 00 A 6 1 4
    [ 9] .rel.plt REL 004005ec 0005ec 000018 08 A 5 11 4
    [10] .init PROGBITS 00400604 000604 000048 00 AX 0 0 4
    [11] .plt PROGBITS 00400660 000660 000050 00 AX 0 0 32
    [12] .text PROGBITS 004006b0 0006b0 000240 00 AX 0 0 16
    [13] .MIPS.stubs PROGBITS 004008f0 0008f0 000020 00 AX 0 0 4
    [14] .fini PROGBITS 00400910 000910 000038 00 AX 0 0 4
    [15] .eh_frame_hdr PROGBITS 00400948 000948 000014 00 A 0 0 4
    [16] .eh_frame PROGBITS 0041095c 00095c 000030 00 WA 0 0 4
    [17] .ctors PROGBITS 0041098c 00098c 000008 00 WA 0 0 4
    [18] .dtors PROGBITS 00410994 000994 000008 00 WA 0 0 4
    [19] .jcr PROGBITS 0041099c 00099c 000004 00 WA 0 0 4
    [20] .data PROGBITS 004109a0 0009a0 000010 00 WA 0 0 16
    [21] .rld_map PROGBITS 004109b0 0009b0 000004 00 WA 0 0 4
    [22] .got.plt PROGBITS 004109b4 0009b4 000014 00 WA 0 0 4
    [23] .got PROGBITS 004109d0 0009d0 00000c 04 WAp 0 0 16
    [24] .sdata PROGBITS 004109dc 0009dc 000004 00 WAp 0 0 4
    [25] .bss NOBITS 004109e0 0009e0 000020 00 WA 0 0 16
    [26] .pdr PROGBITS 00000000 0009e0 000080 00 0 0 4
    [27] .comment PROGBITS 00000000 000a60 000038 01 MS 0 0 1
    [28] .debug_aranges MIPS_DWARF 00000000 000a98 000020 00 0 0 1
    [29] .debug_pubnames MIPS_DWARF 00000000 000ab8 00001b 00 0 0 1
    [30] .debug_info MIPS_DWARF 00000000 000ad3 0000cc 00 0 0 1
    [31] .debug_abbrev MIPS_DWARF 00000000 000b9f 00006a 00 0 0 1
    [32] .debug_line MIPS_DWARF 00000000 000c09 000040 00 0 0 1
    [33] .debug_frame MIPS_DWARF 00000000 000c4c 00002c 00 0 0 4
    [34] .debug_str MIPS_DWARF 00000000 000c78 0000a5 01 MS 0 0 1
    [35] .debug_loc MIPS_DWARF 00000000 000d1d 00002c 00 0 0 1
    [36] .debug_pubtypes MIPS_DWARF 00000000 000d49 000012 00 0 0 1
    [37] .gnu.attributes LOOS+ffffff5 00000000 000d5b 000010 00 0 0 1
    [38] .mdebug.abi32 PROGBITS 00000030 000d6b 000000 00 0 0 1
    [39] .shstrtab STRTAB 00000000 000d6b 000186 00 0 0 1
    [40] .symtab SYMTAB 00000000 001584 000540 10 41 63 4
    [41] .strtab STRTAB 00000000 001ac4 00022c 00 0 0 1
    Key to Flags:
    W (write), A (alloc), X (execute), M (merge), S (strings)
    I (info), L (link order), G (group), x (unknown)
    O (extra OS processing required) o (OS specific), p (processor specific)
    从此处看出,symtab和strtab并没有被加载到内存中。
    展开全文
  • 微信默认表情符号代码对照表

    万次阅读 2013-10-13 08:29:34
    微信公众平台如何发带有表情符号的图片,其实只需要在信息里面插入表情代码就可以使用的。

    微信公众平台如何发带有表情符号的图片,其实只需要在信息里面插入表情代码就可以使用的。

     
     
     
     


     

    展开全文
  • 选项 -rdynamic 用来通知链接器将所有符号添加到动态符号表中  (目的是能够通过使用 dlopen 来实现向后跟踪)  -rdynamic  Pass the flag ‘-export-dynamic’ to the ELF linker, on targets that support ...
    选项 -rdynamic 用来通知链接器将所有符号添加到动态符号表中 
    
    (目的是能够通过使用 dlopen 来实现向后跟踪) 
    -rdynamic 
    Pass the flag ‘-export-dynamic’ to the ELF linker, on targets that support 
    it. This instructs the linker to add all symbols, not only used ones, to the 
    dynamic symbol table. This option is needed for some uses of dlopen or to 
    allow obtaining backtraces from within a program. 
      
    比如日志系统,主程序里使用一套日志系统,dlopen方式打开的libso里无法使用。编译时加上这个参数,不需要增加任何代码就可以使代码通用。 
      
    网上搜到上面的说法 
    没看太明白 
    是不是可以理解为 
    我现在有 A.o  B.so 
    然后我可以g++ -rdynamic A.o B.so -shared -o C.so 
    然后我用C.so的时候 可以不必依赖B.so了? 
    我试了试 貌似这个选项不生效啊 
    还是说 对B.so有什么限制? 
      
    还是说 只是将符号表全部添加进去 而不是只添加实现的那部分符号表? 这有什么好处? 
      
    其实我的需求是这样的 
    我原来用了开源的ACE  我本机编译时没问题 
    现在一发布时  我都要写个脚本去创建libACE.conf 指明ACE的路径 
    我嫌麻烦(自己到是不麻烦,主要是公司实施员工水平不行,经常连脚本都不会运行) 
    所以我现在期望能程序启动时 直接运行 
    我代码里有一部分需要使用到ACE 具体的说 就是继承并实现了ACE_Task 
    这导致我的工程必须在编译时需要 -lACE 
    有什么办法  能让我运行时 不修改系统任何配置就能加载libACE.so? 
    我在stackoverflow上问了下  有个回帖的说用-rdynamic  但我试了试  好像只导入符号表  没有把实现链接进去 
    展开全文
  • 符号熵(附matlab代码)

    千次阅读 2020-02-27 17:46:34
    符号熵        固定时间间隔下对系统进行采样取值的方法来追踪系统动态,熵是计算系统中...符号熵将数据转化为少量的符号模式,虽然失去了大量信息,但保留了动态系统的周期性,...

    符号熵
           固定时间间隔下对系统进行采样取值的方法来追踪系统动态,熵是计算系统中包含可用信息大小的方法,可以用来度量系统的不确定性,从而描述符号的复杂性。
           符号熵将数据转化为少量的符号模式,虽然失去了大量信息,但保留了动态系统的周期性,对称性等动力学性能,并且区分过程中采取下采样的方法,降低连续样本的独立性,使熵值增加。
    符号熵的计算:
    1.给定时间序列长度为N的X={x(1),x(2)…x(N)},将时间序列转换为X={x(1),x(2)…x(n)},且将其量化到0—q-1之间,q是量化等级,当q=2时,将时间量化为0或者1

    r为量化阈值,为样本均值
    2.将符号序列进行重构:

    为词序列,L为词序列长度
    编码后序列的模式共种,例如量化等级为2时,重构的词序列为时,序列模式共8种.分别为{000,001,010,011,100,101,110,111}.
    3.自编码序列为

    4.计算出每个模式在重构的符号序列中出现的概率,记为
    其中i=1,2…m

    代码部分

    function [out]=sym_en_func(fn_1,q,m)
    N=length(fn_1);
    u=zeros(N-m+1,m);
    fn=zeros(1,N);
    fn_2=mapminmax(fn_1,-1,1);
    
    for i=1:N
        if abs(fn_2(i))>0.15
            fn(i)=1;
        else
            fn(i)=0;
        end
    end
    
    prob=zeros(1,q^m);
    for i=1:N-m+1
        u(i,:)=fn(i:i+m-1);
    end
    
    [~,~,nn]=unique(u,'rows');
    cc=tabulate(nn);
    num=cc(:,2);
    
    sum=0;
    for i=1:length(num)
        prob(i)=num(i)/(N-m+1);
        sum=sum+prob(i)*log(1/(prob(i))); 
    end
    
    out=sum;
    end
    
    
    展开全文
  • 在恶意代码分析中,动态监测虚拟环境中的恶意代码行为是一种常用的方法。但是,由于可执行的路径分支众多,极易产生路径爆炸问题,造成某些可执行路径无法被覆盖,严重影响分析的全面性。为了解决恶意代码分析中路径爆炸...
  • 用c++写的地图符号动态库(CallMapSymbol.dll)使用的演示代码,Visual Studio 2010编译。
  • Mac系统动态符号表分析

    千次阅读 2019-04-29 09:07:23
    查看符号表 # 查看 nm *.dylib nm -C *.dylib ...-C,以原代码显示 -P,以简单格式显示每一个符号 符号表分析 符号类型 符号类型代号 说明 A Global absolute 符号 a Local absolute 符...
  • 解决动态库的符号冲突

    千次阅读 2019-05-24 11:28:33
    解决动态库的符号冲突 一次debug遇到的疑惑 动态库和符号表 和符号有关的编译器选项和环境变量选项 一次debug遇到的疑惑 某天发现一个程序有点问题。祭上print大法,在关键的 lib_func() 函数里添加 print ...
  • Linux动态链接(5)动态符号搜索顺序

    千次阅读 2016-08-03 21:25:32
    这里的动态搜索是指通过dlopen+dlsym来搜索动态符号的过程,而静态搜索则是指程序在运行的过程中的惰性链接实现。这里其实又是一个比较边界的问题,但是也是可能存在的,另外这些问题可以促使感兴趣的同学看一下...
  • 本文分析了linux环境下动态库和静态库导出相同符号所导致的符号冲突问题,通过构建问题模型并进行情景分析,提出解决方案,最后验证解决方案。
  • C/C++中控制动态库的符号可见性

    千次阅读 2018-02-26 21:08:20
    解决方案优点缺点static 关键字简单语言级别支持static 关键字限定变量或函数只可以在定义它的文件范围内使用导出列表消除了 static 关键字上的限制不需要更多的代码可以关联版本信息具有不同粒度的符号可见性控...
  • 浅谈动态符号的私有化与全局化

    千次阅读 2013-05-12 01:13:57
    之前一篇《记一个链接库导出函数被覆盖的问题》中,描述了这样一个问题:动态库若想使用自己的符号,不受可执行程序(或其他动态库的影响),可以使用-Wl,-Bsymbolic链接参数或version_script来让动态库的符号自我...
  • 动态库、可执行文件符号表分析

    千次阅读 2020-04-20 12:21:19
    分析最后的可执行文件和动态库文件的符号表; 1.1 第一个C文件:basic.c 这个C文件只定义并实现了四个不同形参的函数、五个静态变量、一个全局变量。由于只关心符号表或者其他二进制内容,因此不具体实现特定功能....
  • 动态库和PIC-位置无关代码

    千次阅读 2016-06-12 15:31:27
    一、前言 本文主要描述了动态库以及和动态库有紧密联系的位置无关代码的相关资讯。首先介绍了动态库和位置无关代码的源由,了解...最后,我们自己动手编写一个简单的动态库,并解析了一些symbol Visibility、动态符号
  • 符号数据包动态测试平台(SPD) 此Rep包含与ISSTA 2017中的论文“提高数据包动态性下的传输协议实现的符号测试技术的成本效益”相关的源代码和实验脚本。
  • GCC制作动态库导出符号

    千次阅读 2017-08-09 13:48:57
    GCC制作动态链接库时默认会将所有的函数及变量都导出到符号表,正常情况下所有符号均导出是不会有问题的,但是有时会有问题。为了避免这种情况,就需要定制符号表,即仅仅将需要提供给其他模块使用的接口或变量导出...
  • ABAP动态生成代码上传TXT数据

    万次阅读 2011-02-27 21:08:00
    动态程序代码生成技术 3.ABAP动态程序执行技术 4.TXT文本文件对应用Table字段编辑技术   注意事项: 文件文件编辑过程中时间日期格式为 20060201 120000 表示 2006.02.01 12:00:00...
  • 动态符号冲突的一个解决办法

    千次阅读 2017-09-08 15:27:24
    之前去某公司面试讨论到如果两个so里有符号冲突了怎么办,我想指定用哪个而不是先加载哪个库用哪个库里的符号 之前是android 某项目用定制库和系统库有冲突 刚看qcom代码发现可以用dlopen处理这个问题 gligc dl-...
  • 如何根据动态SQL代码自动生成DTO

    千次阅读 2016-06-29 16:21:23
    一般做数据库相关开发,总免不了需要手工编写SQL代码,甚至还需要根据参数来动态拼接SQL。各种框架基本上都有一套自己拼接动态SQL的方案,也都能很轻松的将查询出来的数据转换为对象(DTO)。 不过到目前为止,这些...
  • gdb远程调试--动态加载符号文件

    万次阅读 2014-03-04 19:42:52
    宿主机 使用gdbserver --attach 0.0.0.0:port(端口任意指定) pid 客户端  1、执行gdb (使用交叉编译...这时候可能要调试的模块没有符号表,需要动态加载符号表,适合调试没有符号信息的设备环境 3、add-symbol-file
  • 一个跨平台软件,其中有一段代码,需要从动态链接库中提取出匹配指定规则的符号,在Linux中,使用了objdump对.so文件进行反汇编,提取符号,但在Windows当中,由于没有objdump,虽然有dumpbin也可以对.dll文件进行反...
  • 导读: by falcon2008-02-26 Linux支持动态连接库,不仅节省了磁盘、内存空间,...这里主要讨论符号动态链接过程,即程序在执行过程中,对其中包含的一些未确定地址的符号进行重定位的过程[3][8]。 本篇主要参考
  • linux window动态符号导出区别

    千次阅读 2017-05-03 20:08:07
    window 中,动态库dll中的符号需要导出时,必须在函数定义开头处加上 PHPAPI 即__declsspec(dllexport), 然后其他地方如果需要使用此dll中导出的符号,需要extern __declsspec(dllimport) 声明导出符号, (通常使用...
  • Linux的nm查看动态和静态库中的符号

    千次阅读 2018-03-01 19:58:36
    转自:http://www.cnblogs.com/itech/archive/2012/09/16/2687423.html功能列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。使用nm [option(s)] ...
  • 动态库运行时符号解析

    千次阅读 2015-03-03 15:12:35
    现在有如下代码: main.c: #include void print() { printf("print in main.c \n"); } int main() { func(); return 0; } temp.c: #include void print() { printf("print in temp.c \n"); } void f

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 276,060
精华内容 110,424
关键字:

动态符号代码