您的位置:首页 > 文旅 > 旅游 > 大连工业大学是211还是985_南昌网站搭建_平台推广营销_官网seo怎么做

大连工业大学是211还是985_南昌网站搭建_平台推广营销_官网seo怎么做

2025/3/28 11:28:37 来源:https://blog.csdn.net/braintrust2003/article/details/146418678  浏览:    关键词:大连工业大学是211还是985_南昌网站搭建_平台推广营销_官网seo怎么做
大连工业大学是211还是985_南昌网站搭建_平台推广营销_官网seo怎么做

在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"

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com