我计划为游戏编写一个自动机器人.
棘手的部分是弄清楚他们如何编码他们的协议......为了使机器人易于运行,只需让角色运行并记录它在wireshark中的作用.然而,解释环境更加困难......如果你闲置,它每秒收到大约5个数据包,因此有很多装饰.
我的计划:因为游戏是在TCP下运行的,所以我将使用freecap(http://www.freecap.ru/eng)强制游戏连接到我机器上运行的代理.我将需要此代理能够进行数据包注入,或者可能需要能够重新发送捕获的数据包的服务器.通过这种方式,我可以重新创建并修改服务器发送的内容,并了解其协议编码.
或者,有没有更好的方法来破译这里?可能是一种解决策略(通过挂钩winsock函数并从那里开始反汇编)?我之前没有这样做,所以我不确定.或者,还有其他想法吗?
这个问题恰恰相反,哪个Javascript minifier(cruncher)做了一个Google用于其JS API的东西?
我想了解谷歌是如何加载的,所以我可以用非流行的JS工具包构建我自己的.
寻找工具(windows平台)从现有的Oracle数据库中生成ER图(或类似的).
有哪些好的工具可以免费使用或成本低廉?
oracle reverse-engineering data-modeling documentation-generation er-diagram
假设对通用CPU架构(例如:x86)上的汇编有一个很好的理解,那么如何才能探索逆向工程领域的潜在路径(职业,乐趣和利润等)?那里的教育指南很少,所以很难理解今天它有什么潜在的用途(例如:正在寻找仍然常见的缓冲区溢出漏洞,或者堆栈监控程序是否使这一点成为现实?).我不是在寻找任何一步一步的程序,只是一些相关的信息,如有关如何有效地找到程序的特定区域的提示.交易中的基本内容.以及它目前用于今天的东西.
那么回顾一下,目前逆向工程产量目前的用途是什么?如何才能找到一些关于如何学习交易的基本信息(同样,它不必一步一步,只需通过线索就可以提供任何帮助).
我想调用驻留在第三方.exe中的函数并获取其结果.似乎应该有一种方法,只要我知道函数地址,调用约定等...但我不知道如何.
有谁知道我会怎么做?
我意识到任何解决方案都是非标准的黑客攻击,但必须有办法!
我的非恶意用例:我正在为我的软件逆向工程文件格式.这个函数的计算过于复杂,我的小脑子无法弄清楚; 我已经能够将汇编代码直接拉到我自己的DLL中进行测试,但当然我无法释放它,因为那样会被窃取.我将假设用户已预先安装了此特定应用程序,因此我的软件将运行.
TL; DR
我试图将这个问题作为一个简短的问题,但这是一个复杂的问题所以它最终会变长.如果您可以回答这方面的任何部分或提供任何建议或提示或资源或任何内容,那将非常有帮助(即使您没有直接解决我的所有问题).我现在正撞在墙上.:)
以下是我遇到的具体问题.请阅读下面的更多信息.
到目前为止我的方法
我正在尝试以特定的[未记录的]专有格式创建一个重定位文件,该格式主要基于ELF.我编写了一个工具,它接受一个ELF文件和一个部分链接文件(PLF)并处理它们以输出完全解析的rel文件.此rel文件用于根据需要加载/卸载数据以节省内存.该平台是一个32位PPC.一个问题是该工具是用c#编写的,但数据是针对PPC的,因此需要注意有趣的endian问题等.
我一直试图了解在用于解析未解析的符号等时如何处理重定位.到目前为止我所做的是从PLF复制相关部分,然后对于每个相应的.rela部分,我解析条目并尝试修复部分数据并根据需要生成新的重定位条目.但这就是我的困难所在.我离开了我的元素,这种事情似乎通常是由链接器和加载器完成的,所以没有很多好的例子可以借鉴.但是我发现了一些有帮助的东西,包括这一个.
所以发生的事情是:
我这样做的全部原因是因为有一个旧的过时不支持的工具不支持使用自定义部分,这是该项目的关键要求(出于内存原因).我们有一个自定义部分,其中包含一堆我们想要在启动后卸载的初始化代码(总计大约一兆).现有工具只是忽略该部分中的所有数据.
因此,虽然制作支持自定义部分的自己的工具是理想的,但如果有任何明智的想法以实现这一目标的另一种方式,我全都耳朵!我们已经提出了将.dtor部分用于我们的数据的想法,因为它几乎是空的.但这很麻烦,如果它阻止干净关闭,可能无论如何都无法工作.
重定位加示例代码
当我处理搬迁,我工作过的公式和信息在ABI文档中发现的HERE(约4.13节,第80ish),以及一些我已经挖出了其他代码示例和博客文章.但是这一切都让人感到困惑,并没有真正拼写出来,而且我发现的所有代码都有所不同.
例如,
所以,当我看到这种代码时,我该如何解读呢?
这是一个例子(来自这个来源)
case ELF::R_PPC64_ADDR14 : {
assert(((Value + Addend) & 3) == 0); …Run Code Online (Sandbox Code Playgroud) 我正在尝试对二进制文件进行逆向工程,以下指令让我感到困惑,有人可以澄清这究竟是什么吗?
=>0x804854e: repnz scas al,BYTE PTR es:[edi]
0x8048550: not ecx
Run Code Online (Sandbox Code Playgroud)
哪里:
EAX: 0x0
ECX: 0xffffffff
EDI: 0xbffff3dc ("aaaaaa\n")
ZF: 1
Run Code Online (Sandbox Code Playgroud)
我看到它在某种程度上以每次迭代递减1次ECX,并且EDI沿着字符串的长度递增.我知道它会计算字符串的长度,但至于它是如何发生的,以及为什么"al"涉及到我不太确定.
我想知道如何在ida pro中编辑二进制文件(我只需要更改一条指令!)
(它的ARM二进制文件)
谢谢
我打算制作一些通过互联网销售的软件.我之前只创建过开源,所以我真的不知道如何保护它免受破解和分发为warez.请记住,我知道两个程序既没有破解或没有真正有用,我认为唯一或多或少可靠的方式可能如下所示:
你怎么看待这件事?这似乎有点限制,但我最好先减少销售,然后最终免费下载我的宝贝杀手级应用程序.无论如何,首先我需要一些基本的理论/教程/指南,关于如何确保用户只使用某个Java应用程序,如果他已付费,所以请建议一些.
谢谢
通过Google Chrome浏览器,您可以使用自己的Google帐户登录以同步书签和设置.然后将这些书签与我的帐户一起存储在他们的服务器上.
我想为书签创建另一个客户端.请注意,我对从硬盘读取本地书签文件不感兴趣.相反,我想直接连接在线服务器.
因此,我需要访问Chrome用于同步的相同API.有没有办法找出如何使用该API?
assembly ×2
x86 ×2
api ×1
arm ×1
binary ×1
bookmarks ×1
c ×1
commerce ×1
elf ×1
encoding ×1
encryption ×1
er-diagram ×1
java ×1
minify ×1
obfuscation ×1
opcode ×1
oracle ×1
protection ×1
relocation ×1
symbol-table ×1
sync ×1
unminify ×1
windows ×1