一、序言          在上篇“Android APK加壳技术方案”()博文中,根据加壳数据在解壳程序Dex文件所处的位置,我提出了两种android Dex加壳技术实现方案,本片博文将对方案1代码实现进行讲解。博友可以根据方案1的代码实现原理对方案2自行实现。        在            
                
         
            
            
            
            一、Dex加壳由来最近在学习apk加密,在网上看了一篇《Android中的Apk的加固(加壳)原理解析和实现》,我发现原文把整个apk都写入到dex文件中,如果apk小还好,当原APK大于200M,客户端解壳很费劲,打开后应用就卡住了,如果只是把原apk的dex加壳不就很容易解开了嘛。我不是原创,只是按照我自己的思路将大神的加固稍作调整,并且将整个项目整理如下。二、Dex结构如图所示,新的dex由            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-26 20:43:43
                            
                                143阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Android 壳工程简介
在现代的Android应用开发中,"壳工程"(Shell Project)是一个重要的概念。壳工程通常是指一个轻量级的Android项目,它在功能上并不复杂,主要的目的是用来托管一个或多个动态加载的模块或插件。这种结构可以极大地提高应用的灵活性与可维护性。
## 壳工程的基本结构
壳工程的核心在于其代码架构。通常,壳工程包含以下几个部分:
- **主Acti            
                
         
            
            
            
            最近听说最多的是Android岗位坑很少,不然就是坑少的同时没坑跳。哎,程序员道路艰辛,且行且珍惜呀~今天给大家分享一篇关于混合开发的文章: 如何在现有的Android项目中集成React Native。如果此时你还没有跳入RN的坑,那么这篇文章可能对你来说有些锦上添花了,哈哈~~ok,坐稳我们开车。我会以流水账的形式来向大家详细介绍如何实现,仔细看清楚步骤即可。1.创建Android工程:Rea            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-23 23:18:40
                            
                                192阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1 前言之前写过一篇RN的环境搭建教程和新建一个新的RN项目的文章   但是其实在实际开发中,在已有的android项目中集成RN情况更普遍,这篇文章就是一个怎么在已有Android项目中引入RN的例子2 集成步骤首先搭建好Android开发环境,并有一个新建的或者已经存在的Android项目  在未创建ReactNative项目大概是这个样子  接着创建ReactNative Module用于存            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-24 23:04:21
                            
                                243阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RN(React-Native)-通俗的说就是跨平台开发吧,一套代码可以在安卓和ios上运行,针对ios而言其本质是对ios原生控件的一次封装,然后通过js调用相关函数,视图等。1.视图移动端常用的视图RN中都有相关的组件(在RN中移动端开发的视图对应组件)对应。这里RN基础的东西不做相关赘述。大家有兴趣学习RN的可以在RN中文网上学习。里面相关的基础的东西叙述相当清楚,只要一步一步按照上面的来,            
                
         
            
            
            
            开发工具:Android Studio , WebStorm参考链接:React Native官方中文文档一.创建React Native项目1.在本地React Native项目目录下,创建一个文件夹,取名为为ReactApp[名字随便取]2.在ReactApp文件夹下,创建一个名为android文件夹【注:小写】,并将你现有的Android项目拷贝到/android子目录中。3.在ReactA            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-17 13:03:54
                            
                                124阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            创建俩个 android 项目一个是要加壳的项目:编译成 apk一个是壳项目:编译成 apk 取其 dex 里面代码是动态解密加要加壳的 apk加壳工具用 java 写的把要加壳的 apk 用二进制文件读取然后加密。加密后写到壳项目的 dex 文件后面。生成一个新的 dex。然后把要加壳的 apk中的 dex替换成新的 dex 最后签名先写个简单的 demo用来测试(要加壳的项目)//MainAc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-19 08:38:23
                            
                                61阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
              先来看一下RNDemo效果吧,这里不得不吐槽一下,说实话RN毕竟属于js性能没有原生流畅看一下效果就知道了:  首先你需要安装NodeJS,因为React Native(简称RN,后面我就都用RN称呼了)本身就是使用Javascript语言和React语言为的,后面你会发现所有文件都是以.js为后缀名的,所以需要NodeJS来编译文件,而且后面会介绍到,我们还需要使用N            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-07 16:48:02
                            
                                609阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            由于课题需要,深入了解了一下加壳技术以及代码自动化实现,本文不在原理方面详细介绍加壳技术,如果有需要可以参考以下博客,博主也拜读了这些文章受益匪浅。 作者:Jack_Jia 链接: 作者:DeMonnnnnn 链接: 好了废话少说开始我们的加壳之旅:原材料【1】需要加壳的源程序(下文的demo.apk) 【2】加壳工程(下文的DexShellTool) 【3】解壳程序(下文的shell.apk)源            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-10 06:51:08
                            
                                110阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、准备npm 设置因为环境部署涉及非常多的包安装,而国内的 npm 速度并不理想,所以建议安装 nrm 选择最快的 npm 国内镜像,推荐 taobao,虽然设置了国内镜像但有时候还是需要配合 VPN。npm install -g nrm
