逆向碰到3des分析
1.ios 某个app碰到涉及3des的解密函数。
2.底层调用的库函数。
3.对比CCCrypt的头文件
- CCCryptorStatus CCCrypt(
- CCOperation op, /* kCCEncrypt, etc. */
- CCAlgorithm alg, /* kCCAlgorithmAES128, etc. */
- CCOptions options, /* kCCOptionPKCS7Padding, etc. */
- const void *key,
- size_t keyLength,
- const void *iv, /* optional initialization vector */
- const void *dataIn, /* optional per op and alg */
- size_t dataInLength,
- void *dataOut, /* data RETURNED here */
- size_t dataOutAvailable,
- size_t *dataOutMoved);
参数2是对应的算法,当2时对应枚举的值为kCCAlgorithm3DES。
- enum {
- kCCAlgorithmAES128 = ,
- kCCAlgorithmDES,
- kCCAlgorithm3DES,
- kCCAlgorithmCAST,
- kCCAlgorithmRC4,
- kCCAlgorithmRC2
- };
4.按照固定key以及向量填充后进行解密。发现秘钥只有23位,进行解密失败,CCCrypt为24位,进行补0操作后解密成功。
逆向碰到3des分析的更多相关文章
- 【逆向篇】分析一段简单的ShellCode——从TEB到函数地址获取
其实分在逆向篇不太合适,因为并没有逆向什么程序. 在http://www.exploit-db.com/exploits/28996/上看到这么一段最简单的ShellCode,其中的技术也是比较常见的 ...
- KVm中EPT逆向映射机制分析
2017-05-30 前几天简要分析了linux remap机制,虽然还有些许瑕疵,但总算大致分析的比较清楚.今天分析下EPT下的逆向映射机制.EPT具体的工作流程可参考前面博文,本文对于EPT以及其 ...
- 第一次OllyDbg逆向记录(分析思路和注意点&其他文章)
OllyDbg 操作菜单栏.工具栏.快捷键 C++调用加强 目录 OllyDbg 操作菜单栏.工具栏.快捷键 1 一. 载入观察 1 1.静态载入观察: 1 2.OD动态观察 ...
- [转]Android逆向之动态调试总结
一.在SO中关键函数上下断点 刚学逆向调试时.大多都满足于在SO中某关键函数上下断点.然后通过操作应用程序,去触发这个断点,然后进行调试 详细的步骤可以参见非虫大大的<Android软件安全与逆 ...
- 从逆向的角度去理解C++虚函数表
很久没有写过文章了,自己一直是做C/C++开发的,我一直认为,作为一个C/C++程序员,如果能够好好学一下汇编和逆向分析,那么对于我们去理解C/C++将会有很大的帮助,因为程序中所有的奥秘都藏在汇编中 ...
- Android 应用的逆向和审计
Android 应用程序拆解 Android 应用程序是在开发应用程序时创建的数据和资源文件的归档文件. Android 应用程序的扩展名是.apk,意思是应用程序包,在大多数情况下包括以下文件和文件 ...
- so静态分析进阶练习——一个CreakeMe的分析思路
i春秋作家:HAI_ 原文来自:https://bbs.ichunqiu.com/thread-41371-1-1.html 说明 拿到一个CreakeMe,写一个分析思路.CreakMe主要是对.s ...
- Java安全之Commons Collections2分析
Java安全之Commons Collections2分析 首发:Java安全之Commons Collections2分析 0x00 前言 前面分析了CC1的利用链,但是发现在CC1的利用链中是有版 ...
- Android安全相关文章[不定期更新…]
http://drops.wooyun.org/papers/2893 Intent scheme URL attack http://drops.wooyun.org/tips/3812 Andro ...
随机推荐
- 0.ssm web项目中的遇到的坑
1.自定义的菜单,href为项目的相对路径,即: : 点击一个菜单,后再点击另一个菜单,然后发现浏览器地址栏的链接是在上一个链接后面拼接的,也就报错了. 解决办法: 每一个菜单的href前增加&quo ...
- js模拟输入支付密码
html <div class="content"> <!--<div class="title">支付宝支付密码:</di ...
- vue 中动画配置
<transition name="fade"> <router-view ></router-view> </transition& ...
- 简单的linux看门狗脚本
watchdog.sh #!/bin/bash now=`date '+%Y-%m-%d %H:%M:%S'` baseDir=$(cd `dirname $0`; pwd) sleepTime=10 ...
- 处理半连接SQL自动改写内连接SQL一例
昨天刚写了半连接改写系列,今天就遇到了此类型SQL: 优化前 耗时:28s 返回:0 SELECT D.DAILYAUDITNO, D.TRANSTOACC FROM PB_DOIC.MM_DAILY ...
- assert.notDeepStrictEqual()详解
assert.notDeepStrictEqual(actual, expected[, message]) 深度地严格不相等比较测试,与 assert.deepStrictEqual() 相反. c ...
- leetcode-240搜索二维矩阵II
搜索二维矩阵II class Solution: def searchMatrix(self, matrix, target): """ :type matrix: Li ...
- Python 字典(2)
一.遍历字典 一个字典可能会包含多个键-值对,字典可以以多种方式存储信息,因此有多种遍历字典的方式,比如键-值对.键.值. 1.遍历所有的键-值对 user_01 = {'username':'tiz ...
- js 列表几种循环的比较
数组 遍历 普通遍历 最简单的一种,也是使用频率最高的一种. let arr = ['a', 'b', 'c', 'd', 'e'] for (let i = 0; i < arr.length ...
- Quartz --quartz.properties
quartz.properties 如果项目中没有该配置文件,则会去jar包中读取自带配置文件 默认的配置如下 # Default Properties file for use by StdSche ...