【计算apk的checksum】

关于CheckSum的计算 总和检验码,校验和。在数据处理和数据通信领域中,用于校验目的的一组数据项的和。1001 0110+0000 0110 =1001 0000 换算成十六进制就是90,所以CheckSum计算正确。如图,计算方式是Byte0+Byte1+Byte2+Byte3+Byte4+Byte5+Byte6。如果校验和的数值超过十六进制的FF,也就是255. 就要求其补码作为校验和.它通常是以十六进制为数制表示的形式,如下图,的校验和是: 66(十六进制)同时滚动发送的CheckSum值,也增加了信息通讯的安全性。... 阅读详情

计算apk的checksum方法

在这里插入图片描述

方法1:

def test_count_apk_checksum(server_checksum):
    print('\ntest_count_apk_checksum===')
    with open('c_download/app_download.apk', 'rb') as f:
        m = hashlib.new('SHA256', f.read()).hexdigest()       # read file by file object
        if server_checksum == m:
            print('server_checksum: ', server_checksum)
            print('count_checksum: ', m)
            print('app download success')
        else:
            print('server_checksum: ', server_checksum)
            print('count_checksum: ', m)
            print('app download failed')

方法2:

def test_count_apk_checksum(server_checksum):
    print('\ntest_count_apk_checksum===')
    with open('c_download/app_download.apk', 'rb') as f:
        m = hashlib.sha256(f.read()).hexdigest()        # read file by file object
        if server_checksum == m:
            print('server_checksum: ', server_checksum)
            print('count_checksum: ', m)
            print('app download success')
        else:
            print('server_checksum: ', server_checksum)
            print('count_checksum: ', m)
            print('app download failed')

方法3:

def test_count_apk_checksum(server_checksum):
    print('\ntest_count_apk_checksum===')
    with open('c_download/app_download.apk', 'rb') as f:
        m = hashlib.sha256()
        m.update(f.read())
        value_checksum = m.hexdigest()
        if server_checksum == value_checksum :
            print('server_checksum: ', server_checksum)
            print('count_checksum: ', value_checksum )
            print('app download success')
        else:
            print('server_checksum: ', server_checksum)
            print('count_checksum: ', value_checksum )
            print('app download failed')

注意:

1.如果读取文件,不能直接放入文件的路径进行读入,否则计算的checksum值会是错误的,必须换成file的对象来读取
如:

def test_count_apk_checksum(server_checksum):
    print('\ntest_count_apk_checksum===')
    with open('c_download/app_download.apk', 'rb') as f:
        m = hashlib.new('SHA256', **b'c_download/app_download.apk'**).hexdigest()     # this method is not fit for reading file
        # m = hashlib.sha256(**'c_download/app_download.apk'**.encode()).hexdigest()    # this method is not fit for reading file
        if server_checksum == m:
            print('server_checksum: ', server_checksum)
            print('count_checksum: ', m)
            print('app download success')
        else:
            print('server_checksum: ', server_checksum)
            print('count_checksum: ', m)
            print('app download failed')
使用IDA_Pro分析Android程序 使用IDA_Pro分析Android程序 首先安装IDA_Pro 之后打开进入空的工作台,将apk应用后缀改为zip,然后解压,将解压后的文件夹内的classes.dex拖入工作台中,之后便开始分析程序。 Nez对应39 将nez改为eqz 即将39改为38 APK程序安装时会调用dexopt进行优化和验证,dex文件中的DexHeader头checksum字段标识了dex文件的合法性... 阅读详情

相关推荐

Android APK加固实战:从原理到实现,打造自己的应用防护方案

在移动应用开发领域,代码保护是保障应用安全与商业利益的核心环节。其基本原理在于通过技术手段,增加逆向工程的分析难度,防止核心逻辑被轻易窃取或篡改。从技术价值上看,有效的代码保护不仅能保护知识产权,还能提升应用的整体安全基线,对抗恶意破解和二次打包。在应用场景上,无论是金融、游戏还是企业级应用,对代码安全都有不同程度的需求。本文聚焦于Android平台的APK加固技术,深入探讨了动态加载、Dex文件格式、ClassLoader替换等关键机制,并提供了从壳程序编写、加密工具实现到资源加载与签名对齐的完整工程实践

weixin_33743661的博客 424

Flutter - 应用内更新

Language: English | 中文 simple_update 最简单的APP更新方式(下载并触发安装),支持所有平台。 默认情况下,会从avenge.cn下载最新版本的APP,这是一个简单的APP版本管理系统,欢迎试用_ 你也可以设置自己的服务器来发布APP新版本。 开始 注册账号 https://avenge.cn/register 创建应用与版本 https://avenge.cn/home/resources/apps/new https://avenge.cn/home/reso

Gitee 1413

IO操作Dex文件加密,APK加固项目实战(2),2024年上半年最接地气的Android面经

对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

2401_84149220的博客 1034

apk-reverse dex补丁实战(下):会毁掉你构建的 dex 头部完整性字段

