添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
英俊的草稿纸  ·  标签搜索功能实现mysql·  1 年前    · 
斯文的剪刀  ·  java - ...·  1 年前    · 
玩滑板的小虾米  ·  Django 使用 Markdown ...·  1 年前    · 
善良的红酒  ·  Go HTML templates: ...·  1 年前    · 
MTK 手机BIN文件加密的一点心得
工具:IDA, UltraEdit, ARM250(ARM Project Manager 我专用来编译补丁文件), 打补丁工具(公司编的小工具)
第一次写这种东东,文笔又不好。见笑了。
MTK手机的Bin文件就是某款手机所对应的一整套原代码编译的目标程序(灼烧文件)。
在PC机上我们是把系统与应用程序分得很清楚的。但是MTK中则不同,系统与应用程序捆绑在一起的;当然这只对编译出来的系统BIN文件而言的,硬要单独加入应用程序也不是不可以。当然可以,那就要单独‘挂载’。前提是不要过度依赖硬件,如GPIO引脚之类的。
一般来说,当公司搞到MTK源工程文件后就可以修改所需内容,完之后就可以编译产生系统BIN文件,这时公司怕别人盗走成果往往会采用默认的加密方法。而这种加密方法现在很容易就可以破解的(当然针对这种形式破解补丁自己要先写好,以后就是死搬硬套)。所以想说说我现在加密的方法(当然这是从前辈那儿学来的,不是纯摸索的)。
加密效果:被加密的BIN文件只能运行在第一次烧录进的手机上!从手机里读出来的BIN,烧录到另一台手机上,则不开机!
思路:第一次烧录时,BIN文件原样读入进手机FLASH中,但要做个标记,用来确认是否本机器!可以把指定的关键代码(关键代码很多,如调用寄存器的代码一般都比较关键)提到补丁中去执行? MTK芯片上都有唯一的一个ID,我们就是用这个ID来加密关键代码的。当手机开机时,ROM先运行我们先前打进行去的一段检测代码补丁,内部密码判是否与标志相符。不符则关机!
总的来说就是用这个MTK芯片ID在ROM中加密和解密一段关键代码判断是否与标志匹配。被读出来的BIN文件关键代码将是与ID对应的密文!
我加密的过程随便描述一下。
1:找补丁位置,我找的是 INT_InitRegions 函数里面的 zi_init_32 函数。IDA显示如下:
ROM4:00418E94 EXPORT INT_InitRegions
ROM4:00418E94 INT_InitRegions ; CODE XREF: ROM:
ROM4:00418E94 0E 70 A0 E1 MOV R7, LR
ROM4:00418E98 10 01 9F E5 LDR R0, =0xDC2ECC
ROM4:00418E9C 10 11 9F E5 LDR R1, =_32khz_gpio_pin
ROM4:00418EA0 01 20 A0 E1 MOV R2, R1
ROM4:00418EA4 0C 41 9F E5 LDR R4, =unk_939C
ROM4:00418EA8 04 20 82 E0 ADD R2, R2, R4
ROM4:00418EAC 19 00 00 EB BL copy
ROM4:00418EAC
ROM4:00418EB0 04 21 9F E5 LDR R2, =unk_264660
ROM4:00418EB4 04 01 9F E5 LDR R0, =MPUChannelStatus
ROM4:00418EB8 00 10 A0 E1 MOV R1, R0
ROM4:00418EBC 02 10 81 E0 ADD R1, R1, R2
ROM4:00418EC0 1E 00 00 EB BL zi_init_32
ROM4:00418EC0 MTK 手机BIN文件加密的一点心得工具:IDA, UltraEdit, ARM250(ARM Project Manager 我专用来编译补丁文件), 打补丁工具(公司编的小工具)第一次写这种东东,文笔又不好。见笑了。MTK手机的Bin文件就是某款手机所对应的一整套原代码编译的目标程序(灼烧文件)。在PC机上我们是把系统与应用程序分得很清楚的。但是MTK中则不同,系统与应用程序捆绑在一起的;当然 加密 芯片:ATSHA204A(8脚S0IC封装) 推荐:具有4.5kb eeprom,且性价比最高。 接口:Interface Type :Single-wire; I2C,推荐使用i2c接口,传输速率可达1Mb/s i2c地址:0x64 I2C_Address(由0xC0右移一位得到,至于为什么右移是因为这个数据最高位溢出,详情可百度)
目前在做一个项目,具有在线升级功能,具有boot区,boot_data区,APP区和上位机升级软件 (讲解APP,boot及上位机实现的,请看https://blog.csdn.net/wuhenyouyuyouyu/article/details/102851287) 。正常情况下是下载Boot程序,然后用上位机下载APP,考虑到生产上的效率能不能下载一个HEX就可以 了,经过查看资料是可行的,具体思路如下。 一、上位机实现 1、要能根据APP 文件 生成boot_data 文件 ; 2、如果考虑 加密
1. bin 文件 ,exe 文件 ,图片 文件 等都可以使用二进制 加密 方式进行 加密 。 2.使用while循环来取代for循环进行字符 加密 。 3.exe 文件 加密 解密的应用:先将exe 文件 伪装成txt 文件 ,避免杀毒软件检测,再通过解密,txt–>exe#define _CRT_SECURE_NO_WARNINGS #define SRC_PATH "C:\\Users\\michael\\Deskto 先讲下概念:一般系统识别 文件 的方式大家都会认为是 文件 的拓展名,比如.txt .mp4等等,是这样的。但是其实很多时候系统识别 文件 还通过 文件 的头部(linux下是这样的)~~ 关于上面的概念大家可以测试一下: 比如你有个视频 文件 叫xxx.mp4,我把 文件 名改为xxx.mmmm但是系统(win下)右键鼠标,没有打开方式这一项了,但是你依然可以打开:从已
做嵌入式产品,最头痛的事情就是害怕自己的代码给别人读出来,不需要通过自己,人家直接拿去生产了。所以要保护自己的最好方式就是使用硬 加密 IC的方式。当然有句话说的好“这世上没有破解不了的 加密 算法”。每一个 加密 芯片都有它的不足和优势,今天我不说如果破解 加密 IC ,我拿几个产品来对比,只讲它的优点和缺点。       ATSHA204:使用SHA-256算法进行 加密 操作,内置16*32字节的slot(E
只需要在原 文件 流的最前面加一个标致的字节就行了! 比如,原 文件 加密 后的字节流为:43 55 73 02  你在往 文件 中写的时候,在其前面加一个字节XX(01=JPG,02=BMP,03=GIF等) 如果原 文件 是JPG,则把流写成,01 43 55 73 02  在解密时,首先读到第一个字节,进行判断类型,把其...
MTK 手机 AT命令手册是一份关于 MTK 手机 芯片)的AT命令集合的手册。AT命令是模拟终端命令,用于控制和配置 手机 的各种功能和参数。 MTK 手机 AT命令手册包含了一系列用于控制和配置 手机 的命令,包括但不限于呼叫管理、短信管理、网络管理、SIM卡管理、音频管理、电源管理等等。通过发送特定的AT命令,可以实现诸如拨打电话、发送短信、连接互联网、查询网络信息等功能。 这份手册具体列出了每个AT命令的语法和用法,以及命令的参数和返回值。用户可以根据自己的需求,选择合适的AT命令来实现特定的功能。同时,手册还提供了一些示例代码,以帮助用户更好地理解和使用这些命令。 MTK 手机 AT命令手册对于 手机 开发人员和系统集成商来说,是一份重要的参考资料。通过研究和应用这些AT命令,他们可以更好地开发和调试 手机 软件,实现更多的功能和定制化需求。 总之, MTK 手机 AT命令手册是一份包含了 MTK 手机 各种功能和配置的命令集合,通过学习和应用这些命令,用户可以更好地控制和配置 手机 ,实现各种个性化和定制化需求。