安卓程序逆向分析,反编译,希望得到准确无误的源码

请教大神, 我在安卓市场下一个app,但是我想要反编译,添加功能,并重新编译。
目前我的做法是 用eclipse新建工程,将jd-gui查看的源码copy过来,修改错误,直到无误,正在进行中,不知能否成功。请问有什么办法,好急!

0

3个回答

你这样是不行的,逆向修改改动很小的,而且你不能修改源码,你可以学习源码。

0
ywfxll
WenFY2015 回复lewhonly8023: 可以修改,只是修改的地方很小,你需要修改汇编代码,你不能导入Eclipse中。所以你能修改的很少,毕竟这东西看起来很头疼,修改好了原封不动的重新用工具打包。
4 年多之前 回复
lewhonly8023
筱风子 意思是说,我不能向里面写代码添加我想要的功能实现?有办法可以获得能运行的源码么? 我初学者,老师有一个项目,接的公司的,硬件已经做好了,软件老师让我自己想办法,因为公司的人已经在安卓市场上传这个app了,人家也不可能给我能运行的源码,我真是不知道该怎么办了,
4 年多之前 回复

可以修改,只是修改的地方很小,你需要修改汇编代码,你不能导入Eclipse中。所以你能修改的很少,毕竟这东西看起来很头疼,修改好了原封不动的重新用工具打包。

0
ywfxll
WenFY2015 回复lewhonly8023: 是的
4 年多之前 回复
lewhonly8023
筱风子 意思是说 ,我根本无法获得准确无误的源码,对么?
4 年多之前 回复

你的帖子是几年前的了。
现在,2019年,最新有很多安卓apk加固技术了。
很多高级加固了的apk,是很难反编译得到源码的。包括用你的(其实不是很好用的)JD-GUI。
即使用更好用的Jadx或Procyon,也无法完美得到java代码。

但是部分的apk加固不强的,是可以有机会获取到源码的。

具体办法,比较复杂:
简单说分3步:
1. apk/app转dex
2.dex转jar
3.jar转java源码

详见我的教程:
安卓应用的安全和破解

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android逆向分析之反编译
提到逆向工程,首先就要提到反编译,对于反编译,现在工具还是比较多的,市面上广泛应用的三神器(apktool、dex2jar、jdgui),本篇主要围绕着三神器展开,后面还会阐述smali和使用smali2java。我是通过这三神器入门的,最初的时候,通过反编译去看一些公司的架构和一些功能的实现,还是挺嗨的,但是伴随着软件安全意识的加强,还有各个公司对自己产品的保护,现在反编译的难度越来越大的,可读性
Android反编译apk逆向分析
Android反编译apk反编译、逆向软件下载地址apkTool报错 : Error: Unable to access jarfile \xx\apktool.jar 确保命令中的路径正确,最好无中文和空格 确保文件中夹中包含apktool.jar (即使是apktool2.0.jar也要改成apktool.jar) Input file was not found or was not re...
Android 如何反编译APK获取源码
前言:  这段时间,对Apk 进行了混淆处理。又想起之前学的一点皮毛(反编译apk)。 一.想回顾一下反编译是怎么进行反编译的。自己总结的。总比看别人的要更让自己容易理解。 二.想看看自己的混淆启动后。看看混淆后的效果怎么样。   混淆处理可以参考鄙人的另外一遍文章(只提供思路)。 Android Studio 开启配置混淆功能可能遇到的问题以及解决思路   正文:        ...
【Bugly干货分享】手把手教你逆向分析 Android 程序
第一张图是在把代码注入到地图里面,启动首页的时候弹出个浮窗,下载网络的图片,苍老师你们不会不认识吧?第二张图是微信运动步数作弊,6不6? ok,那我们从头说起1.反编译Android 的反编译,相信大家都应该有所了解。
[Android]反编译查看、修改源码、逆向分析以及二次打包签名
本文我们将来探讨关于Android的反编译。通常来说,我们在开发过程中的apk出于DEBUG状态,我们并没有给予APK一个特定的签名,而是编译系统默认给apk一个签名。在发布到应用商城时,我们会用自己的签名文件来签名apk,以防止被其他人恶意篡改apk。当然,我们也会利用Android的混淆技术或者一些加固技术来防止apk被反编译造成源码泄漏。 所以,本文只能针对于没有被签名、混淆、加固过的ap
Android应用逆向——分析反编译代码之大神器
  如果说使用dex2jar和JD-GUI获得了一个APP反编译后的JAVA代码,再结合smali代码调试器来进行调试还不够爽,不够畅快的话,下面将介绍一个帮助分析代码执行流程的大神器。这个神器优点很多,不过遗憾的是它有一个致命的缺点!就是威力太大,能让使用它的人快速分析出一个复杂APP的执行流程,快速定位关键之处进行修改以达到各种目的,尤其对于像我一样的Android逆向新手来说,这是非常致命的...
