安卓逆向_算法
乡村隐士
宝剑锋之磨砺出,梅花香自苦寒来。
展开
-
Android Java层中各类常用算法简介
1.MD5算法简介 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,它是由MD2、MD3、MD4演变过来的,是一种单向加密算法,同时也是不可逆的一种的加密方式。MD5加密算法实现:1.)计算字符串MD5值public static String md5(String string) {if (TextUtils.isEmpty(string)) {retur...原创 2019-09-21 22:04:13 · 373 阅读 · 0 评论 -
OPENSSL-DES算法
一、DES算法简介1、DES算法介绍DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。 明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。2、工作模式...转载 2019-09-26 01:38:20 · 1586 阅读 · 0 评论 -
安卓So(C代码openssl)RSA算法
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <openssl/bn.h>#include <openssl/rsa.h>#include <openssl/pem.h>int main(int argc, char *argv[]...原创 2019-09-25 14:08:07 · 371 阅读 · 0 评论 -
安卓So(C代码)AES(ECB)算法
用到开源库polarssl最近因为项目需要实现对文本进行AES加解密,所以重新拾起念书的时候学习的加解密。需要完成的是对文本文件进行AES的加解密。在网上我们一般看到的都是加解密固定长度的文本,一般是16byte。对于AES不太熟悉的朋友,可以baidu一下,大概了解一下加密的方式和填充的模式。为了方便,我选择了开源库polarssl,其中有常用加密算法的实现。不过polarssl实现的AES...转载 2019-09-24 22:13:32 · 597 阅读 · 0 评论 -
安卓So(C代码)SHA1算法
有点类似MD5规则在《sha1 – 生成 sha1 散列值》中给出了可以生成 SHA1() 函数,它应用很简单。实际上,OpenSSL 还提供了另外一套 API 用以产生 sha1 散列值,该套 API 可以生成更大文件的散列值。比如在 32 位系统下,应用程序不能访问超过 4G (2[sup]32[/sup] )的内存空间,从 SHA1() 函数的第 1 个参数指针也知道,它所指向的空...原创 2019-09-24 18:33:01 · 455 阅读 · 0 评论 -
安卓So(C代码)MD5算法
只是简单的记录 知道下 流程 代码并不准确/初始化md5的结构/void MD5Init (MD5_CTX *context)/*将与加密的信息传递给md5结构,可以多次调用context:初始化过了的md5结构input:欲加密的信息,可以任意长inputLen:指定input的长度*/void MD5Update(MD5_CTX *context,unsigned char ...原创 2019-09-24 09:34:33 · 997 阅读 · 0 评论 -
Xposed hook打印关键值+模拟算法
有时候反编译 回编的时候 apk有各种校验 这样的话 要去掉各种验证 比如签名验证啥的这时我们可以通过 hook方法 避免去回编了首先当然还是得分析出来关键位置然后通过 hook 到关键函数 做各种操作例如 打印出来 关键数值再用androidstudio 模拟出来各种算法啥的例:如果我们要通过 hook 打印出来一个关键值一般来讲 是这样操作的在这个关键值出现以后 作为...原创 2019-09-23 09:31:29 · 1016 阅读 · 0 评论 -
AndroidStudio模拟apk实现 so层关键算法
原apk里 native层函数如下:package com.utils;public class JNIUtils {static {try {System.loadLibrary(“qhreadercutils”);}catch(UnsatisfiedLinkError v0) {}}public static String a(String arg1, String ar...原创 2019-09-22 23:37:08 · 348 阅读 · 0 评论 -
AndroidStudio模拟apk实现java层关键算法
通过 Jeb+androidkiller 分析关键代码然后在androidkiller里 注入 logcat 打印出关键值信息分析出算法后用AndroidStudio 模拟实现出关键算法复制修改新建一个跟apk内部 一样的 算法类然后在 MainActivity 的 oncreate里 调用 用logcat打印出来验证 算法实现是否正确注意事项:1:package 包名不要...原创 2019-09-22 17:05:10 · 250 阅读 · 0 评论 -
IDA带壳动态调试so分析协议算法
这种情况:针对于 抓包分析时 加密不是那么复杂 但是有壳加密都是在 so中进行的 java层没有进行加密 或者是 很弱的加密 能猜出来的那种 这种方法 运气成分比较大 但也不失为一种方法首先找到到lib文件夹里 找 可疑的so 例如有些名字有含义 能大概猜出来是干啥的比如:libhttputils.so httputils 这含义看起来 就是对http里的 某些字段值 进行加...原创 2019-09-29 23:52:45 · 617 阅读 · 0 评论