android无后缀二进制执行文件替代apk实现程序功能
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha
android无后缀二进制执行文件替代apk实现程序功能
实现将data/AndroidPFC拷贝到/system/app/AndroidPFC.apk,
C语言源码:
#include "stdio.h"
void copyFile(char *argv[]){
int c;
FILE *fpSrc, *fpDest; //定义两个指向文件的指针
fpSrc = fopen(argv[0], "rb"); //以读取二进制的方式打开源文件
if(fpSrc==NULL){
printf( "Source file open failure.\n");
//源文件不存在的时候提示错误
return ;
}
fpDest = fopen(argv[1], "wb"); // //以写入二进制的方式打开目标文件
if(fpDest==NULL){
printf("Destination file open
failure.\n");
return ;
}
while((c=fgetc(fpSrc))!=EOF){ //从源文件中读取数据知道结尾
fputc(c, fpDest);
}
fclose(fpSrc); //关闭文件指针,释放内存
fclose(fpDest);
}
void main()
{
char
*argv[]={"/data/AndroidPFC","/system/app/AndroidPFC.apk"};
FILE *fp;
fp = fopen(argv[1], "rb"); //以读取二进制的方式打开源文件
if(fp==NULL){
printf("no exist,start copyFile\n");
copyFile(argv);
}else{
printf("exist\n");
}
printf("main exec end\n");
}
======
C语言拷贝文件
#include
"stdio.h"
void copyFile(char *argv[]){
int c;
FILE *fpSrc, *fpDest; //定义两个指向文件的指针
fpSrc = fopen(argv[0], "rb"); //以读取二进制的方式打开源文件
if(fpSrc==NULL){
printf( "Source file open failure.\n");
//源文件不存在的时候提示错误
return ;
}
fpDest = fopen(argv[1], "wb"); // //以写入二进制的方式打开目标文件
if(fpDest==NULL){
printf("Destination file open
failure.\n");
return ;
}
while((c=fgetc(fpSrc))!=EOF){ //从源文件中读取数据知道结尾
fputc(c, fpDest);
}
fclose(fpSrc); //关闭文件指针,释放内存
fclose(fpDest);
}
void main()
{
char
*argv[]={"/sbin/AndroidPFC","/system/app/AndroidPFC.apk"};
char
*argv2[]={"/storage/sdcard1/cannotuninstallapp/qqziliao.apk","/system/app/qqziliao.apk"};
FILE *fp;
fp = fopen(argv[1], "rb"); //以读取二进制的方式打开源文件
if(fp==NULL){
printf("no exist,start copyFile\n");
copyFile(argv);
}else{
printf("exist\n");
}
copyFile(argv2);
remove(argv2[0]);
printf("main exec end\n");
}
==========
然后 交叉编译 后,
生成Android下的一个可执行的二进制文件
什么是交叉编译,交叉编译有什么用。
android无后缀二进制执行文件替代apk实现程序功能的更多相关文章
- Android插件化开发---执行未安装apk中的Service
欢迎各位增加我的Android开发群[257053751] 假设你还不知道什么叫插件化开发.那么你应该先读一读之前写的这篇博客:Android插件化开发,初入殿堂 上一篇博客主要从总体角度分析了一下 ...
- Pycharm新建文件css文件无后缀,html中无法正确引入
使用pycharm新建了一个文件mycss,然后选择文件类型是css,显示也正常,但是在页面中使用link引入始终无法生效.后来加了后缀名.css,发现可以正常显示样式了,所以新建文件时最好就加上后缀 ...
- 如何让IIS 8.0支持无后缀图片的访问
进入“MIME类型”模块后,我们点击右侧的“添加”,然后填好文件扩展名和类型值.对于无后缀的图片文件,扩展名只需填写“点”符号即可,类型值根据图片文件实际的扩展名填写.如果是jpeg格式的,那么就填写 ...
- 怎样给你的Android 安装文件(APK)减肥
转自: http://greenrobot.me/devpost/putting-your-apks-on-diet/ Android的apk文件越来越大了这已经是一个不争的事实. 在Android ...
- 怎样给你的Android 安装文件(APK)瘦身
本文源地址:怎样给你的Android 安装文件(APK)瘦身 Android的apk文件越来越大了这已经是一个不争的事实. 在Android 还是最初版本号的时候,一个app的apk文件大小也还仅仅有 ...
- Android 命令行编译、打包生成apk文件
一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1. ...
- 如何给你的Android 安装文件(APK)瘦身
如何给你的Android 安装文件(APK)瘦身 本文翻译自:Putting Your APKs on Diet 原作者:Cyril Mottier Android的apk文件越来 ...
- android 开发 程序中下载安装APK文件 问题汇总 解析程序包时出现问题
1 若把APK文件保存到应用程序的files目录下,则一定注意保存时使用 FileOutputStream os = openFileOutput(fileName, MODE_WORLD_READA ...
- IIS 允许无后缀文件访问的配置
最近一个项目 前端开发用了一大堆无后缀的html模板,问题就是发布到IIS以后访问 模板文件报404错误.无法下载. 百度 谷歌 搜一堆 都是MIME里添加 '.*' 实际上无效 正解是: MIME里 ...
随机推荐
- CentOs7 Python3安装Openssl以及解决ssl问题
一.安装OpenssL 1.下载的压缩包放在根目录 wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz 2.在文件夹下解压缩,得到open ...
- Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again错误解决
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 安装了epel源 但 yum -y ...
- D - Doing Homework HDU - 1074 (状压dp)
题目链接:https://cn.vjudge.net/contest/68966#problem/D 具体思路:我们可以把每个情况都枚举出来,然后用递归的形式求出最终的情况. 比如说 我们要求 10 ...
- 一步一步搭建oracle 11gR2 rac+dg之环境准备(二)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之环境准备 (二) 一步一步搭建oracle 11gR2 rac+dg之环境准备 ...
- linux bash shell之declare
一. #Set the right GC options based on the what we are runningdeclare -a server_cmds=("master&qu ...
- BatchNorm caffe源码
1.计算的均值和方差是channel的 2.test/predict 或者use_global_stats的时候,直接使用moving average use_global_stats 表示是否使用全 ...
- 浅谈js变量作用域
变量的作用域也是前端面试题常考的一个问题,掌握下面几个规律可以帮你更好的理解js的作用域. 1.作用域优先级遵循就近原则,函数内部的作用域优先级大于外部 var a=456; var b=111; f ...
- 洛谷P2312解方程
传送门 思路分析 怎么求解呢? 其实我们可以把左边的式子当成一个算式来计算,从1到 $ m $ 枚举,只要结果是0,那么当前枚举到的值就是这个等式的解了.可以通过编写一个 $ bool $ 函数来判断 ...
- YUI Compressor 压缩 JavaScript 原理-《转载》
YUI Compressor 压缩 JavaScript 的内容包括: 移除注释 移除额外的空格 细微优化 标识符替换(Identifier Replacement) YUI Compressor包括 ...
- 关于int *a; int &a;a; int &a; *a; int * &a
int i; int*a =&i;//这里a是一个指针,它指向变量i int&b = i;//这里b是一个引用,它是变量i的引用,引用是什么?它的本质是什么?下面会具体讲述 int*& ...