android無尾碼二進位執行檔案替代apk實現程式功能

來源:互聯網
上載者:User

標籤:開源   fclose   ati   exec   argv   putc   oid   int   fopen   

韓夢飛沙  韓亞飛  [email protected]  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 openfailure.\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 openfailure.\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實現程式功能

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.