Modern Binary Exploitation是教授二进制漏洞和逆向工程方面的实战攻击技巧的课程,课程安排结合课程教授和动手实践提供学生探索快速发展的安全领域中常用思路和技巧的机会。这里记录笔者根据课程网站学习的 lecure 1 关于逆向以及其常用工具的知识,以供参考和查阅。 lecure 1:逆向及常用工具  主要思路:(1)静态 + 动态调试结合
lua 中,我们可以用 userdata 保存一个 C 结构。当我们为 lua 写扩展时,C 函数中可以利用  lua_touserdata 将 userdata 转换为一个 C 结构指针。 但是,有时候我们却需要把一个指针转换回 lua 中的 userdata 对象。用到它的最常见的地方是封装 GUI ,通常 GUI 的底层是用 C 编码的。当 engine 把鼠标位置或是别的消息拦
转载 2024-05-09 10:26:06
96阅读
前言  这一篇,开始实战。用到找偏移的第一个方法:内存搜索。目的是获得用户信息。 一、找偏移1、分析  用户信息,属于获得数据。  全局数据搜索,局部数据拦截。  对于经常用到,又不怎么变动的数据,用全局变量会比较方便。  用户信息,基本不会变动,也很多地方会用到,猜测是用全局变量存储。 2、方法  对于全局变量,用进行内存搜索,看能不能找到。 3、验证  1、看
转载 2024-06-03 22:34:50
111阅读
除此以外,还需要:PETools:查看exe基本信息,在GitHub上开源。UPX.exe:exe加壳工具,也可以用来去UPX壳(但连变种的UPX壳都没法去~),在GitHub上开源。JEB:参考h鶸的文章安装即可? uncompyle6:把pyc转为python。pip install uncompyle6 Linux的file命令可以帮助我们分析一个未知文件的基本信息。 文章目录buu-eas
转载 2024-05-10 13:54:39
67阅读
本文内容仅供学习。 可以百度下载阿拉德之怒手游app。解开apk,可以看出该手游是IL2CPP框架的游戏,那么在apk中肯定还有一个global-metadata.dat文件(除非加密)。将global-metadata.dat和libil2cpp.so文件拷贝到同一个文件夹下。使用Il2CppDumper将global-metadata.dat和libil2cpp.so进行解析,下载网站:htt
转载 2024-02-20 22:17:49
182阅读
本章介绍了LU分解法,以及如何利用LU分解法求逆、行列式,针对每个公式、原理、代码进行了详细介绍,希望可以给大家带来帮助。LU分解法与高斯法求逆一样,可以进行较高维数的矩阵运算(可计算万维及以上,但是精度不能保证,并且占有内存大,高维矩阵需要进行分块运算)更改:之前的代码使用_msize函数求矩阵维数,然而_msize函数只适用于windows,提供了一种可移植度高的版本。之前在计算L、U的逆矩阵
本文阐述针对Cocos2dx-lua提供的轻量级加密方案的反编译。本文demo对象:lua文件大概分3种。lua是明文代码,直接用ide能打开,luac是lua编译后的字节码,文件头特征为0x1B 0x4C 0x75 0x61 0x51。lua虚拟机直接解析lua和luac脚本文件,luaJIT是另一个lua的实现版本,采用即时解析运行机制,luaJIT更高效,文件头特征为0x1B 0x4C 0x
原创 2020-12-31 20:49:24
10000+阅读
探究Luac的内幕需要找到合适的资料与工具来辅助分析Luac文件。最好的资料莫过于Lua的源码,这里采取阅读第三方Lua反编译工具的代码来探索。
转载 2021-07-07 11:42:32
5009阅读
1.前言 lua通过一个虚拟栈和一组C API函数来与C通信,该虚拟栈主要解决了lua和c中一些差异性问题,比如lua使用自动垃圾收集,C要求显示释放内存,lua使用动态类型,C使用的是静态类型等,下面将会通过一些代码直接演示C Api的一些用法。 2.C API和代码演示 #include<stdio.h> #ifdef __cplusplus extern "C" { #en
转载 6月前
70阅读
 在许多应用中,我们需要知道头部相对于相机是如何倾斜的。例如,在虚拟现实应用程序中,可以使用头部的姿势来渲染场景的正确视图。在驾驶员辅助系统中,汽车上的摄像头可以观察驾驶员的面部,通过头部姿态估计来判断驾驶员是否在关注道路。当然,人们也可以使用基于头部姿势的手势来控制免提应用程序。本文中我们约定使用下面术语,以免混淆。位姿: 英文是pose, 包括位置和姿态。位置: 英文是locatio
