利用图片魔法字和后缀名的不一致来anti apktool重新打包

想了解一下某APK的原理,因为核心功能在一个无源码的jar包里,于是想用netbeans来调试。需要用apktool重新打包,但是一直如下的错误:

错误提示,ic_share_music_thumb.png不是一个png文件

于是找到这个文件,用hiew看了一下文件头

找了个多个其它png文件比较一下,正常的魔法字应如下所示:

ic_share_music_thumb.png的魔法字应是jpeg的魔法字:

ic_share_music_thumb.png这个文件实际上是个jpeg文件,后缀名被人为改成了png,但是显示是兼容的,而且工程里如果有这个文件编译也是通过的,只是apktool不认,所以让它打包,它就罢工了。

直接把后缀名改成jpeg,一切正常

猜测这里是作者故意而为之,我们可以做个借鉴,把工程里的某个jpeg图片后缀名改成png(其它不一致的改法没试过),可以做个小小的反打包

时间: 2024-10-10 16:35:15

利用图片魔法字和后缀名的不一致来anti apktool重新打包的相关文章

关于PHP HTML <input type="file" name="img"/>上传图片,图片大小,宽高,后缀名。

在我们的系统中,不免要上传图片,视频等文件,在上传中,需要做的一些判断,文件大小等方面. 注意: 在php.ini 中的post_max_size,upload_max_filesize默认为2M,在上传视频的时候,需要修改下,可以自行设置. 另外如果启用了内存限制,那么该值应当小于memory_limit选项的值. 在上传视频的时候,可以会需要花费些时间,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示

layui图片上传之后后台如何修改图片的后缀名以及返回数据给前台

const pathLib = require('path');//引入node.js下的一个path模块的方法,主要处理文件的名字等工作,具体可看文档 const fs = require(''fs); var app = new express(); //前台图片上传访问路径 app.post('/upload',(req,res)=>{ if(Boolean(typeof req.files[0])){//判断访问该后台时是否有图片上传 var ext = pathLib.parse(re

python 识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,并将图片再按照自己的后缀名存储起来

下列代码,识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,再按照自己的后缀名存储起来 bug:我是用来识别单张图片中只有一个人脸的数据集,如果用来处理一张图片中的多个人脸,那么图片的命名可能会有bug - import cv2 import os import glob #最后剪裁的图片大小 size_m = 48 size_n = 48 def detect(img, cascade): rects = cascade.detectMultiScale(img, scaleFactor=1

MATLAB 批量修改图片后缀名并保存在指定的位置

% 本示例程序将 G:\fiber_sample\crop_images\目录下面所有的 pgm 图片转换为 jpg 图片 % 如果仅对一张 pgm 图片作格式转换,请直接看核心代码部分. function [ ] = pgm2jpg( ) % 读取指定目录下面所有的 pgm 格式图片 pgms = dir('G:\fiber_sample\crop_images\*.pgm'); %num_pgms = length( pgms ); for i = 9001 : 10000 pgm_file

输出D盘下的不同后缀名的图片

public static void main(String[] args) { File f1 = new File("D:/"); getFileName(f1); } public static void getFileName(File file) { ArrayList< String > suffixs = new ArrayList<String>(); suffixs.add(".jpg"); suffixs.add(&quo

利用Shell脚本批量修改文件后缀名

在MDN下载了一个插件开发示例,几十个文件都被加上多余的.txt后缀名,写了个简单脚本,几行代码轻松解决了这个问题. 1 #!/bin/sh 2 3 for file in *.txt 4 do 5 mv $file `basename $file .txt` 6 done

批量修改文件后缀名

源码: cd 文件路径 ren *.* *.jpg 新建一个txt文本并打开 第一行  cd 文件路径 将文件路径四个字改成想要修改的路径,如果是修改该文件所在的文件夹里的东西,可去掉第一行或者不修改第一行,保留原样 第二行   ren *.* *.jpg 将所有文件的后缀名更改为.jpg 最后保存,并将该.txt文件的后缀名改为.bat即可.

-05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作

2011-07-05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作 ARCAMP软件要进行地统计计算的文件后格式后缀名必须为.shp的文件,网上介绍的方法复杂难懂,那么制作.shp的文件怎么制作呢? 1.打开ArcMAP软件,点菜单栏“工具”下拉菜单中的“添加XY数据”,出现“添加XY数据”对话框,添加电子表格数据 “.dbf3”格式文件(参考“用ArcGIS9.3中标出地图中GPS点方法”第3点),点确定,GPS采集点出来了. 2.右单击图层栏刚才“添加XY数据”进来的文件

java根据文件流判断文件类型(后缀名)

import java.io.FileInputStream; public class FileType{ public static String bytesToHexString(byte[] src) { StringBuilder stringBuilder = new StringBuilder(); if (src == null || src.length <= 0) { return null; } for (int i = 0; i < src.length; i++) {