最近OpenAI的chatGPT很火,chatGPT是一个大型的语言模型,能够生成人类语言的文本,主要用于对话式的问答和聊天,以及模拟人类的对话行为 有关chatGPT的介绍就不多赘述了,相关内容很多,这是它们的官网OpenAIAPI 而Geptto是一个IDA插件,它使用了chatGPT的API,通过调用API,能够在IDA中让chatGPT识别函数,对函数实现的功能进行描述,并且根据函数的功能将变量重命名为易于理解的形式(而不是IDA中的v1v2...) Geptto开源,地址如下JusticeRage/Gepetto:IDApluginwhichqueriesOpenAI'sdavinc...

  OtTZF01hWiPZ   2023年11月01日   155   0   0 其他技术区

在介绍O-MVLL之前,首先介绍什么是代码混淆以及基于LLVM的代码混淆,O-MVLL项目正是基于此而开发来的。 有关O-MVLL的概括介绍以及安装和基本使用方式,可参见另一篇随笔 https://www.cnblogs.com/level5uiharu/p/16912019.html 基于LLVM的代码混淆 代码混淆是将代码转换成另一种功能上等价,但更难以阅读的形式,是一种对抗逆向工程的手段,也是一种保护源代码和程序的手段。 例如修改各种函数、变量名称以消除其语义,使用非正常逻辑实现功能、使指令复杂化等等。代码混淆不能从根源上对抗逆向工程,只能增加逆向工程的分析成本,因此还需要结合其他手段来...

  OtTZF01hWiPZ   2023年11月01日   52   0   0 网络安全

我在学习angr时,先是阅读了开发者发布在IEEE上的论文IEEEXploreFull-TextPDF:该文章讲述了自动化漏洞挖掘的背景和方法,并对angr的架构和核心模块进行了介绍,非常经典值得一读。 而后,我阅读了angr官方文档和API文档,对angr有了总体的、晕晕乎乎的了解。最后,我发现了github上的项目angr_ctf,并使用该项目在解题过程中不断补充、修正我对angr的了解,以下是涉及的相关连接,你可能用得上: angr官方文档READMEangrDocumentation angr的API文档angrAPIdocumentation—angr9.2.26documentat...

  OtTZF01hWiPZ   2023年11月01日   88   0   0 网络安全

状态操作 angr中提到的状态(state)实际上是一个Simstate类,该类可由Project预设得到。预设完成后,还可以根据需要对某些部分进行细化操作。 一个state包含了程序运行到某个阶段时,内存、寄存器、文件系统、符号变量和符号约束等内容。 寄存器访问 可以通过state.regs.寄存器名来访问和修改寄存器 >>>print(state.regs.eax,state.regs.ebx) <BV320x1c><BV320x0> >>>state.regs.eax+=1 >>>print(state.re...

  OtTZF01hWiPZ   2023年11月01日   106   0   0 网络安全

路径爆炸 之前说过,angr在处理分支时,采取统统收集的策略,因此每当遇见一个分支,angr的路径数量就会乘2,这是一种指数增长,也就是所说的路径爆炸。 以下是路径爆炸的一个例子: charbuffer[17];for(inti=0;i<16;i){ if(buffer[i]!='B'){ return0; } } return1; buffer的字符长度为16,当它等于16个连续的'B'时,程序返回1,然而angr在探索这样的路径时,会遇上16次if语句,也就相应地产生2的16次方个路径,但正确的答案只有一条路径能够达到(if全为false的那一条),这一条路径就被淹没在大量错误路...

  OtTZF01hWiPZ   2023年11月01日   93   0   0 网络安全

angr_ctf项目中后面1317题没有新的成块的有关angr的知识了,只是对之前题目使用到的模块的扩展和补充,因此就不先列知识点和使用方式了,直接在实战中边讲解边说明 库操作 13_angr_static_binary:静态编译库函数替换 此题的代码与第1题没有区别,但它是静态编译得来的二进制文件,将所有的库函数都写入二进制文件了。 之前在angr_ctf——从0学习angr(三)中对第8题分析时讲到,angr对于库函数只会分出一条路径,而不关心库函数内部是怎样实现的,库函数内部的分支也不会增加angr路径上的分支数量。 这个说法是正确的,但是不太严谨,这是因为angr存在一个符号函数摘要集...

  OtTZF01hWiPZ   2023年11月01日   120   0   0 网络安全

O-MVLL介绍 O-MVLL的开发灵感来自于另一个著名的基于LLVM的代码混淆项目ollvm,并在其基础上做了创新和改进。O-MVLL的混淆逻辑实现方式也是通过LLVMPass,支持也仅会支持ARM64架构,根据作者所说,这是由于当初的设计选择。此外,作者还使用了pybind11,用户可以使用python脚本来对O-MVLL进行配置,从而灵活的运用作者封装好的各种代码混淆方式。 混淆后的可执行文件相比于正常编译的可执行文件来说,抵抗逆向工程的能力增强,但与源代码的功能相同,能够在一定程度上保护源代码和程序,增加逆向工程的分析成本。 作者的介绍文档: O-MVLLDocumentat...

  OtTZF01hWiPZ   2023年11月01日   176   0   0 信息安全
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~