问题标签 [cracking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 防止绕行功能。避免开裂
Check
有一个使用 DLL函数检查激活的应用程序。Check
如果应用程序被激活,则返回 1,否则返回 0。我使用 MS detours lib 进行函数挂钩,创建了简单的应用程序和包含函数(始终返回 1)的简单应用程序和 DLL ,该函数具有与我的版本MyCheck
相同的签名和迂回函数。Check
显然它可以工作并且应用程序被成功破解,所以我需要避免它。
我试图
Check
直接调用函数(通过指定确切的地址),甚至不使用GetProcAddress
,但看起来 detours lib 正在修改函数体本身,而不是导出表。}
然后我尝试读取函数体,我发现绕道后 MD5 校验和与原始校验和不同。所以我试图读取内存中DLL的全部内容并检查它以确认DLL内容没有改变,但它也不起作用。它抛出
AccessViolationException
。Process.EnterDebugMode();
ProcessModule 模块 = Process.GetCurrentProcess().MainModule; 字节[] 数据 = 新字节[module.ModuleMemorySize]; Marshal.Copy(module.BaseAddress, data, 0, module.ModuleMemorySize);
我在这里使用了 MainModule,但它对Process.GetCurrentProcess().Modules
集合中的每个模块都给出了相同的错误。
我将不胜感激,我不一定希望以我描述的一种方式解决它,任何好的解决方案都是可以接受的。
谢谢。
cracking - 为什么软件保护中的 ECSDA 签名很有用?因为它们可以被跳过
我正在读一些书,并提到所谓的 ECDSA(椭圆曲线数字签名算法)用于生成难以破解的序列号
我的理解是,我们总是可以静态/动态分析程序集并将这些 JMP 代码更改为我们想要的(破解)。为什么我们要花费巨大的精力来生成复杂的序列号?对我来说听起来不值得。
android - Lucky Patcher 是否会辞去它修补的应用程序并且 Google API 是否验证 SHA1?
我目前正在开发一个与 Google Drive 交互的应用程序。当您使用 Drive 注册应用程序时,它会要求您提供用于对其进行签名的密钥的 SHA1。在我以前的应用程序中,我没有实现许可库,因为它似乎需要更多的工作,然后它是值得的,而且总是会被修补,我的理论是,如果人们不想付钱,他们就不会付钱,我可以在其他地方更有建设性地利用我的时间。
然而,Drive 要求密钥的 SHA1 的事实让我想知道,当发出请求以确保它来自使用正确密钥签名的应用程序时,它是否会对此进行验证?
如果是这样,那么像lucky patcher 这样的修补应用程序是否会退出该应用程序,这实际上会使该应用程序发出的任何请求无效,从而使其无法在云端硬盘中使用?
谢谢。
ios - 如何保护我的 iOS 应用程序不被破解?
我有 0.99 美元的 iOS 应用程序,恐怕有人想破解它。如何保护我的应用免受破解?
cuda - GPU KDF 哈希(而不是饼干)
所以我一直在关注 GPU 破解者,它们令人印象深刻。我看过一些文章说有人每秒获得多达 3840 亿个密码。我们一直在使用带有随机盐的 PBKDF2,而不是只使用一次哈希,但它肯定会占用你的 CPU。我想知道是否可以使用 NVIDIA Cuda 之类的东西以更快、更分散的方式运行 PBKDF2 或类似的东西,而不是破解者?有没有人尝试过这样做?
debugging - 如何使用 ollydbg 'Run trace' 临时创建的线程?
我有一个定期创建线程的进程。该线程通过套接字发送和接收信息。每次创建该线程时如何跟踪它?
algorithm - 关于加密的问题
我打算重新发明轮子。我通过例子学到了很多东西。这是您在回答时应该考虑的重要信息。 这不是家庭作业,它纯粹是一个业余项目。
现在,我听说过模数数学。我试图用它来制作一个不可破解的(按照今天的技术标准)。
我有不止一个问题:
- 如何让加密更难破解(非对称)
- 随机数或模式(例如,有一套标准,不是随机的),为什么或为什么不。
- 这个公式是否易受攻击:
a = (未知素数)
b =(未知素数)
c =(未知素数)
d = (a ^ b) 模 c
如果 d = 9,你能得到 a、b 和 c 吗?不要蛮力它,而是实际上制定一个公式来扭转它。如果可以,请发布。
这是制作钥匙、种子或类似性质的东西的好方法吗?为什么或者为什么不?
无论如何,回答你所理解的,最好的答案会被标记为如此,而且是公平的!
另外,如果可以的话,请给我参考密码学文本(免费)。
python - 通过 python 脚本启动 John the Ripper
所以,是的,我一直在研究一个从 Mac 中提取密码哈希的 python 脚本。现在我想把它提升到一个新的水平,破解它。经过一些快速研究,我找到了开膛手约翰(http://www.openwall.com/john/)并决定尝试使用它。(注意:我尝试过其他软件,但没有一个能够破解我的测试哈希。问题是,当我尝试启动 john the ripper 时,它失败了。(我使用的是一些自定义的 mac 1.7.3 版本,还没有尝试更新,我不想更新)当前脚本(经过大约 1 000 000 次更改和重试:
现在我得到的错误是:
帮我解决这个问题,让我免于精神错乱!真诚的,杜克。
一些快速说明:
- Output__ 是我的测试哈希,已经让提取哈希部分工作。
- 如果您有一个使用除 John 之外的任何其他 Hashcracker 的解决方案,那就更好了!只要它可以使用单词表或蛮力。
- 哈希是 SHA1
谢谢!
android - 应用程序可以保密吗?
给定的服务器 API 应该可供所有未经授权的用户公开访问,但请求应该只允许来自一个特定的应用程序。
理论上,这应该通过拥有应用程序HMAC-sign all API requests
以及让服务器正确发布和存储来完成nonces
(以避免重放攻击)。
问题::
是否有任何已知的方法可以让移动应用程序对秘密进行切片、切块、切分和异或运算,以使黑客和破解者很难(如果不是不可能的话)检索密钥?
assembly - 在已编译的可执行文件中更改 tcp 数据包标头的简单方法?
我有可执行文件(可能用 c++ 编写),它使用 tcp 和 windows 套接字(win sock api)连接到服务器端软件。
然后它发送带有标题的数据包(例如标题是两个字节0x0064),登录名和密码。然后开始它与服务器的交互。
我想更改登录数据包头,例如,从 0x0064 更改为 0x0065。
当然,我总是可以使用 WPE(winsock 数据包编辑器)之类的嗅探器在我的 PC 上更改它,或者我可以使用带有套接字发送函数包装器的 Microsoft Detours 编写 dll,并在程序启动之前将其注入,但我必须检查每个数据包将要发送,知道它有 0x0064 标头,它正是我要更改的数据包。
所以,我的问题是 - 是否有任何简单的方法可以使用这个数据包头找到变量(我相信他们只是在构建数据包时对其进行硬编码,就像在 sprintf 中一样),并且只是在不学习汇编程序的情况下在 HEX 编辑器中更改一个字节?也许有很好的教程/crackme 示例与解决方案将解释如何做到这一点?
任何建议都会有所帮助。谢谢!