当前位置: 首页 > 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"

相关文章:

  • 基于粒子群算法(PSO)栅格地图移动机器人路径规划
  • MySQL错误 “duplicate entry ‘1‘ for key ‘PRIMARY‘“ 解决方案
  • Axure大屏可视化模板:赋能多领域,开启数据展示新篇章
  • AF3 quat_multiply 和 quat_multiply_by_vec 函数解读
  • PostgreSQL用SQL实现俄罗斯方块
  • EasyRTC轻量级Webrtc音视频通话SDK,助力带屏IPC在嵌入式设备中的应用
  • 密码协议与网络安全——引言
  • UE5.5 Niagara 渲染器
  • 从 0 到 1 构建 Python 分布式爬虫,实现搜索引擎全攻略
  • 简述Mybatis的插件运行原理,以及如何编写一个插件?
  • 【Ratis】Ratis Streaming概览
  • win11找不到hosts文件该如何处理
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.3.21)
  • 以欧洲极端降水归因分析为例讲解CESM模型在降水诊断计算中的科研应用
  • 性能优化中如何“避免链接关键请求”
  • Upwork合同类型:固定价格 vs 按小时收费
  • AI Agent中的MCP详解
  • 回溯法经典练习:组合总和的深度解析与实战
  • 夸克网盘任务脚本——进阶自动版
  • Axure项目实战:智慧城市APP(一)(动态面板、拖动效果)
  • 澳大利亚总理阿尔巴尼斯率领工党赢得2025年联邦选举
  • “仿佛一场追星粉丝会”,老铺黄金完成国内头部商业中心全覆盖,品牌化后下一步怎么走?
  • 安徽六安特色产品将“组团”入沪,借力五五购物节开拓市场
  • 特朗普宣布提名迈克·沃尔兹为下一任美国驻联合国大使
  • 奥斯卡新规:评委必须看完影片再投票;网友:以前不是啊?
  • 5月起,这些新规将施行