nrm ls
nrm use taobao二、Android 配置步骤1、安装配置 SDK安装最新的 JDK
安装 Android SDK            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-08 12:41:24
                            
                                85阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            调试你的项目 这个用于Eclipse中的Android插件作为Eclipse中的调试器也具有优秀的兼容性。要演示这些,让我们制造一个bug在代码中,改变你的HelloAndroid源代码象下面这样: public class HelloAndroid extends Activity {/** Called when the activity is first created.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-18 20:18:43
                            
                                34阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                         
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-11-16 11:53:47
                            
                                193阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            近几年,混合模式移动应用的概念甚嚣尘上,受到了一些中小型企业的青睐,究其原因,混合模式开发可以比传统移动开发节约大量的开发成本和人力成本。Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。说白了,如果走传统移动开发路线,公司业务覆盖多端,那么每个平台势必要请            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-13 15:47:41
                            
                                40阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            写给应用开发的 Android Framework 教程——玩转AOSP篇之 Android 系统开发工具推荐下面推荐的是我常用的工具,如果你有好用的开发工具欢迎在评论区留言讨论交流。1. SSH 服务与 Tabby TerminalSSH 服务使得我们在其他平台上通过 SSH 客户端程序即可访问到我们的 linux 服务器。方便我们的开发工作。接下来我们分为两步来介绍 ssh 服务的搭建以及客户            
                
         
            
            
            
            目前针对移动应用市场上安卓APP被破解、反编译、盗版丛生的现象,很多APP开发人员已经意识到保护APP的重要性。而对于移动应用APP加密保护的问题,如何对DEX文件加密尤为重要。那么接下来,我们就先介绍一下什么是App加壳和加壳的原理,利与弊等。 一、什么是加壳?加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。是应用加固的一种手法            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-07 11:02:36
                            
                                30阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            好久不发帖了,今天来点干货1、配置调试环境 首先,配置好调试环境。 Androidserver 的调试方法是 android_server -pxxxx 自定义port Jdb的调试方法是 jdb -connect com.sun.jdi.SokcetAttach:hostname=xxxx,port=xxxx 2、断点 需要断在link中,主要是so的init函数。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-28 12:33:48
                            
                                68阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Android RN混合开发导论
在移动应用开发的世界中,越来越多的开发者选择使用“混合开发”模式,这种模式结合了原生代码和跨平台框架的优势。其中,Android和React Native(简称RN)是两种流行的技术,分别对应于Android原生开发和使用JavaScript的跨平台开发。本文将介绍如何在Android项目中集成React Native,并包含示例代码。
## 1. 什么是            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-10-30 04:51:37
                            
                                75阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、需求背景在某些特殊场景下,我们需要在不修改原应用apk的情况下对其做些额外的事情,比方集成广告、增加鉴权、增加防止反编译的逻辑等。那么我们需要在应用外嵌套一层壳,该壳集成我们想要实现的功能。 2、方案一首先想到的是将原apk作为一个完整包直接放入到壳工程中,然后在sdk鉴权成功后直接拉起应用(启动非安装应用)。问题1、如果            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-15 21:29:52
                            
                                35阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            apk加固原理之解密壳工程 - android解密壳工程是负责热部署解密dex,并且解密dex。发射工具类:package com.example.reforceapk;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Meth            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 19:16:19
                            
                                126阅读