Protobuf 官方并没有 Lua版本,然后网易的程序猿开发出了 protoc-gen-lua ,可以让我们将 Proto 文件转成 lua 脚本在 Lua中使用,下面是详细的编译、安装、使用教程。文中用到的代码、工具都有百度网盘下载。 网盘下载地址: http://pan.baidu.com/s/1bo8Ufd9 &nbs
转载 2024-05-10 11:00:42
840阅读
GC算法大体原理:遍历系统中的所有对象,看哪些对象没有被引用,没有引用关系的就认为是可以回收的对象,可以删除。 从Lua 5.1开始,采用三色增量标记清除算法。好处:它不必再要求GC一次性扫描所有的对象,这个GC过程可以是增量的,可以被中断再恢复并继续进行的。3种颜色分类如下:白色:当前对象为待访问状态,表示对象还没有被GC标记过,这也是任何一个对象创建后的初始状态。换言之,如果一个对象
转载 9月前
39阅读
我们在编写 .NET 程序时,经常会在该程序的“关于本软件”对话框中给出这个程序的编译时间,如下图所示: 上图中的编译时间是如果得到的呢?其实是在其 C# 源程序中有这么一句:[assembly: AssemblyVersion("1.3.*")]上述语句使用了 System.Reflection.AssemblyVersionAttribute 类,该类用于指定正在特性化的程序集的版本
转载 2024-10-13 19:42:35
60阅读
网上也由很多类似的Blog来介绍如何在Lua中使用自定义C++文件,但在具体操作时会遇到各种蛋疼的问题,在此把具体步骤以及要注意的地方一一记录,方便他人也方便自己。最开始我也说明的是我所使用的是MAC机。首先Quick-Cocos2d-x3.3Final中自带了绑定C++的文档frameworks/cocos2d-x/tools/tolua/README.mdown,里面有介绍关于如何绑定C++文
转载 2024-04-26 14:21:41
115阅读
文件根据实现功能的不同,可以分为四部分: 1虚拟机运转的核心功能lapi.c            C语言接口 lctype.c        C标准库中ctype相关实现 ldebug.c
转载 2024-04-02 14:33:24
327阅读
lua手游一般是cocos2d引擎+lua,除此之外还有个love2d引擎,不过用的人特少。lua手游有三种文件:lua,luac,luajit。lua是明文代码,直接用记事本就能打开。luac是lua编译后的字节码。luajit是用的另一种对lua加密。luac和luajit同样是.luac后缀,但是文件头不同,对其所使用的反编译方法也不同,所以需要特别注意。luac文件头为:0x1B 0x4C
转载 2024-03-13 14:37:49
354阅读
luna工具库概述luna库提供了几个lua开发的常见辅助功能:lua/c++绑定lua序列化与反序列化变长整数编码,用于lua序列化,当然也可以方便的用于其他场合这里把代码编译成了动态库,由于代码非常简单,实际使用时也可以简单的复制文件到自己的工程.lua_archiver引用了lz4库用于数据压缩(lz4.h+lz4.c).lua/c++绑定库(luna.h, luna.cpp)支持Windo
转载 2024-03-15 05:20:25
0阅读
luac 编译器  NAME luac - Lua 编译器 摘要luac [ options ] [ filenames ] 说明luacLua编译器。它把用Lua语言编写的程序翻译为二进制文件,之后这些文件可被载入并执行。 预编译单元(chunk)的主要优势在于:加载更快,保护源代码免于
转载 2024-05-24 11:36:04
242阅读
在上一篇博客里面,笔者介绍了解线性方程组的列主元Guass消元法,这篇将介绍LU分解法及其算法实现.什么是LU分解? 对于一个线性方程组Ax=b,其中A是非奇异系数矩阵,b是线性方程组右端项,在列主元Guass消元法里面我们知道,最后的系数矩阵A将变成一个上三角矩阵,并且是通过一系列的行变换而来的,设最后得到的上三角矩阵为U,结合高等代数的知识,一个矩阵左乘一个初等矩阵,相当于进行一次行变换,因此
转载 2024-04-01 20:32:18
109阅读
1 前言在很多国外计算机书本和一些第三份开源软件的Demo中经常用到两个英文单词Foo,Bar。这到底是什么意思呢?从步入屌丝界的IT生活简单这两个单词到现在我还是不知道这两个单词的真正含义,今天有必要查查总结下。2 维基百科上的解释原文:The terms foobar , foo , bar , baz and&n
转载 1月前
0阅读
  • 1
  • 2
  • 3
  • 4
  • 5