标签: reverse-engineering

PE导出目录表的OrdinalBase字段被忽略了吗?

根据我和其他人的经验(http://webster.cs.ucr.edu/Page_TechDocs/pe.txt),PE/COFF规范文档错误地声称序数表中包含的出口地址表索引是相对的到Ordinal Base,甚至给出了一个不正确的例子(第5.3节).实际上,Ordinal Table中的索引是基于0的索引到正常情况下的Ordinal Base = 1的地址表中.我在VS Studio生成的PE库和系统库(如Kernel32.dll)中看到了这一点.

我的问题是,你有没有观察过一个带有Ordinal Base的二进制数不等于1?我想知道这是一个off-by-one错误,还是Ordinal Base从未应用于Ordinal Table条目.

dll reverse-engineering portable-executable dllexport

7
推荐指数
1
解决办法
1706
查看次数

带有完整调试器的Game Boy模拟器?

作为我一直在做的工作的一部分来回答关于神奇宝贝红色故障的技术工作的问题,我一直在寻找一种方法来使用标准调试器来调试Game Boy ROM.虽然我发现的许多仿真器都有一些调试支持,但到目前为止我发现的任何东西都没有用.

作为背景,截至目前我已尝试使用Visual Boy Advance内置功能进行调试,但它们对我正在尝试的内容并不是特别有用.VBA缺乏设置断点的能力,并且因为它在帧的级别而不是指令上向前迈进,所以当我真正需要它时,我无法看到代码是如何执行的.虽然VBA说它支持GDB调试,但我完全无法让它工作.我尝试按照说明交叉编译GDB for ARM,但无法让GDB连接到仿真器(它会认识到有一个程序要连接,但报告说该协议已被违反).我在使用Cygwin的Windows和Ubuntu Linux上都取得了类似的成功.我和朋友试图使用Insight/GDB,但遇到了完全相同的问题.

我也尝试使用NO $ GBA调试器,但它拒绝为PokémonRed加载我的ROM(然后侮辱我说我不能尝试做的任何事情都会修复它,因为文件只是完全错误).

此外,我尝试下载此版本的Visual Boy Advance声称其中有一个调试器,但由于某种原因我无法启用它来启用调试器.按照说明按F11无效.

我相信我已经完成了我的尽职调查,试图让调试器工作,我很惊讶他们中没有一个工作过.有没有人知道使用标准调试技术调试Game Boy游戏的简单,直接的方法?我最感兴趣的是能够在内存中写入断点(看看什么例程破坏了内存的某些部分).如果有第一手经验的人可以提供有关如何执行此操作的详细信息,我将非常感激,因为有关该主题的在线资源似乎非常有限.

debugging reverse-engineering gameboy

7
推荐指数
3
解决办法
1万
查看次数

"相对虚拟地址",相对于什么?

我刚刚阅读了关于它们在磁盘上的文件中的偏移,RVA和VA一旦被加载到内存中.我还读到,如果一个PE文件完全像在磁盘中一样加载到内存中,那么RVA将与文件偏移相同(并且发生这种情况将是非常不寻常的).

我怀疑的是 - 在正常情况下,这些RVA相对于什么?特定PE数据结构的开始?

编辑:通过PE数据结构我的意思是 - PE头,DOS头,DOS存根,PE文件头,图像可选头,节表和数据目录.

windows file-format reverse-engineering portable-executable

7
推荐指数
1
解决办法
3392
查看次数

逆向工程?

我有*.ipa文件,它是iphone应用程序.

  • 是否可以在ipa中使用逆向工程并提取代码..?

iphone reverse-engineering ios ipa

7
推荐指数
1
解决办法
4248
查看次数

如何修改已编译的DLL中的函数

我想知道是否可以"编辑"已经编译的DLL中的代码.

IE想象有一个叫做sum(a,b)inside 的函数Math.dll可以添加两个数字ab

假设我丢失了我的DLL的源代码.所以我唯一拥有的是二进制DLL文件.有没有办法我可以打开那个二进制文件,找到我的函数所在的位置,并用sum(a,b)例如另一个返回乘法ab(而不是和)的例程替换例程?

在摘要中,编辑二进制代码文件是否可行?

也许使用像ollydbg这样的逆向工程工具?

c++ windows dll reverse-engineering disassembly

7
推荐指数
1
解决办法
2万
查看次数

对私有 RESTful API 进行逆向工程?

有没有办法对私有 RESTful API 进行逆向工程?

比如说,我有一个使用此 API 的网站,并且我能够找出该 API 的一些访问点 URL。现在,对于这些 url,我需要弄清楚它会排除哪个 JSON 有效负载。有没有一种有条不紊的方法来做到这一点?

api rest json reverse-engineering

7
推荐指数
1
解决办法
7875
查看次数

用于将类文件转换为Java源代码的Eclipse插件

当源不可用时,是否有可用于反编译类文件的Eclipse插件(从.class文件生成.java源代码),类似于Resharper在VS.NET中为C#做的事情?或者,是否有一个插件可以比默认的Eclipse视图更友好地查看类文件的API?

java eclipse decompiling eclipse-plugin reverse-engineering

7
推荐指数
0
解决办法
3万
查看次数

Jboss Hibernate工具:读取错误模式 - 可能是JDBC驱动程序问题

您好我正在尝试使用JBoss Hibernate Tools进行逆向工程.我正在使用eclipse luna来自eclipse市场的最新hibernate jboss工具.当我尝试配置hibernate工具配置时,配置完成后,当我展开树并展开database节点时,它会生成以下错误:

<Reading Schema Error: Could not get list of suggested identity strategies from database. Probably a JDBC Driver Problem>
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

org.hibernate.exception.SQLGrammarException: Could not get list of suggested identity strategies from database. Probably a JDBC driver problem. 
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
at org.hibernate.cfg.reveng.dialect.MySQLMetaDataDialect.getSuggestedPrimaryKeyStrategyName(MySQLMetaDataDialect.java:55)
at org.hibernate.cfg.reveng.JDBCReader.processPrimaryKey(JDBCReader.java:429)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:86)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter$2.execute(LazyDatabaseSchemaWorkbenchAdapter.java:126)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:107)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.readDatabaseSchema(LazyDatabaseSchemaWorkbenchAdapter.java:115)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:65)
at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:106)
at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:238)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check …
Run Code Online (Sandbox Code Playgroud)

