当前位置: 首页 > news >正文

触动精灵对某东cookie读取并解密--记lua调用C语言

在Mac上构建Lua扩展模块:AES解密与Base64解码实战

今天我要分享一个实用技术:如何在Mac系统上为Lua编写和编译C扩展模块,特别是实现一个某东iOS PIN码解密功能的扩展。这对于需要在Lua环境中执行高性能计算或使用底层系统功能的开发者非常有用。

起因

某东ios环境中是对pinwskey进行加密存储在plist中的,具体可参阅我之前的文章
某电商ios版WJLoginInfo.plist和*DLoginInfo.plist文件的应用与安全机制分析

那我们常用的触动精灵,只有aes-ecb加解密函数,并没有aes-cbc 加解密函数,所以使用起来很不方便
想要从plist中读取加密的cookie,并还原出明文的话,更是困难重重。

所以,本文即探讨如何使用lua的配合c代码自行编译so,用来解密此cookie,方便手机中直接读取明文。
下面实操(本文仅做技术探讨,故已经抹去关键信息,仅做抛砖引玉功能)

1. 安装Lua 5.2

由于目标环境使用的是Lua 5.2,首先需要在Mac上安装相应版本:

# 下载Lua 5.2.1源码
# 下载地址:http://www.lua.org/ftp/lua-5.2.1.tar.gz# 解压并进入目录
cd lua-5.2.1# 编译和安装
sudo make macos
sudo make install

安装完成后,可以通过启动Lua解释器来验证安装:

$lua
Lua 5.2.1  Copyright (C) 1994-2012 Lua.org, PUC-Rio
>

2. 编写C扩展模块

接下来,我们将创建一个名为mt.c的C源文件,实现两个主要功能:

  1. 一个简单的Hello World函数
  2. 一个更复杂的IosPinDecode函数,用于解密特定格式的数据
cd src
touch mt.c

下面是核心C代码结构(出于安全考虑,部分实现细节已隐去):

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lua.h"
#include "lualib.h"

http://www.mrgr.cn/news/95370.html

相关文章:

  • Python学习第二十二天
  • 论文阅读:Attention is all you need
  • 【实操】Mybatis-plus2.x升级到3.x
  • 蓝桥杯 之 数论
  • Halcon算子 二维码识别、案例
  • 对敏捷研发的反思,是否真是灵丹妙药?
  • STM32八股【1】-----启动流程和startup文件理解
  • 『 C++ 』线程与原子操作:高效并发编程的利器
  • 深度解读DeepSeek:源码解读 DeepSeek-V3
  • STM32八股【2】-----ARM架构
  • 面试康复训练-SQL语句
  • 如何为在线游戏选择合适的游戏盾?
  • 【数据结构】栈(Stack)、队列(Queue)、双端队列(Deque) —— 有码有图有真相
  • Maven安装与环境配置
  • 经典笔试题 小于 n 的最大整数 贪心 回溯 剪枝 全排列
  • 【yolo】使用 Netron 可视化深度学习模型:从 YOLOv1 到 YOLOv8 的探索
  • 【C++11】左值引用、右值引用、移动语义和完美转发
  • CentOS 7 64位安装Docker
  • 【UI设计】一些好用的免费图标素材网站
  • 【Agent】Dify Docker 安装问题 INTERNAL SERVER ERROR