『壹』 如何看c语言标准库函数的源代码
很遗憾,标准库中的函数结合了系统,硬件等的综合能力,是比较近机器的功能实现,所以大部分是用汇编完成的,而且已经导入到了lib和dll里了,就是说,他们已经被编译好了,似乎没有代码的存在了.
能看到的也只有dll中有多少函数被共享.
第三方可能都是dll,因为上面也说了,dll是编译好的,只能看到成品,就可以隐藏代码,保护自己的知识产权,同时也是病毒的归宿...... 当然,除了DLL的确还存在一种东西,插件程序~~~
『贰』 如何看c语言标准库函数的源代码
如果你用的是visual
studio的话,微软提供了一部分C运行时(CRT)的源码,里面会有memcpy,strcpy之类的函数内的实现,我的visual
studio
2005下的路径是容C:\Program
Files\Microsoft
Visual
Studio
8\VC\crt\src,你可以对比参照一下。
或者
http://www.gnu.org/software/libc/这里就有所有的c标准库函数源码。
再或者
http://www.pudn.com/downloads97/sourcecode/compiler/detail399455.html
『叁』 stm8s003单片机解密能提供完整的源代码吗
解密得不到源代码,得到的都是反汇编后的二进制数字
『肆』 单片机原理的加密方法
科研成果保护是每一个科研人员最关心的事情,加密方法有软件加密,硬件加密,软硬件综合加密,时间加密,错误引导加密,专利保护等措施有矛就有盾,有盾就有矛,有矛有盾,才促进矛盾质量水平的提高加密只讲盾,也希望网友提供更新的加密思路,现先讲一个软件加密:利用MCS-51 中A5 指令加密,其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令A5 功能是二字节空操作指令加密方法在A5 后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5 指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序。
硬件加密:8031/8052单片机就是8031/8052掩模产品中的不合格产品,内部有ROM,可以把8031/8052 当8751/8752 来用,再扩展外部程序器,然后调用8031 内部子程序当然你所选的同批8031芯片的首地址及所需用的中断入口均应转到外部程序区。
硬件加密
用高电压或激光烧断某条引脚,使其读不到内部程序,用高电压会造成一些器件损坏重要RAM 数据采用电池(大电容,街机采用的办法)保护,拔出芯片数据失去机器不能起动,或能初始化,但不能运行。
用真假方法加密
擦除芯片标识
把8X52单片机,标成8X51 单片机,并用到后128B的RAM 等方法,把AT90S8252 当AT89C52,初始化后程序段中并用到EEPROM 内容,你再去联想吧!
用激光(或丝印)打上其它标识如有的单片机引脚兼容,有的又不是同一种单片机,可张冠李戴,只能意会了,这要求你知识面广一点 。
用最新出厂编号的单片机,如2000 年后的AT89C 就难解密,或新的单片机品种,如AVR 单片机。
DIP 封装改成PLCC,TQFP,SOIC,BGA等封装,如果量大可以做定制ASIC,或软封装,用不需外晶振的单片机工作(如AVR 单片机中的AT90S1200),使用更复杂的单片机,FPGA+AVR+SRAM=AT40K系列。
硬件加密与软件加密只是为叙说方便而分开来讲,其实它们是分不开的,互相支撑,互相依存的软件加密:其目的是不让人读懂你的程序,不能修改程序,你可以………….....
利用单片机未公开,未被利用的标志位或单元,作为软件标志位,如8031/8051有一个用户标志位,PSW.1 位,是可以利用的程序入口地址不要用整地址,如:XX00H,XXX0H,可用整地址-1,或-2,而在整地址处加二字节或三字节操作码,在无程序的空单元也加上程序机器码,最好要加巧妙一点用大容量芯片,用市场上仿真器不能仿真的芯片,如内部程序为64KB 或大于64KB 的器件,如:AVR 单片机中ATmega103 的Flash 程序存储器为128KBAT89S8252/AT89S53中有EEPROM,关键数据存放在EEPROM 中,或程序初始化时把密码写到EEPROM 中,程序执行时再查密码正确与否,尽量不让人家读懂程序。关于单片机加密,讲到这里,就算抛砖引玉。
『伍』 stm8库文件在哪里要自己下载吗
您好,stm8库文件在IAR的安装路径里可以找到,位置如下(以安装在电脑D盘为例):
D:Program FilesIAR SystemsEmbedded Workbench 7.3stm8examplesSTM8SSTM8S105C6-BoardLibrariesSTM8S_StdPeriph_Driver
“STM8S_StdPeriph_Driver”文件夹里有两个库文件夹“inc”和“src”,分别用来存放.h和.c文件,截图如下:
满意请采纳好评,谢谢!
『陆』 STM8的初始化里面 while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSE)这个什么意思
首先,你要明白STM8的驱动时钟可以采用外部晶振,也可采用STM8内部的RC振荡器,二者只能选其一。三个语句中的HSI表明是采用内部RC振荡器。
你先看STM8内部的时钟树结构:
看到了吗?它是表明时钟准备好了没有的状态标志,就像你去叫别人办事,别人要经过考虑,这就需要等待,同理,你在STM8S内部配置好了时钟后,内部需要产生一定的延迟,而且受各种状况的影响,比如外部供电电压变化、引脚干扰等,有可能导致配置时钟失败,这就要经过查询这个寄存器的值来看是否配置好时钟没有,如果这个寄存器不等于0,则配置成功,否则失败。第三句的while里的意思就是不断地取CMSR的值,看是否等于宏定义CLK_SOURCE_HSI(OXE1),如果相等了,则跳过循环,继续执行以后的语句。