java jboss hibernate reverse-engineering

7
推荐指数
1
解决办法
1万
查看次数

逆向设计iMac上的"目标显示模式"

我有一个带有几个老式iMac的计算机实验室(大约在2011年).大多数人现在只想将它们用作笔记本电脑的显示器,而在MacOS中使用目标显示模式,这(大部分)工作正常.

但是,我也想在Linux下支持这个功能,Linux安装在与MacOS并行的所有iMac上.我对Linux内核相当熟悉(我已经编写了内核驱动程序),但我基本上不了解MacOS - 因此,我正在寻找关于如何确定TDM实际触发方式的指针(即 Cmd 之后会发生什么)-F2被按下).

我猜这主要涉及编写一些英特尔GPU寄存器,但我不知道MacOS的哪一部分实际负责.任何提示?

linux macos reverse-engineering

7
推荐指数
1
解决办法
3883
查看次数

如何利用npm审核?

TLDR:是否可以将漏洞检测功能npm audit作为一种静态服务而不是当前的CLI实施来利用?

npm在针对节点安全平台(NSP)漏洞数据库的每个安装请求上提供自动漏洞扫描,并在您尝试使用不安全代码的情况下警告您。此外,npm audit递归地分析您的依赖关系树,以明确识别不安全的内容,建议替换或使用npm审核修复程序自动对其进行修复。

此功能很棒,我希望能够在Web应用程序中利用此漏洞扫描功能。那我为什么要这样做呢?

似乎大多数公司都托管一个内部JFrog存储库,该存储库需要不断更新和维护,以反映npmjs。但是,一种更有效的方法(在我看来)是使用mitmproxy创建一个简单的Web应用程序嵌入其中。然后,此Web应用程序将更像是代理,其功能将允许其基于自定义业务逻辑和/或npm审核漏洞报告的发现来过滤npm请求。这样做的好处是允许用户自定义其风险评估容忍度,并利用npmjs分发所请求的库。结果,这将使公司不再需要托管任何内部JFrog实例,并且有可能通过使npmjs处理所述库的托管来降低成本。

下面列出的是npm audit报告的一部分:

$ npm audit
Run Code Online (Sandbox Code Playgroud)

审计报告样本:

                        === npm audit security report ===  

#                            ...  Removed unnecessary details                                                                                 

# Run  npm install jquery@3.4.1  to resolve 1 vulnerability
????????????????????????????????????????????????????????????????????????????????
? Moderate      ? Prototype Pollution                                          ?
????????????????????????????????????????????????????????????????????????????????
? Package       ? jquery                                                       ?
????????????????????????????????????????????????????????????????????????????????
? Dependency of ? jquery                                                       ?
????????????????????????????????????????????????????????????????????????????????
? Path          ? jquery                                                       ?
????????????????????????????????????????????????????????????????????????????????
? More info     ? https://nodesecurity.io/advisories/796                       ?
????????????????????????????????????????????????????????????????????????????????


found …
Run Code Online (Sandbox Code Playgroud)

reverse-engineering node.js npm npmjs npm-audit

7
推荐指数
1
解决办法
3259
查看次数