如何隐藏自己的源代码
[*]建立一个空的工程,把你需要加密的文件添加进去。
https://pic2.zhimg.com/80/v2-51ea6a0ed86e5d9a0c23357b9ec09e1d_720w.webp把需要生成lib的.c文件添加进来,这我需要把我按键功能模块代码生成lib,所以添加hal_key.c。2.打开keil的options for Target…设置。https://pic3.zhimg.com/80/v2-ff107aec0372fa5708a2026fbb5a814a_720w.webp3.选择Output选项,在该选项选择Create Library…libhttps://pic3.zhimg.com/80/v2-7ea3ae4b37273ecef0fc5c109e368216_720w.webp然后点ok,重新编译就行了,是不是贼简单?4.编译没有错误以后,我们在工程目录下找到Objects文件夹。https://pic1.zhimg.com/80/v2-b1c9ef4223d95497560d79a7bd95b308_720w.webp5.我们可以看到有一个lib文件,就是我们刚刚编译生成的。https://pic3.zhimg.com/80/v2-5499a040526022218f17b1507baa1bba_720w.webp不知道大家发现没,怎么生成的名字不是hal_key而是wh01?这个其实是根据你工程名字生成的,我们手动重命名就可以了。https://pic1.zhimg.com/80/v2-88136e8c9c2771263f7fbf6e413639a0_720w.webp6.把我们这个lib文件添加到需要用到按键功能的工程文件夹里。https://pic4.zhimg.com/80/v2-abbb40d9a095615fa4aeb044a86fdc8b_720w.webp这里需要注意的是,一般要把lib文件和对应.h头文件一起放到对应文件夹里面,别人使用你的函数功能,以及函数有什么参数,就是通过查看.h文件调用的。https://pic2.zhimg.com/80/v2-beaa9133d005d9434638decf0395ca81_720w.webp通过hal_key.h文件,我大概知道这个源代码提供3个可以提供外部调用的函数。一个是按键初始化hal_KeyInit(),无返回值,无形参。一个是按键检测函数hal_KeyProc(),无返回值,无形参。一个是函数指针注册函数hal_KeyScanCBSRegister。如果我们需要给别人用的话,不要学我啥注释没有,我们是在视频教程里有讲每个函数的作用。一定要有点注释,让别人知道怎么调用,有什么条件要求,不然光几个函数别人肯定一脸懵逼。7.下面,我们就能正常使用hal_key.c的函数功能啦。https://pic4.zhimg.com/80/v2-385f2d0c287db631dfef9b12b18a2d83_720w.webp同时,别人也看不到你hal_key.c这个文件的源代码了。
就是封装成库文件,然后用.h文件提供函数接口 源代码混淆器可以转换代码,使得它难以阅读和理解,但仍然可以执行。这种方式不会改变程序的行为,但会使得分析代码变得更加困难。 编译过程将源代码转化为计算机可以直接执行的形式,使得查看源代码变得困难。
加密是一种将源代码转化为密文的方法,只有通过解密才能再次使用。这可以通过编写自定义加密算法或使用现有的加密库来实现。然而,请注意,加密可能会影响代码的性能和可读性。 使用代码混淆工具可以使源代码变得难以阅读和理解,这增加了分析和篡改代码的难度。混淆通常包括变量名替换、控制流改变等技术。 将源代码编译成机器码,即0和1组成的指令集,这是最接近于实际运行的代码形式。这种方法可以防止他人阅读和理解代码,但编译后的文件通常较大,且更新和维护成本较高。 将代码保存为专有格式,例如二进制文件或加密的数据库记录,可以使其更难以访问。这种方法可能需要编写自定义的读写代码,以在专有格式和源代码之间进行转换。 可以去除源代码中的空格、换行和注释,使得代码变得更加难以阅读。
页:
[1]