在 [apk-reverse](https://link.gitcode.com/i/4fb8cb26483b77846c1407b89746c6c7) 这个安卓 APK 逆向分析项目里,**dex 补丁**有两种路线:整方法重写,和原地等长字节补丁。前一篇讲了怎么定位指令、怎么打补丁;这一篇只讲最容易翻车、也最容易被忽视的一步——**重新计算 dex 头部的 checksum 与 signatu

gitblog_00890的博客 180

中兴电视盒adb密码算号器apk.zip

软件介绍: 中兴电视盒ADB密码计算器adbopentools.apk chashcode.apk能够计算adb5及6位随机数的密码.打开adb选项设置,进入运维调试,然后打开adb会弹出一个提示框,里面就有MAC及随机数密码,依照提示输入即可。

中兴电视盒子ADB解锁密码计算工具.rar

本工具适用于中兴智能电视盒子的ADB解锁,适用于随机数为C开头的电视盒子解锁,在下载时要确认当前电视盒子的随机数是否为C开头

CHECKSUM 和 BINARY_CHECKSUM 的应用场景

CHECKSUM 和 BINARY_CHECKSUM 的应用场景1. 验证已复制的数据 复制验证使用 checksum 和 binary_checksum 函数。通过事务复制和合并复制,您可以验证订阅服务器中的数据与发布服务器中的数据是否匹配。 可以对特定订阅或某一发布的所有订阅执行验证。 指定下列验证类型之一,分发代理或合并代理便会在下次运行时验证数据:    仅行计数。 此选项将验证订阅服务器...

weixin_34407348的博客 349

hashcode使用方法

hashcode使用方法

apk加固原理之dex加密

apk加固原理之dex加密 原理其实不复杂,加固其实就是加密dex文件,防止dex专程jar 被阅读。后面才是热部署解密dex; 代码如下,注释有解释: import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android

一航jason 2455

破解计算器

以前龙族老虫子写的,很多人都在用.天草大哥也一直用这个计算器.

中兴机顶盒ADB工具.rar

中兴机顶盒ADB工具 算码

使用 FPM 构建 Alpine Linux APK 包:仅输出类型支持与源码级打包原理解析

FPM(Effing Package Management)是一个把多种输入源统一转换为多平台安装包的打包工具。本文聚焦其 [APK(Alpine package)支持文档](https://link.gitcode.com/i/57802c383d60d9db68290d724c5ae8aa),说明 FPM 对 Alpine 包格式的支持边界(仅输出类型、无专有选项),并深入 [lib/fpm/

gitblog_00567的博客 597

中兴电视盒ADB密码计算器

该计算器可以计算打开adb5及6位随机数的密码 mac地址注意大写(电视上怎么显示的就怎么输入,主要是格式)。两个软件中有一个chashcode.apk比较管用。如果不行多试几次,注意手机端一定要联网,手机端一定要联网!!!!! 安装在手机里 就可以计算了,手机必须能连接网络。 中兴机顶盒 ZXV10 B860AV2.1或1.1 打开adb 密码计算 如果你盒子 设置 页面有 运维调试选项的话 可以看到 打开adb选项 设置-》运维调试-》打开adb 就会弹出一个提示框 里边有 mac和5/6位随机数 和密码输入框, 根据提示输入就行了 应该不难

1步校验签名证书:如何验证你下载的Flow APK是官方原版?安全更新完全指南

Flow 是一款基于 Jetpack Compose 打造的现代版 YouTube 与 YouTube Music 安卓客户端,内置本地推荐引擎 FlowNeuro,无需账号、没有广告。由于 Flow 主要提供 APK 侧载安装,不少用户担心下载到被篡改的 APK。本文教你用官方签名证书校验(SHA-256 指纹)在 1 分钟内确认 APK 是否为原版,并掌握 Flow 内置安全更新机制的正确用法

gitblog_00787的博客 115

哈希码破解利器说明

哈希码破解利器说明

CHash-开源

CHash 是一个 gui 哈希工具。 *支持MD5 SHA1 SHA256 SHA512 *提供英文和中文

GoReleaser 校验和(checksum)配置完全指南:算法选择、split 分文件与发布产物校验实战

本文聚焦 GoReleaser 的 `checksum` 配置节,完整讲解校验和文件的生成机制、全部可配置参数(文件名模板、14 种哈希算法、split 分文件输出、ids 过滤、extra_files 扩充)及其底层实现原理。读完本文,你将能按需定制校验文件并指导用户通过 `sha256sum` 等工具验证发布产物的完整性,同时理解校验和管道(pipe)在发布流水线中的执行位置与刷新机制。 #

gitblog_00004的博客 967

一种车内UWB圆极化天线的理论推导及具体实现

本文详细描述了一款工作于UWB channel 9也即中心频率为7987.2MHz,带宽为499.2MHz的圆极化天线。首先是理论推导圆极化天线的物理尺寸参数,分析物理尺寸参数对天线性能指标的影响。然后分析圆极化天线在汽车驾驶室这种狭窄空间应用中带来的优势,也即可以最大化的极化损失多径,提高主径接收信号的信噪比。

weixin_44555637的博客 2965
上一篇: pywinauto之上传PC电脑上的文件
下一篇: 【大文件分片上传】
gaogsf
博客等级 码龄11年 88粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值