当前位置: 首页 > news >正文

做网站 郑州公司企业营销策划

做网站 郑州公司,企业营销策划,wordpress多站点建站,有关优化网站建设的书籍1.大型lib库重命名函数名字 迭代的方式对于大型二进制库改名字的功能脚本 会将源文件中的函数 add_(...) 修改成 nubia_add_(...) 的方式来调用 此脚本分配来修改#xff0c;可以避免突破资源限制 ulimit -a#xff1b; 保存为#xff1a;redef_func_name_01.sh chmod…1.大型lib库重命名函数名字 迭代的方式对于大型二进制库改名字的功能脚本 会将源文件中的函数  add_(...) 修改成 nubia_add_(...) 的方式来调用 此脚本分配来修改可以避免突破资源限制  ulimit -a 保存为redef_func_name_01.sh chmod ux redef_func_name.sh 如果使能 echo -L $new 那么其中api_symbols(  )中要写入本lib的公共的暴露出来的api函数名否则都不能被调用。 #!/bin/bashapitxt./funclist.txt prefix_namenubia_api_symbols( )#1. 将 库文件的符号导出到本地文本文件 rm -rf ${apitxt} nm $1 ${apitxt}#文本文件总行数 N$(sed -n $ $apitxt)#sed -n 300, 400 filename 注意p读出文件的 第300行到第400行for ((i1; i$N; i1000)) do j$[i 999]#debug #seg($(sed -n ${i}, ${j}p ${apitxt})) #echo -e ${seg[]} #echo $i $j #取出i行到j行只保留T类型后面的文本即库中源代码实现的函数名字保存进internal_symbols中 internal_symbols($(sed -n ${i}, ${j}p $apitxt | sed /^[0-9]\ T /!d; s/// |sort | comm -13 (printf %s\n ${api_symbols[]} | sort) - ))#将 internal_symbols中的变量名字进一步修改成 --redefine-sym 原函数名修改后的函数名 的方式待后面丢给 objcopy 来调用 objcopy_args($(printf %s\n ${internal_symbols[]} |while IFS read -r sym; donew${prefix_name}${sym}# replace the symbol with a prefixecho --redefine-sym $sym$new# make the symbol local, future # echo -L $newdone )) #执行更换名字动作 objcopy ${objcopy_args[]} $1 done#$1 是脚本的第一个输入参数即 libxxx.a 使用方式 $ redef_func_name.sh libface.a 2.加密内部函数名 如果想隐藏加密内部函数名可以将上述脚本的改名部分使用下面脚本替代 #在之前的前缀名上在加入一个前缀, add_() 变成 nicaibudao_nubia_add_(),在经过md5sum处理成“乱码”more_prefixnicaibudao_md5sum_args($(printf %s\n ${private_symbols[]} |while IFS read -r sym; donew${more_prefix}$(echo $sym | md5sum | cut -d -f1)# replace the symbol with its md5sumecho --redefine-sym $sym$new# make the symbol localecho -L $newdone ))objcopy ${md5sum_args[]} $1#$1 是脚本的第一个输入参数即 libxxx.a 其中api_symbols(  )中要写入本lib的公共的暴露出来的api函数名否则都不能被调用而且不知道函数名是什么。 3.小型库重命名 对于小型库比如nm liblittle.a的信息只有几十或几百行等可以使用国际友人的如下脚本 priv.c 源文件中是 内部函数的定义比如 float add_(float x, float y){ return xy;} interface.c 源文件中式 外部api函数定义比如 float ADD(float a, float b){return add_(a, b);} 如果想隐藏 add_ 并且改名字而将 ADD暴露出来 #!/bin/bash namespacenubia_# compile to object files gcc -c -o priv.o priv.c gcc -c -o interface.o interface.c# rename the object file so the names of files are not visible nofilename$(echo nofilenames | md5sum | cut -d -f1).o echo ${nofilename} ld -relocatable priv.o interface.o -o $nofilename# create the static library ar rcs static.a $nofilename# list of interface symbols public_symbols( ADD )# list of private symbols - all symbols except interface symbols private_symbols($(nm static.a | sed /^[0-9]\ T /!d; s/// |sort | comm -13 (printf %s\n ${public_symbols[]} | sort) - ))# strip unused symbols, leave only interface symbols strip_args($(printf -K %s ${public_symbols[]})) strip --strip-unneeded --strip-debug ${strip_args[]} static.a# rename all private symbols with its md5sum objcopy_args($(printf %s\n ${private_symbols[]} |while IFS read -r sym; donew${namespace}$(echo $sym | md5sum | cut -d -f1)# replace the symbol with its md5sumecho --redefine-sym $sym$new# make the symbol localecho -L $newdone )) objcopy ${objcopy_args[]} static.a
http://www.pierceye.com/news/657079/

相关文章:

  • 网站内容页优化阿里巴巴做网站么
  • 网站百度收录秒收方法网页制作员厂家
  • 免费做网站怎么做网站619去加网 wordpress
  • 网站建设基本资料信息流优化师是干什么的
  • 网站开发项目经理招聘高级网站设计效果图
  • 上海建网站社交型网站开发
  • 西安建网站做自动化设备哪个网站
  • 深圳优化网站关键词wordpress如何拖移小工具
  • 优秀网站设计欣赏国内网站后期
  • 计算机应用技术php网站开发php网站进后台
  • asp网站安全小x导航正品
  • 陕西省建设监理协会网站成绩查询如何用网站做课件
  • 帝国网站怎么仿站个人做旅游网站的意义
  • 网站建设白沟做公众号策划的网站
  • 站长工具怎么用知名做网站哪家好
  • 做视频网站怎么备案企业内网
  • 建设网站南沙区建湖做网站找哪家好
  • 做网站应该会什么问题视频网站做app
  • 南阳做网站费用企业品牌维护
  • 分形科技做网站怎么样网站常用的js效果
  • 做企业展示网站网站建设与制作段考试题
  • 设计网站哪个好用网站建设策划方案t
  • 化妆培训学校网站建设徐州市工程建设交易平台
  • 杭州正规制作网站公司吗网站如何三合一
  • php网站开发说明手机网站建设的公司排名
  • 网站开发asp.net和sql数据库网页制作教程(第三版)书籍
  • wordpress搬站手机网站模板 html5
  • 免费设计网站网站开发及建设费用
  • 推广qq群的网站androidstudio开发app教程
  • 一个公司备案多个网站要注意合肥网站策划