Android逆向之so的半自动化逆向
因为工作需要,转型干android逆向,有几个月了。不过对于so的逆向,任然停留在,难难难的阶段,虽然上次自己还是逆向了一个15k左右的小so文件,但是,那个基本是靠,一步一步跟代码,查看堆栈信息来自己得到的结论。
下面来说说,什么是半自动化吧,我是这样认为的。
很多时候,由于so只是一个加密算法,或者什么操作,并且相当复杂,所以我们并不需要对他进行完全逆向,因为那样很麻烦。
版本1. 自己写一个app,使用某个需要逆向算法的so文件,然后在app中调用那个算法。使用http协议提供接口,供exe程序调用。
这样写,无非就是自己写了一个app,然后加入了,某款应用的so文件,进行逆向操作,通过http传入参数,调用so算法,得到返回值,可以在不逆向so的情况下进行算法调用。
不过这样写,也是有一些麻烦的,针对so多个相互调用和,对app耦合比较高,可能有时候这样,就会报错,报一些找不到原因的错误。
版本2.使用xposed+app的方法,来调用其他app的so的算法,同样提供http服务接口。来给其他第三方程序调用。
这样,无非就是找到算法的加密地点,然后进行调用。一般大公司的app,这种方式都是可以拿下,至于小公司的就不好说了,因为很多小公司,so和java代码都是一批人写的,
他们可能会做一些比较恶心的处理。所以比较麻烦。
大神版本:我想大神应该都是把别人so算法逆向出来了,所以不需要依赖上面的这种方式,
但是这种方式也有他的优势所在,就是高效,可以在不具体操作算法的情况下,进行操作。
YY版本:(yiyin版本)这种版本是我最喜欢的了,就是,打入敌人内部。。。嘎嘎。。直接源码。。
总结:
已经三个月没有写过东西,感觉手生疏得不可收拾。。。哎,先写几篇,充充数,后面再分享点比较精彩的文章。。。欢迎品鉴。
后话:
脑壳有点昏,导致排版有点差,见谅,见谅。
Android逆向之so的半自动化逆向的更多相关文章
- 网络协议自动化逆向工具开山鼻祖discoverer 分析
		
本文系原创,转载请说明出处:信安科研人 也可关注微信公众号:信安科研人 原论文发表在2007年的USENIX上,链接如下:https://www.usenix.org/legacy/event/sec ...
 - 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE
		
C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...
 - k.tt 研究下生成的逻辑代码:从壹开始前后端分离 [.netCore 填坑 ] 三十二║ 四种方法快速实现项目的半自动化搭建
		
更新 1.更新小伙伴 @大龄Giser 提出好点子:试试VS的插件扩展:VSIX.ItemProject等,将T4模板给制作插件,这里先记下,有懂的小伙伴可以自己先试试,我会在以后更新. 2.感谢小伙 ...
 - 浅谈mybatis如何半自动化解耦
		
在JAVA发展过程中,涌现出一系列的ORM框架,JPA,Hibernate,Mybatis和Spring jdbc,本系列,将来研究Mybatis. 通过研究mybatis源码,可将mybatis的大 ...
 - 利用Visual Studio 2017的扩展开发(VSIX、ItemTemplate) 快速实现项目的半自动化搭建
		
目录 0.引言 1.什么是Visual Studio项目模板 2.IWizad接口 3.通过Visual Studio扩展开发实现领域驱动开发 3.1 使用VSIX+ProjectTemplate创建 ...
 - 利用Python半自动化生成Nessus报告
		
0x01 前言 Nessus是一个功能强大而又易于使用的远程安全扫描器,Nessus对个人用户是免费的,只需要在官方网站上填邮箱,立马就能收到注册号了,对应商业用户是收费的.当然,个人用户是有16个I ...
 - 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
		
springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...
 - Sharepoint 2013企业内容管理学习笔记(一) 半自动化内容管理
		
大家好,今天我来与大家分享一个关于sharepoint2013文档管理方面的一个知识,我相信也许早就有人了解并熟知这项技术了,呵呵,众所周知,sharepoint 有一个很亮的功能,什么?没错,就是文 ...
 - 浅谈mybatis如何半自动化解耦和ORM实现
		
在JAVA发展过程中,涌现出一系列的ORM框架,JPA,Hibernate,Mybatis和Spring jdbc,本系列,将来研究Mybatis. 通过研究mybatis源码,可将mybatis的大 ...
 
随机推荐
- 高可用高性能分布式文件系统FastDFS实践Java程序
			
在前篇 高可用高性能分布式文件系统FastDFS进阶keepalived+nginx对多tracker进行高可用热备 中已介绍搭建高可用的分布式文件系统架构. 那怎么在程序中调用,其实网上有很多栗子, ...
 - Linux学习之XShell与虚拟机的连接
			
最近在慕课网上学习Linux视频,记录一下解决问题的方法和过程. 实验软件环境: 虚拟机软件Vmware Workstation10.0.虚拟机系统CentOS 6.3(32位).XShell 5.0 ...
 - java finally深入探究
			
When---什么时候需要finally: 在jdk1.7之前,所有涉及到I/O的相关操作,我们都会用到finally,以保证流在最后的正常关闭.jdk1.7之后,虽然所有实现Closable接口的流 ...
 - IDC服务器的六大基础知识
			
无论企业或个人来说,一个是否适合自己的IDC运营商对于业务发展是至关重要的.然而很多用户对IDC行业一知半解,不太了解服务器的种类,更不知道选择什么样的服务器更适合自己了.今天编辑汇总了一些IDC所需 ...
 - Asp.net mvc 中Action 方法的执行(三)
			
[toc] 前面介绍了 Action 方法执行过程中的一些主要的组件以及方法执行过程中需要的参数的源数据的提供以及参数的绑定,那些都可以看作是 Action 方法执行前的一些必要的准备工作,接下来便将 ...
 - 基于 HTML5 WebGL 的 3D 仪表数据监控
			
工控仪表重点发展基于现场总线技术的主控系统装置及智能化仪表.特种和专用自动化仪表:全面扩大服务领域,推进仪器仪表系统的数字化.智能化.网络化,完成 自动化仪表从模拟技术向数字技术的转变:推进具有自主版 ...
 - 关于Serializable的serialVersionUID
			
在实现了Serializable接口的class中,需要声明一个long serialVersionUID,用来标明当前class的版本号,但很多人在编程时,总是不原意去声明这个serialVersi ...
 - 【转】Maven pom.xml 配置详解
			
原文链接:https://yq.aliyun.com/articles/38271 pom.xml文件配置详解 --声明规范 <project xmlns="http://maven. ...
 - Python 使用Pillow模块生成验证码
			
1.安装 pip3 install pillow 2.使用步骤 生成验证码和验证字符串 绘制图片,将验证码放入session中 将图片返回给页面 3.代码demo #!/usr/bin/env pyt ...
 - node.js进阶话题
			
< h3>notes_控制流 //forloopi.js var fs = require('fs'); var files = ['a.txt', 'b.txt', 'c.txt']; ...