在ICCAVR中通过使用库函数来避免直接看到敏感算法源码

转载 2012年03月30日 19:09:55

在ICCAVR环境中,我们可以通过使用ilibw.exe工具来制作我们自己的函数库(需要是注册版的才行),详细的操作方法可以参见:ICCAVR所带帮助文档中TOOL REFRENCES部分Librarian一节。

每次都需要到命令行方式下输入好几个命令未免不太方便,好在新的7.22版本中已经可以直接在IDE中完成整个操作了。下面就以7.22版为例说明详细的操作过程:

1)库工程(AVRLib)

1.1)库工程的内容

库工程包括2个文件lib.c和lib.h,其中lib.c文件的内容:

int Fn(int a,int b)

{//我们不希望算法(a+b),被轻易的看到

     return a+b;

}
lib.h文件的内容:
int Fn(int a,int b);

1.2)库文件的生成

只要在编译器设置中将Project Type选为Library即可生成库文件。如果再选中

Copy output to default LIB directory

那么生成库文件之后ICCAVR IDE会自动将生成的lib文件复制到默认的LIB目录下,在笔者的机器上这个目录是

c:\iccv7avr\lib

而我们的库文件的名称则为(lib + 工程名 + .a)

libAVRLIB.a

image

image

 

2)使用库的工程(AVRLibUser)

2.1)使用库的工程的内容

使用库的工程,包含2个文件,main.c和lib.h,其中lib.h和上一步中内容是完全一样的,而main.c文件的内容为:

#include <stdio.h>
#include "lib.h"

void main(void)
{

Fn1(1,2);

}

2.2)使用上一步生成的库文件

要使用库,需要依次:

a)把库安装到本机的LIB目录中,本例中是将libAVRLIB.a 复制到 c:\iccv7avr\lib 之中

b)将库文件的头文件添加到工程中,本例中是lib.h

image

 

注意:

a)显然,使用库时的编译选项需要和生成库时的设置一致。 

b)使用时输入的库名称为:库文件名,除开lib和后缀名剩下的部分。例如库文件名为libAVRLIB.a,使用时则应该填入AVRLIB

3)总结

其实这种方法只能起到一定程度的保护作用,对于一个意志坚定的分析者来说仍然不是很困难。不过这样已经足够对付一般情况了,不是么?

相关文章推荐

ICCavr的常用库函数说明

  • 2009年07月31日 01:39
  • 321KB
  • 下载

Iccavr库函数的列表

  • 2011年08月01日 15:38
  • 29KB
  • 下载

qrencode二维码生成库函数使用心得(一)(付测试源码)

开发环境: Linux平台:虚拟机下ubuntu 14.04 交叉编译工具:gcc-4.4.3 arm开发板:mini2440 arm 内核版本:linux-3.4.99 最近公司的项目需...

ICCAVR的库函数

  • 2008年12月03日 09:15
  • 28KB
  • 下载

使用库函数也有系统调用的开销,为什么不直接使用系统调用呢?

《C专家编程》中提到,库函数调用通常比行内展开的代码慢,因为它需要付出函数调用的开销。但系统调用比库的数调用还要慢很多,因为它需要把上下文环境切换到内核模式然后再切换回来。 库函数对文件的操作实...
  • natahew
  • natahew
  • 2017年06月12日 16:19
  • 151

Erlang 关于敏感字过滤算法以及源码

开发一个模块,对敏感词进行过滤,把用户输入字符串里的敏感词替换成”*”. 如用户输入“我要发敏感字言论”替换成“我要发***言论” 开发要求: 1) 模块初始化,从mysql表里加载5000个...
  • zidai
  • zidai
  • 2012年09月01日 09:52
  • 1127

STL源代码 c++标准库函数 源码

  • 2011年10月28日 14:21
  • 1.09MB
  • 下载

c标准库函数 源码实现

  • 2010年08月29日 15:24
  • 1.79MB
  • 下载

部分字符串库函数的重写(源码) toupper,memcpy,memmove,memset,memchr,strlen,strcpy,strcat,strcmp,strchr

#include #include #include //////////////////////////////////////////////////// //Convert cha...

C语言库函数源码

  • 2017年10月21日 19:58
  • 25.99MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ICCAVR中通过使用库函数来避免直接看到敏感算法源码
举报原因:
原因补充:

(最多只允许输入30个字)