韩梦飞沙  韩亚飞  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实现程序功能的更多相关文章

  1. Android插件化开发---执行未安装apk中的Service

    欢迎各位增加我的Android开发群[257053751​] 假设你还不知道什么叫插件化开发.那么你应该先读一读之前写的这篇博客:Android插件化开发,初入殿堂 上一篇博客主要从总体角度分析了一下 ...

  2. Pycharm新建文件css文件无后缀,html中无法正确引入

    使用pycharm新建了一个文件mycss,然后选择文件类型是css,显示也正常,但是在页面中使用link引入始终无法生效.后来加了后缀名.css,发现可以正常显示样式了,所以新建文件时最好就加上后缀 ...

  3. 如何让IIS 8.0支持无后缀图片的访问

    进入“MIME类型”模块后,我们点击右侧的“添加”,然后填好文件扩展名和类型值.对于无后缀的图片文件,扩展名只需填写“点”符号即可,类型值根据图片文件实际的扩展名填写.如果是jpeg格式的,那么就填写 ...

  4. 怎样给你的Android 安装文件(APK)减肥

    转自: http://greenrobot.me/devpost/putting-your-apks-on-diet/ Android的apk文件越来越大了这已经是一个不争的事实. 在Android ...

  5. 怎样给你的Android 安装文件(APK)瘦身

    本文源地址:怎样给你的Android 安装文件(APK)瘦身 Android的apk文件越来越大了这已经是一个不争的事实. 在Android 还是最初版本号的时候,一个app的apk文件大小也还仅仅有 ...

  6. Android 命令行编译、打包生成apk文件

    一.搭建搭建环境 1. 安装JDK 和 Android SDK   2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1. ...

  7. 如何给你的Android 安装文件(APK)瘦身

    如何给你的Android 安装文件(APK)瘦身 本文翻译自:Putting Your APKs on Diet           原作者:Cyril Mottier Android的apk文件越来 ...

  8. android 开发 程序中下载安装APK文件 问题汇总 解析程序包时出现问题

    1 若把APK文件保存到应用程序的files目录下,则一定注意保存时使用 FileOutputStream os = openFileOutput(fileName, MODE_WORLD_READA ...

  9. IIS 允许无后缀文件访问的配置

    最近一个项目 前端开发用了一大堆无后缀的html模板,问题就是发布到IIS以后访问 模板文件报404错误.无法下载. 百度 谷歌 搜一堆 都是MIME里添加 '.*' 实际上无效 正解是: MIME里 ...

随机推荐

  1. ASP.NET 应用生命周期19个事件简介

    下面是请求管道中的19个事件. (1)BeginRequest: 开始处理请求 (2)AuthenticateRequest授权验证请求,获取用户授权信息 (3):PostAuthenticateRe ...

  2. 配置多个ssh-key

    搞了三天没搞出来,还在男朋友面前哭了一场,真心觉得我只该吃屎,我好没用.哎.. 首先在上一篇记录了如何生成ssh-key,并使本地可以通过ssh的方式克隆和推送项目.但如果你有个github账号,有个 ...

  3. C# 日文网址转punnycode

    Uri uri = new Uri(url); IdnMapping idn = new IdnMapping();url= url.Replace(uri.Host, idn.GetAscii(ur ...

  4. 为什么我们不要.NET程序员(读后有点想法,所以转来了) 注:本文来自CSDN

    也许你已经知道了,我们正在招聘最优秀的程序员.不错,每个人都这样说.但是我们的程序员能打败你们的——任何时候.比如,米奇虽然只有5英尺高,但他是一个有相当实力的击剑手.维托尔德以前是一个6’3″的职业 ...

  5. jquery记忆笔记

    1.javascript需要注意的一些问题: ①不要使用==比较,始终坚持使用===比较. false == 0; // true false === 0; // false ②NaN这个特殊的Num ...

  6. Web Api - HttpMessageHandler 学习

    参考: 1.http://www.cnblogs.com/chenboyi081/p/4995252.html 2.http://www.cnblogs.com/r01cn/archive/2012/ ...

  7. 洛谷P1525关押罪犯

    传送门啦 想让最大值最小,所以,这题可以用二分法,排序之后发现可以并查集,因为要使最大值最小,排序后这个最大值是存在的. 对于会冲突的两个罪犯,我们连一条无向边,然后按权值从大到小排序,从大到小枚举每 ...

  8. python3项目之数据可视化

    数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联. 数据科学家使用Python编写了一系列令人印象深刻的可视化和分析工具,其中很多也可供 ...

  9. MySQL学习笔记:while循环

    思考:while循环是否只能使用在存储过程或者存储函数之中,不能直接在查询语句中使用? ———— 循环一般在存储过程和存储函数中使用. 直接放几个例子: 例一: 1.创建存储过程 DELIMITER ...

  10. HBase混布MapReduce集群学习记录

    一.准备工作 1.1 部署环境 集群规模大概260多台,TSC10机型,机型参数如下: > 1个8核CPU(E5-2620v4) > 64G内存 > HBA,12*4T SATA,1 ...