【Android ApkTool 反编译获取源码】下载一个apk,然后获取源码
最近想做个萌化的Q版, 毕竟以前的是2016年 QQ6.3.6(霞之丘诗羽), 可是现在最新版是QQ6.6.9了!更新了不少功能,我打算自己萌化一个 《嗜血狂袭》的小娜月或者《点兔》的智乃 (原谅我是个死宅萝莉控) 获取源码的方法: 一、百度下载一个QQandroid版 放在C盘 二、下载apktool.jar 包 (
反编译后代码混淆问题小分析
通过反编译工具反编译后 代码出现了混淆 语法不同了  1.案例一 反编译后方法代码 public static boolean getName(Context paramContext) { int i = Settings.System.getInt(paramContext.getContentResolver(), "name", 0); int j = 0
支付宝APP逆向工程笔记之(一)native library
支付宝APP逆向工程笔记之一   最近自己想写一个APP,由于是计算密集型的APP,用到了 Android 的NDK。NDK这么好的东西,支付宝、微信、、、APP肯定会用上吧,打开APK文件一看果然是。而且里面好多都是我认识的library:   首先是ffmpeg,这个比较有意思,因为FFMPEG是用LGPL 发布的,对商业软件不是那么友好,Ali没有直接使用,而是用了Bilibili的
Android逆向分析案例——某点评APP登陆请求数据解密
上一次的逆向分析案例中讲了如何去分析某酒店的APP登陆请求,为了进一步学习如何逆向分析以及学习其他公司的网络传输加解密,本次案例将继续就登陆请求的数据加密进行分析,实现从网络抓包的密文到明文的转换,这次成为炮灰的是某点评的APP~ 首先,分析的步骤还是和上一次分析某酒店的APP那样: 反编译-->找关键代码-->分析请求代码加解密原理-->验证密文到明文准确性。 分析步骤的重点主要是第3
MFC逆向流程
以前没有认真解出过MFC的题目,自上次和师姐一起研究完病毒,似乎打通了任督二脉?今天竟然两个都解出来了,不过比较简单,也还是很开心啦~~~ 题目链接:链接: https://pan.baidu.com/s/1qjp05vO0FWJXhVrGUndbbA 密码: v8bt 第一题 CrackMe2.exe 先运行一下 首先Resource Hacker查找资源,得到Resource。 ...
逆向分析HelloWorld程序
这里将之前学习《逆向工程核心原理》的笔记重新实现整理一遍,代码重新编写实现,以方便以后查阅。 编写运行HelloWorld程序 环境主要是Win7 32位系统,使用VS2010进行编程: #include "windows.h" int main() { MessageBox(NULL, L"Hello World!", L"blog.csdn.net/ski_12", MB_OK); ...
Android逆向-Android逆向基础10(so文件分析大合集)
0x00 前言 导航 博客导航戳这里 练习资源戳这里 说明 在so文件的分析上,我们需要对一些ARM汇编的逻辑实现。 在代码逻辑上,只对if,switch,还有循环进行一个demo分析和创建。可能会篇幅比较大。 内容 1.if逻辑NDK编程 2.if逻辑ARM分析 3.switch逻辑NDK编程 4.switch逻辑ARM分析 5.循环逻辑NDK编程 6.循环...
C++反汇编与逆向分析技术揭秘最全版本(随书源码+带目录).zip
由安全领域资深专家亲自执笔,看雪软件安全网站创始人段钢等多位安全领域专家联袂推荐。深度揭秘软件逆向分析技术的流程与方法,理论与实践完美结合.
如何使用反编译软件得到java源码
1.用解压软件解压code.apk 得到code文件 然后用   解压然后将classes.dex拷贝到解压后的把文件夹中 进入cmd
Android开发学习之路--逆向分析反编译
  一般情况下我们想要了解别人的app怎么实现这个动画,这个效果的时候,总是会想到反编译一下,看下布局,看下代码实现。对,这对于有经验的玩家确实手到擒来了,但是初学者,根本就不知道怎么反编译,怎么看代码,甚至不知道什么是反编译。那就学一下吧。 简单写一个app   先简单写个app用作后面的反编译,当然可以直接拿现有的比较成熟的app,但是没有源码我们没办法好好比较...
《反编译技术与软件逆向分析》pdf版
《反编译技术与软件逆向分析》一书的pdf版本,作者是赵荣彩,庞建民,张靖博。
安卓逆向分析之捕鱼达人
总共分为2个分支 支付成功:要改order返回值:把0x0改为0x1 支付失败order返回值0x0默认的:可以让金币增加 paycode2 中0x0 改为1 payCode2 与payCode3里方法换一下 去掉弹框...
Android逆向工程:针对HTML5开发的App如何下手?这就带你上车!
亲爱的小伙伴们大家好,春节已经过去了,想必小伙伴们在家玩的都很愉快吧~现在不知道大家是否已经告别了老家温暖的港湾再次投入到工作岗位中,博主反正是已经投入到岗位一星期了,不过还是有点不在状态~~新年新气象,大家在休闲放松的同时也不要忘了好好学习呀,那么今天就让我们来学习一下针对HTML5开发的App的逆向破解技巧,以此来拉开我们新年大幕,提神贯脑吧! 对于我们Android开发工程师来说,HTML...
反编译小程序得到源代码
前言 最近在研究小程序吗,在git上找了一些阅读类的开源代码,拿到小程序代码,用java写了一套后台支撑,经过上线,部署,审核,域名,备案,服务器等等,算是接近了阅读类app的尾声,等有时间一一整理一下,将过程记录下来。 今天先记录下,如何反编译小程序。 也是参考了网上诸位大神的经验,最后得以实现,特记录下这个过程。 准备工作:1.安装模拟器,我采用了夜神模拟器。            ...
android 反编译逆向APP简单实践
       有钱就可以为所欲为了 吗?NO,懂技术才是真的可以为所欲为。分分钟可以逆向别人的app ,做些不可描述的事情。       今天给大家简单介绍下android app 的反编译相关的简单操作,具体下面几个套路:       1.反编译app ,常用三件套:apktool,dex2jar,jd-gui-windows  ;                1.1apktool 反编...
Android逆向分析(1)
安卓5.1系统版本下输入密码算法分析    首先可以根据锁屏密码界面,使用工具获取到当前的view,之后一步步跟进后会得到一个密码工具类:LockPatternUtils.java类,进入到源码后,能够发现一个关于密码的算法方法:    这个方法参数应该为用户的输入密码和用户的id值,核心的加密算法应该为:原文密码 + 设备的salt值,然后在分别进行MD5和SHA-1操作,转化为hex值之后再进...
Android逆向分析案例——某地图的定位请求分析
微信里面有个“附近的人”,相信大家都知道,大概的原理就是调用腾讯地图的sdk进行定位,然后把个人的定位信息发到微信服务器上进行处理,再把一定范围内的人的信息返回并用列表的形式显示出来。 因为刚踏入逆向分析这行,所以抱着学习的态度,研究一下大公司的东西,涨一下知识,嗯,本次的案例就是分析腾讯地图中定位请求数据的加解密,以及搭建简易的APK模拟实现定位请求。 为了分析这一案例,是要掌握一定的分析工
软件逆向分析有感
1.PE(Portable Executable),Win32环境自身的执行文件格式体。 它的一些特性来自于UNIX的COFF(Common Object File Format)文件格式。  任何Win32平台上的PE装载器都能识别和使用该格式的文件。 2.RVA(Relative Virual Address)相对虚拟地址  装载程序需要把PE格式文件装载到一个虚拟地址空间中。
逆向分析之核心代码的分析
个人感觉分析正常的(没有花指令)反汇编代码最大的挑战就是难以分清反汇编出的代码是用户的代码还是库的代码,还是编译器插入的代码.克服这一关需要丰富的经验. 因此. 逆向的入门大多数是难倒在这一关上. 这一关挺过去了,逆向也就入门了. 除了上述这一挑战. 当然还有来自其他方面许许多多的挑战.1. 识别一个函数 程序都是以函数为一个单位. 函数内的多条代码使函数完成了特定的功能, 在分析当中也是以一个
使用dex2jar和jd-gui反编译apk得到Java源代码
(注:本文为参考相关教程后的实践记录)仍然以反编译慕课网APP为例简介 dex2jar的作用是将apk反编译成java源码(classes.dex转化成jar文件) jd-gui作用是查看APK中classes.dex转化成出的jar文件,即源码文件step1 首先要下载上述工具 这里是dex2jar+jd-gui的传送门 下载完之后解压。解压完成效果如下: step2 然后将要慕课网的
Android逆向分析案例——某酒店APP的登陆请求分析
为了练练手,增长逆向分析的知识,本次博客打算分析一下某酒店APP的登陆请求。 这次的逆向分析还是以网络请求为例,通过分析其登陆请求数据的加解密原理,将请求数据从密文转换成明文。 好了,既然明确了需求,那么准备开始分析了,分析的步骤还是很简单:反编译-->找关键代码-->分析请求代码加解密原理-->验证密文到明文准确性。 第一步,反编译: 这一步中,一般来说我们可以结合smali和j
逆向工程--苹果移动端app逆向分析技术(一)
0x01 IOS逆向基础 关于iphone移动端app逆向程序相关基础知识。学习之前呢,大家先搭建系统环境,准备些工具。参考链接教程自行搭建和安装。 1 macOS安装 vmware workstation 12.0 安装macOS 操作系统。 https://jingyan.baidu.com/article/54b6b9c0ec0a1b2d593b4745.html 2 XCODE安
对动态网页进行逆向工程
通过搜索字母表的每个字母,然后遍历json响应的结果页面,来抓取所有国家信息。其产生结果将会存储在表格当中。 import string from downloader import Downloader import json D = Downloader() template_url = 'http://example.webscraping.com/ajax/search.json?p
Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正
在之前的破解过程中可以看到我们唯一离不开的一个神器那就是apktool了,这个工具多强大就不多说了,但是如果没有他我们没法涉及到后面的破解工作了,这个工具是开源的,也是使用Java语言开发的,代码相对简单,我们今天就来分析一下他的大体逻辑,注意是大体逻辑哦,因为如果要一行一行代码分析,首先觉得没必要,其次浪费时间,有了源码,谁看不懂呢。至于为什么要分析这个工具其实原因只有一个,就是我们在之前的反编
Android逆向之旅---静态分析技术来破解Apk
一、前言从这篇文章开始我们开始我们的破解之路,之前的几篇文章中我们是如何讲解怎么加固我们的Apk,防止被别人破解,那么现在我们要开始破解我们的Apk,针对于之前的加密方式采用相对应的破解技术,Android中的破解其实大体上可以分为静态分析和动态分析,对于这两种方式又可以细分为Java层(smail和dex)和native层(so)。所以我们今天主要来讲解如何通过静态分析来破解我们的apk,这篇文
C++反汇编与逆向分析技术揭秘 带书签(完整版+光盘)
注意,压缩包内附带光盘内容可能会被杀软隔离,请决定后再下载 本书既是一本全面而系统地讲解反汇编与逆向分析技术的安全类专著,又是一部深刻揭示C++内部工作机制的程序设计类著作。理论与实践并重,理论部分系统地讲解了C++的各种语法特性和元素的逆向分析方法和流程,重在授人以渔;实践部分通过几个经典的案例演示了逆向分析技术的具体实施步骤和方法。 全书共分为三大部分:第一部分主要介绍了VC++6.0、OllyDBG和反汇编静态分析工具的使用,以及反汇编引擎的工作原理;第二部分以C/C++语法为导向,以VC++6.0为例,深入解析了每个C/C++知识点的汇编表现形式,包括基本数据类型、表达式、流程控制语句、函数、变量、数组、指针、结构体、类、构造函数、析构函数、虚函数、继承和多重继承、异常处理等,这部分内容重在修炼“内功”,不仅讲解了调试和识别各种C/C++语句的方法,而且还深入剖析了各知识点的底层机制;第三部分是逆向分析技术的实际应用,通过对PEiD、“熊猫烧香”病毒、OllyDBG调试器等的逆向分析将理论和实践很好地融合在了一起。 本书适合所有软件安全领域的工作者、想了解C++内部机制的中高级程序员,以及对Windows底层原理感兴趣的技术人员阅读。
android反编译
直接发链接了: http://www.runoob.com/w3cnote/android-tutorial-decompile-apk-get-code-resources.html
《Android软件安全与逆向分析》最新 完整版 清晰版 带书签 (PDF)
《Android软件安全与逆向分析》由浅入深、循序渐进地讲解了Android系统的软件安全、逆向分析与加密解密技术。包括Android软件逆向分析和系统安全方面的必备知识及概念、如何静态分析Android软件、如何动态调试Android 软件、Android 软件的破解与反破解技术的探讨,以及对典型Android病毒的全面剖析。 作者简介:丰生强(网名非虫),Android软件安全专家,看雪论坛Android安全版版主,安卓巴士开发交流版版主。 目录 第1章  Android程序分析环境搭建 1.1  Windows分析环境搭建 1.1.1  安装JDK 1.1.2  安装Android SDK 1.1.3  安装Android NDK 1.1.4  Eclipse集成开发环境 1.1.5  安装CDT、ADT插件 1.1.6  创建Android Virtual Device 1.1.7  使用到的工具 1.2  Linux分析环境搭建 1.2.1  本书的Linux环境 1.2.2  安装JDK 1.2.3  在Ubuntu上安装Android SDK 1.2.4  在Ubuntu上安装Android NDK 1.2.5  在Ubuntu上安装Eclipse集成开发环境 1.2.6  在Ubuntu上安装CDT、ADT插件 1.2.7  创建Android Virtual Device 1.2.8  使用到的工具 1.3  本章小结 第2章  如何分析Android程序 2.1  编写第一个Android程序 2.1.1  使用Eclipse创建Android工程 2.1.2  编译生成APK文件 2.2  破解第一个程序 2.2.1  如何动手? 2.2.2  反编译APK文件 2.2.3  分析APK文件 2.2.4  修改Smali文件代码 2.2.5  重新编译APK文件并签名 2.2.6  安装测试 2.3  本章小结 第3章  进入Android Dalvik虚拟机 3.1  Dalvik虚拟机的特点--掌握Android程序的运行原理 3.1.1  Dalvik虚拟机概述 3.1.2  Dalvik虚拟机与Java虚拟机的区别 3.1.3  Dalvik虚拟机是如何执行程序的 3.1.4  关于Dalvik虚拟机JIT(即时编译) 3.2  Dalvik汇编语言基础为分析Android程序做准备 3.2.1  Dalvik指令格式 3.2.2  DEX文件反汇编工具 3.2.3  了解Dalvik寄存器 3.2.4  两种不同的寄存器表示方法--v命名法与p命名法 3.2.5  Dalvik字节码的类型、方法与字段表示方法 3.3  Dalvik指令集 3.3.1  指令特点 3.3.2  空操作指令 3.3.3  数据操作指令 3.3.4  返回指令 3.3.5  数据定义指令 3.3.6  锁指令 3.3.7  实例操作指令 3.3.8  数组操作指令 3.3.9  异常指令 3.3.10  跳转指令 3.3.11  比较指令 3.3.12  字段操作指令 3.3.13  方法调用指令 3.3.14  数据转换指令 3.3.15  数据运算指令 3.4  Dalvik指令集练习--写一个Dalvik版的Hello World 3.4.1  编写smali文件 3.4.2  编译smali文件 3.4.3  测试运行 3.5  本章小结 第4章  Android可执行文件 4.1  Android程序的生成步骤 4.2  Android程序的安装流程 4.3  dex文件格式 4.3.1  dex文件中的数据结构 4.3.2  dex文件整体结构 4.3.3  dex文件结构分析 4.4  odex文件格式 4.4.1  如何生成odex文件 4.4.2  odex文件整体结构 4.4.3  odex文件结构分析 4.5  dex文件的验证与优化工具dexopt的工作过程 4.6  Android应用程序另类破解方法 4.7  本章小结 第5章  静态分析Android程序 5.1  什么是静态分析 5.2  快速定位Android程序的关键代码 5.2.1  反编译apk程序 5.2.2  程序的主Activity 5.2.3  需重点关注的Application类 5.2.4  如何定位关键代码--六种方法 5.3  smali文件格式 5.4  Android程序中的类 5.4.1  内部类 5.4.2  监听器 5.4.3  注解类 5.4.4  自动生成的类 5.5  阅读反编译的smali代码 5.5.1  循环语句 5.5.2  switch分支语句 5.5.3  try/catch语句 5.6  使用IDA Pro静态分析Android程序 5.6.1  IDA Pro对Android的支持 5.6.2  如何操作 5.6.3  定位关键代码--使用IDA Pro进行破解的实例 5.7  恶意软件分析工具包--Androguard 5.7.1  Androguard的安装与配置 5.7.2  Androguard的使用方法 5.7.3  使用Androguard配合Gephi进行静态分析 5.7.4  使用androlyze.py进行静态分析 5.8  其他静态分析工具 5.9  阅读反编译的Java代码 5.9.1  使用dex2jar生成jar文件 5.9.2  使用jd-gui查看jar文件的源码 5.10  集成分析环境--santoku 5.11  本章小结 第6章  基于Android的ARM汇编语言基础--逆向原生! 6.1  Android与ARM处理器 6.1.1  ARM处理器架构概述 6.1.2  ARM处理器家族 6.1.3  Android支持的处理器架构 6.2  原生程序与ARM汇编语言--逆向你的原生Hello ARM 6.2.1  原生程序逆向初步 6.2.2  原生程序的生成过程 6.2.3  必须了解的ARM知识 6.3  ARM汇编语言程序结构 6.3.1  完整的ARM汇编程序 6.3.2  处理器架构定义 6.3.3  段定义 6.3.4  注释与标号 6.3.5  汇编器指令 6.3.6  子程序与参数传递 6.4  ARM处理器寻址方式 6.4.1  立即寻址 6.4.2  寄存器寻址 6.4.3  寄存器移位寻址 6.4.4  寄存器间接寻址 6.4.5  基址寻址 6.4.6  多寄存器寻址 6.4.7  堆栈寻址 6.4.8  块拷贝寻址 6.4.9  相对寻址 6.5  ARM与Thumb指令集 6.5.1  指令格式 6.5.2  跳转指令 6.5.3  存储器访问指令 6.5.4  数据处理指令 6.5.5  其他指令 6.6  用于多媒体编程与浮点计算的NEON与VFP指令集 6.7  本章小结 第7章  Android NDK程序逆向分析 7.1  Android中的原生程序 7.1.1  编写一个例子程序 7.1.2  如何编译原生程序 7.2  原生程序的启动流程分析 7.2.1  原生程序的入口函数 7.2.2  main函数究竟何时被执行 7.3  原生文件格式 7.4  原生C程序逆向分析 7.4.1  原生程序的分析方法 7.4.2  for循环语句反汇编代码的特点 7.4.3  if...else分支语句反汇编代码的特点 7.4.4  while循环语句反汇编代码的特点 7.4.5  switch分支语句反汇编代码的特点 7.4.6  原生程序的编译时优化 7.5  原生C++程序逆向分析 7.5.1  C++类的逆向 7.5.2  Android NDK对C++特性的支持 7.5.3  静态链接STL与动态链接STL的代码区别 7.6  Android NDK JNI API逆向分析 7.6.1  Android NDK提供了哪些函数 7.6.2  如何静态分析Android NDK程序 7.7  本章小结 第8章  动态调试Android程序 8.1  Android动态调试支持 8.2  DDMS的使用 8.2.1  如何启动DDMS 8.2.2  使用LogCat查看调试信息 8.3  定位关键代码 8.3.1  代码注入法--让程序自己吐出注册码 8.3.2  栈跟踪法 8.3.3  Method Profiling 8.4  使用AndBug调试Android程序 8.4.1  安装AndBug 8.4.2  使用AndBug 8.5  使用IDA Pro调试Android原生程序 8.5.1  调试Android原生程序 8.5.2  调试Android原生动态链接库 8.6  使用gdb调试Android原生程序 8.6.1  编译gdb与gdbserver 8.6.2  如何调试 8.7  本章小结 第9章  Android软件的破解技术 9.1  试用版软件 9.1.1  试用版软件的种类 9.1.2  实例破解--针对授权KEY方式的破解 9.2  序列号保护 9.3  网络验证 9.3.1  网络验证保护思路 9.3.2  实例破解--针对网络验证方式的破解 9.4  In-app Billing(应用内付费) 9.4.1  In-app Billing原理 9.4.2  In-app Billing破解方法 9.5  Google Play License保护 9.5.1  Google Play License保护机制 9.5.2  实例破解--针对Google Play License方式的破解 9.6  重启验证 9.6.1  重启验证保护思路 9.6.2  实例破解--针对重启验证方式的破解 9.7  如何破解其他类型的Android程序 9.7.1  Mono for Android开发的程序及其破解方法 9.7.2  Qt for Android开发的程序及其破解方法 9.8  本章小结 第10章  Android程序的反破解技术 10.1  对抗反编译 10.1.1  如何对抗反编译工具 10.1.2  对抗dex2jar 10.2  对抗静态分析 10.2.1  代码混淆技术 10.2.2  NDK保护 10.2.3  外壳保护 10.3  对抗动态调试 10.3.1  检测调试器 10.3.2  检测模拟器 10.4  防止重编译 10.4.1  检查签名 10.4.2  校验保护 10.5  本章小结 第11章  Android系统攻击与防范 11.1  Android系统安全概述 11.2  手机ROOT带来的危害 11.2.1  为什么要ROOT手机 11.2.2  手机ROOT后带来的安全隐患 11.2.3  Android手机ROOT原理 11.3  Android权限攻击 11.3.1  Android权限检查机制 11.3.2  串谋权限攻击 11.3.3  权限攻击检测 11.4  Android组件安全 11.4.1  Activity安全及Activity劫持演示 11.4.2  Broadcast Receiver 安全 11.4.3  Service安全 11.4.4  Content Provider安全 11.5  数据安全 11.5.1  外部存储安全 11.5.2  内部存储安全 11.5.3  数据通信安全 11.6  ROM安全 11.6.1  ROM的种类 11.6.2  ROM的定制过程 11.6.3  定制ROM的安全隐患 11.6.4  如何防范 11.7  本章小结 第12章  DroidKongFu变种病毒实例分析 12.1  DroidKongFu病毒介绍 12.2  配置病毒分析环境 12.3  病毒执行状态分析 12.3.1  使用APIMonitor初步分析 12.3.2  使用DroidBox动态分析 12.3.3  其他动态分析工具 12.4  病毒代码逆向分析 12.4.1  Java层启动代码分析 12.4.2  Native层启动代码分析 12.4.3  Native层病毒核心分析 12.5  DroidKongFu病毒框架总结 12.6  病毒防治 12.7  本章小结
UC-Android逆向工程师面试第2题分析
一、简介 这个题目是别人面试UC优视集团Android逆向工程师一职位的面试题,相比较前面的面试题1,增加了一些难度。 二、题目分析 1.使用JEB程序对UC-crackme-2.apk进行反编译分析,函数clacSnFuntion就是对用户输入的注册码进行校验的。 2.校验用户输入的用户名和注册码的函数clacSnFuntion是在
安卓软件安全与逆向分析学习笔记<二>破解一个小Demo
今天做一个模拟非法破解游戏过程的小Demo,目的在于熟悉一下制作乱扣费软件的思路和流程。相信这种软件大家都见过,安装这些软件后,软件后台会自动下载其他病毒软件/文件,或者偷偷发送扣费短信等。 分析前准备: 安卓开发环境(包括JDK、SDK、Eclipse、AndroidStudio或者其他IDE工具); Android Killer(将APK反编译的工具,同时具备重新编译、签名等功能);
Android逆向基础知识之NDK开发篇
Android NDK,即Android Native Development Kit。 此文利用Android Studio进行Android NDK开发。
反编译技术与软件逆向分析 300dpi高清PDF
第1章 绪论 第2章 指令系统 第3章 可执行文件 第4章 反汇编技术 第5章 指令的语义抽象 第6章 基本数据类型分析 第7章 高级控制流恢复 第8章 过程恢复技术 第9章 部分编译优化效果的消除 第10章 程序的调试与测试
Android逆向之反编译微信客户端注入恶意代码盗取账号密码
这次研究的对象是微信Android客户端5.3版本。 目标是分析反汇编的smali代码找到微信登陆相关的代码块,插入一段上传账号密码到指定服务器的代码,以达到盗取账号的目的。
反编译获取任何小程序源码
反编译获取任何小程序源码 传送门:参考博客地址 传送门:Wechat App(微信小程序,.wxapkg)解包及相关文件(.wxss,.json,.wxs,.wxml)还原工具 小试牛刀,站在大牛的肩膀上采坑 准备材料 node.js运行环境 如果没有安装nodejs,请先安装一下 (本人安装v8.2.1) 反编译脚本 这里提供一个Github上qwerty472123大神写的no...