欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

逆向安卓手機APP界面UI修改重打包再安裝

admin
2025年3月13日 23:53 本文熱度 415

1.背景

有一客戶找到我,說能不能把APP首頁的底部多余界面去掉。
2. 逆向實戰
想要去除安卓應用軟件中的內容,需要對APP逆向進行修改再打包。
通過工具 MIT管理器工具
提取APK包,點擊apk文件,點擊查看反編譯apk。
搜索關鍵字。這里關鍵字都是后端接口返回,所以說關鍵字搜索無果。
在assets資源文件下找到Index.html首頁
一頓操作排查,根據客戶提供的頁面信息,最終鎖定是home.html文件,在www目錄中。
<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title>微友助手</title>        <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">        <meta name="apple-mobile-web-app-capable" content="yes">        <meta name="apple-mobile-web-app-status-bar-style" content="black">        <!--標準mui.css-->        <link rel="stylesheet" href="../../css/mui.min.css">        <!--App自定義的css-->        <link rel="stylesheet" type="text/css" href="../../css/index.css" />        ...省略style元素        <script src="../../js/mui.min.js"></script>        <script src="../../js/app.js"></script>                <script type="text/javascript" charset="utf-8">            (function($, doc) {                $.init({                    swipeBack: false //啟用右滑關閉功能                });                $.plusReady(function() {                    console.log('homeready');                    plus.navigator.setStatusBarBackground('#FFFFFF');                    plus.navigator.setStatusBarStyle('dark');                                       var userDatas = app.getDatas('$userDatas');                     if(userDatas['account'])app.bindAliasAndTag(userDatas['account'],[userDatas['account']]);                                        var self = plus.webview.currentWebview();                                                           doc.getElementById('bar').innerHTML = userDatas['account']?userDatas['account']:'';                                                                                     doc.getElementById('copy_url').addEventListener('tap', function(event) {                        app.copyToClipboard("http://yqlm.jisubianxian.com/web");                        mui.toast('復制成功');                    });                                        var home_data = app.getHomeData(userDatas.token, function(datas, zt) {                                                      if(zt==true){                                               doc.getElementById('ke_use_count').innerHTML = datas['ke_use_count']?datas['ke_use_count']:'0';                             doc.getElementById('intro').innerHTML = datas['intro']?datas['intro']:'';                            if(datas['foot']==true){                                                                // doc.getElementById('foot').style.display='';                            }                                                                                        if(datas['rj_logo'] && datas['rj_logo'].length>0){                                                                var rj_logo = datas['rj_logo'];                                //console.log(dd.lunbo.length);                                var rj_logo_str = '';                                for (i=0;i<rj_logo.length;i++){                                     rj_logo_str +='<li>'+                                                        '   <img src="'+rj_logo[i]+'" style="width: 6vw;height: 6vw;border-radius: 5vw;">'+                                                    '</li>';                                }                                //console.log(products_str);                                doc.getElementById('rj_logo').innerHTML = rj_logo_str;                            }                                                        if(datas['doc_tool'] && datas['doc_tool'].length>0){                                                                var doc_tool = datas['doc_tool'];                                //console.log(dd.lunbo.length);                                var doc_tool_str = '';                                for (i=0;i<doc_tool.length;i++){                                     doc_tool_str +='<li>'+                                                        '<a onclick="javascript:app.openXy(\''+doc_tool[i]['url']+'\')">'+                                                        '    <img src="'+doc_tool[i]['img']+'" style="border-radius: 0;">'+                                                        '    <span style="color: #8f8f94;">'+doc_tool[i]['name']+'</span>'+                                                        '</a>'+                                                    '</li>';                                }                                doc.getElementById('doc_tool').innerHTML = doc_tool_str;                            }                        }                    });                                                    document.querySelector('#add_man_js').addEventListener('tap', function(e) {                        console.log('開始添加');                        plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) {                            app.get_tels_list(userDatas.token, function(dd, status) {                                                               if(status== false){                                    mui.alert(dd);                                }else{                                    if(typeof(dd)=='string')dd = JSON.parse(dd);                                    var datas = dd['data'];                                    for(var i=0;i<datas.length;++i){                                        console.log('name:'+datas[i].name+'mobile:'+datas[i].mobile+'remark:'+datas[i].remark);                                        // 向通訊錄中添加聯系人                                        var contact = addressbook.create();                                                                         contact.name = {givenName:datas[i].name};                                        contact.phoneNumbers = [{type:"mobile",value:datas[i].mobile,preferred:true}];                                        contact.note=datas[i].remark;                                        //contact.categories ={type:"company",value:"神碩"};                                        //contact.organizations={type:"company",value:"神碩"};                                        contact.save();                                                                            };                                    console.log(dd['ke_use_count']);                                    document.getElementById('ke_use_count').innerHTML = dd['ke_use_count']?dd['ke_use_count']:'0';                                    //添加成功后更新服務端的數據狀態和可用數量                                    mui.alert('批量導入成功!已隨機導入1-4個數據,請打開客戶端添加或關注新朋友。');                                }                                                            });                                                                                }, function ( e ) {                            mui.alert( "獲取通訊錄失敗: " + e.message );                        } );                                                });                                                                     document.querySelector('#log_out_js').addEventListener('tap', function(e) {                                                mui.confirm('確認退出程序?', '',['取消','確定'], function(e) {                            if (e.index == 1) {                                userDatas['token']='';                                app.setDatas('$userDatas', userDatas);                                plus.runtime.restart();                                 } else {                                //console.log('你點擊了取消');                            }                        });                         });                                                    setTimeout(function() {                        plus.navigator.closeSplashscreen();                    }, 1000);                       console.log('homereadyover');                                                               });                            }(mui, document));                    </script>            </head>    <body style="background-image: url('../../images/home.png'); background-position: center center;background-repeat: no-repeat;background-attachment: fixed;background-size: cover;height: 100%;">                            ...省略部分內容                <div class="report" >            <a id ="add_man_js">+批量導入通訊錄</a>            <!--<a id ="add_man_js"><img src="../../images/btn.png" style="width:100%;height:100%"></a>-->                    </div>                <div class="member_c">            <ul class="ul_c" id="doc_tool">                         </ul>        </div>                                        <footer id='foot'>            <p style="font-size: .7rem;">管理員給多個app客戶端【分配數據】請訪問:</p>            <p style="font-size: .7rem;color:#0FB923;">http://yqlm.jisubianxian.com/web</p>                     <p style="font-size: .7rem;">使用電腦瀏覽器打開 <a style="color:blue;" id="copy_url"> <img src="../../images/8.png" style="width:20px;height:20px">復制網址</a></p>        </footer>        <div class="good_bot">            <a id ="log_out_js">退 出 系 統</a>        </div>              </body></html>
有js基礎的不難看到,頁面是通過頁面加載完成后調用后端接口返回得到的信息,再動態添加元素渲染。
這里直接通過style樣式標簽直接把底部元素隱藏掉即可。
3. 簽名重新打包
修改home.xml文件保存后退出編輯頁面,選擇自動簽名,確定更新。返回到apk界面。
最后重新安裝apk文件,效果如下。


閱讀原文:原文鏈接


該文章在 2025/3/14 9:39:43 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved