代码整理——获取安装的apk

package com.example.getallapk;

import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity {

	private String TAG = "MMMM";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		getAllApps(getApplicationContext());
		
	}

	 private List<PackageInfo> getAllApps(Context context) {  
	        List<PackageInfo> apps = new ArrayList<PackageInfo>();  
	        PackageManager pManager = context.getPackageManager();  
	        //获取手机内所有应用  
	        List<PackageInfo> paklist = pManager.getInstalledPackages(0);
	        Log.i(TAG, "Len: "+paklist.size());
	        for (int i = 0; i < paklist.size(); i++) {  
	            PackageInfo pak = (PackageInfo) paklist.get(i);  
	            //String 	path = this.getPackageManager().getApplicationInfo(packageName, 0).sourceDir;
	            //判断是否为非系统预装的应用程序  
	            if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) {  
					// customs applications  
	            	Log.i(TAG, "package:"+pak.packageName+" vcode:"+pak.versionCode+" vName:"+pak.versionName
	            			+" descr:"+pak.describeContents()+" path:"+pak.applicationInfo.sourceDir);
	            	//String 	path = pak.applicationInfo.sourceDir;
	            	//Log.i(TAG, "path = "+path);
	                apps.add(pak);  
	                }  
	        }  
	        return apps;  
	    }  
}

### 关于APK免杀技术的源码实现 #### 背景介绍 APK免杀技术的核心在于使编写的程序能够规避杀毒软件的检测机制,从而防止被误判为恶意软件并遭到删除或修改。这种技术通常涉及对APK文件结构的理解以及如何隐藏可能触发安全扫描的行为特征。 #### 技术原理概述 为了实现免杀效果,开发者可以通过多种方式来混淆代码逻辑或者调整打包流程,使得最终生成的应用不易被传统签名算法识别出来作为威胁对象[^1]。具体方法包括但不限于字符串加密、动态加载资源文件、自定义加壳保护等手段。 #### 实现步骤说明 以下是基于现有资料整理的一个简化版示例框架: ```bash #!/bin/bash # installapk.sh - 自动化安装脚本样例 adb devices # 检测连接设备状态 sleep 2s # 延迟等待稳定连接 adb install your_app_name.apk echo "Installation completed." ``` 上述简单Shell脚本展示了如何利用ADB命令完成基本应用程序部署工作流的一部分[^3];然而这并不直接关联到具体的防病毒绕过策略上。 对于更深层次的技术探讨,则需深入研究DEX字节码转换工具链如`dex2jar`, 它允许我们将已有的`.class`形式重新解析回接近原始Java语法表示以便进一步分析其内部运作细节[^2]. 另外值得注意的是,在实际项目实践中如果遇到特定功能模块无法正常执行的情况(比如地理信息服务中的路径优化问题),除了考虑自身编码错误外还应该仔细对比差异之处——有时候官方提供的例子之所以表现更好可能是由于额外调用了某些私有接口或者是经过特别授权许可后的服务端支持所致[^4]. 最后提醒一点关于权限管理方面的要求:要达到完全意义上的后台静默更新操作的话确实需要获取ROOT级别的控制权才行,并且相应声明必要的manifest条目项以获得必要权利去操控目标区域内的其他组件实例生命周期事件等等[^5].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值