问题标签 [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.

0 投票
2 回答
1999 浏览

android - 如何让“安卓解锁”应用更安全地抵御破解?

对于我的应用程序的付费版本,我选择解锁器应用程序路线,因为它易于实现,允许在开发者控制台中进行单独的统计,但主要是因为我不需要维护 2 个代码库(一个用于免费版本和另一个用于付费版本)。即使我使用了 CVS(我确实这样做了),继续合并功能和错误修复仍然会让人头疼。解锁器应用程序整体上更容易实现......

但这有一个严重的缺点,很容易超过安全检查;除非我在这里遗漏了什么。

无论我做什么,这样的实现总是会导致一个简单的if,像这样:

isPremiumVersion()方法负责检查付费解锁应用程序安装的所有工作,如果证书匹配等等。是的,解锁器应用程序受 LVL 保护(虽然我读过一些文章提到 LVL 是多么不安全,但这不是现在的重点)。但最终,无论里面的代码isPremiumVersion()变得多么复杂,它总是导致返回一个truefalse值。

覆盖此类安全功能只是对代码进行逆向工程并使其始终返回的问题true。不是吗?我们如何保护我们的 Android 应用免受这种情况的影响?是的,代码被 ProGuard 混淆了。不过,对于足够熟练的人来说应该不会太难。

请注意,我不是想和饼干打架,我们根本就赢不了。我不会为此失眠,在“完美解决方案”上浪费无数时间。我只是在寻找一种让它更安全的方法。至少在理论上,这似乎很容易破解。我错了吗?

有什么想法可以提高此类功能的安全性吗?

0 投票
2 回答
3827 浏览

assembly - 在 WinDbg 中编辑程序集

我一直在尝试使用 WinDbg解决一些“crackmes”(来自http://crackmes.de )。我看过的大多数解决方案都涉及使用 Olly Dbg 对程序集进行修改。有没有办法在 WinDbg 中做到这一点?

0 投票
1 回答
3464 浏览

search - 在 WinDBG 中搜索“所有引用的文本字符串”

在 Olly Dbg 中,有一个搜索“所有引用的文本字符串”的选项。有没有办法在 WinDBG 中做类似的事情?

到目前为止,我已经尝试了以下方法:

然而,这会返回大量垃圾。关于如何将其减少为更易于管理的字符串列表(以及可能引用它们的位置?)的任何想法,就像 Olly 所做的那样?

0 投票
3 回答
30920 浏览

windows - OllyDbg 在 Windows 7 x64 中不起作用

Windows 7 x64 和 OllyDbg 1.10

我刚开始学习调试技术,并尝试使用 OllyDbg 调试一个名为“crack_me.exe”的演示程序。但我遇到如下问题:

我在 'crack_me.exe' 中设置了一个断点并按 F9 运行程序,但 Windows 会提示一个对话框(我的操作系统是中文的):
让我崩溃

一般含义:
crack_me.exe 已停止工作。
Windows 可以连接到 Internet 并找到解决此问题的方法。

  • 连接到 Internet 以查找解决方案并关闭程序
  • 关闭程序
  • 调试程序

如果我选择第三个选项,那么 Windows 会说: 在此处输入图像描述

一般含义:
crack_me.exe 附加了调试器,但调试器未设置为调试未处理的异常。如果要调试此异常,则必须分离当前调试器。

我选择忽略所有异常 Ollydbg 设置,如下图所示: 在此处输入图像描述

我只想知道为什么会出现这个问题以及如何解决它。预计所有回复。谢谢你。


奇怪的是,今天这个问题再次发生,即使是同一个应用程序,crack_me.exe。这次我没有安装任何插件,但 Windows 仍然会提示 crash_me.exe(与其他应用程序相同)崩溃。为什么昨天Olly正常工作,今天又出现问题?

0 投票
1 回答
1260 浏览

byte - 破解一些 exe 文件 - 如何删除字节

今天我试图从 EXE 文件中删除一些字节。

在 EXE 中,我找到了 EXE 需要加载的文件的路径。我想更改路径,为此我必须删除一些../../字符。当我这样做并保存文件时,它会丢失它的图标,并且当我尝试执行它时会显示“win32 未知格式错误” 。

如果我不删除这些字节而是将它们替换为0,则图标不会丢失,并且文件看起来正确。然而,路径不正确。

因此,看起来当我删除字节时,文件内其他信息的位置丢失了,包括资源(图标)。删除这些字节后,我需要添加其他 6 个字节,以保持其他数据的大小和位置相同。我应该在哪里做?如果我在文件末尾添加这些字节,它就不起作用。你能给我一些线索吗?谢谢!

0 投票
1 回答
1211 浏览

portable-executable - 修补(合并)两个不同的二进制文件(x86 PE)时修复 IAT 和重新定位的最佳方法?

首先 - 您好,感谢您阅读本文,

我有一个 DLL,我没有源代码,但需要在其中添加一些功能。

我使用 Visual Studio 编写了另一个用 C 语言实现所有这些所需功能的 DLL。

现在我需要将这个新 DLL 生成的代码插入到目标 DLL 中(必须在文件级别完成{而不是在运行时})。

我可能正在目标 DLL 上创建一个新的 PE 部分,并将我制作的 dll 中的所有代码/数据/rdata 放在那里。问题是我需要以某种方式修复 IAT 和相对于目标 DLL 上新插入的代码的重定位。

我的问题是:

最好的方法是什么?

如果 Visual Studio 能提供一个选项来仅使用(大部分)相对寻址进行构建,那就太好了——这在处理重定位时会为我节省很多。我想我可以将我所有的变量和常量封装到一个结构中,希望 MSVC 只需要重新定位这个“容器”结构的地址并使用相对寻址来访问它的成员。但不知道这是不是一个好主意。

我什至可以通过创建一个函数指针来进一步摆脱 IAT,该函数指针将动态加载所需的功能模块(一种延迟加载模块)。再一次,把这个函数指针放在我之前说的“容器”结构中。

我的最后一个选择是手工制作,手动编辑十六进制的二进制文件......我真的不想这样做,因为每个 IAT 条目和 reloc 条目都需要一些好时间来完成. 前段时间我已经编写了一个 PE 文件加密器,所以我知道大部分内部工作原理并且知道它可以完成,只是想知道你的想法,也许已经存在一个工具来帮助我?

任何建议都非常感谢!

再次感谢您花时间阅读本文!

0 投票
5 回答
18809 浏览

security - 暴力破解 PBKDF2 的速度有多快?

在linkedin密码散列泄漏之后,我一直在查看我们的密码散列。我们使用 Django 1.4,它使用 PBKDF2,它很棒,比之前的 SHA1 更上一层楼。

但是我很好奇一个人可以很容易地暴力破解它。我正在查看我们的密码复杂性规则,并且想知道执行(例如)8 个长度的小写 ascii 字母需要多快。

这份破解 LinkedIn 密码哈希的指南,有人在 GPU 上每秒执行 4.3 亿次 sha1 哈希。http://erratasec.blogspot.ie/2012/06/linkedin-vs-password-cracking.html PBKDF2 你会得到什么样的速度?

有没有人有任何粗略的/粗略的/粗略的数字来说明一个人可以多快地暴力破解 PBKDF2?

0 投票
2 回答
1630 浏览

c# - 保护网络流量 c#

我正在用 C# 开发一个程序。它连接到 Internet 以查看此副本是否有效。

目前,如果密钥有效,我只是发送许可证密钥并获得响应(0 或 1)。

问题是一些用户只是用一些数据包捕获工具伪造数据并重放它。所以应用程序很容易被破解。我怎样才能防止这种情况?

这是我本质上想要防止的:

  • 网络重放攻击
  • 身份验证“模拟器”

应该不可能找出发送了哪些数据。也许我应该添加当前时间然后加密数据包?所以总是不一样?

注意:请不要警告我,通过修改应用程序本身很容易破解。我知道。这个问题只是关于网络部分。

0 投票
6 回答
13601 浏览

c# - 如何保护 .Net exe 免受反编译/破解

我真的很难过,因为几天前我们推出了使用 .Net 4.0(桌面应用程序)开发的软件。3天后,它的破解在互联网上可用。我们试图保护软件不受此影响,但人们以某种​​方式破解了它。

场景如下:当应用程序第一次启动时,它会与 Web 服务器通信并检查用户传递的凭据。如果凭据正确,软件会将值保存在注册表中,将 MachineID 发送回服务器并将其存储在数据库中。

现在,黑客已经用“return true”代替了服务器通信;声明(我使用 Telrik JustDecompile 进行了检查)。他已经将破解软件上传到互联网上。

现在,以下是我的问题:
1- 如何确保.Net 应用程序不会被破解?
2-黑客现在知道我的代码,因为他已经完成了修改。我应该采取什么步骤?
3-我在互联网上阅读了有关-混淆器的信息。但是黑客知道我的代码我该怎么办?
4-我可以使用任何其他专业提示来避免软件被破解吗?
5-我不确定,但这些反射器软件是否也可以反编译带有敏感数据的 App.Config ?

0 投票
1 回答
547 浏览

c# - Securing Desktop Application by adding logic to WebService

I recently launched my desktop application and it got cracked after a few days. I posted a question on stack overflow and people said that i cannot stop that. In the start of the software i cannot allow this to happen and i want a solution. So, following is what i am thinking.

Currently, I have desktop application that communicates with the web server to verify the user. Once the user is verified it saves the values in Registry. The hacker has bypassed the communication code and added fake values in registry and he can use my software now.

Now, i am planning to take some of my code from MAIN features of the software to a WEB SERVICE hosted somewhere else on a web server. Whenever the software needs to run that feature the software will give a call to the WEB SERVICE with the values in REGISTRY. I will verify those values and return the results. But if the values will not match my database then i will reject the call.

So, my questions is:
1- Do you think this solution is feasible ?
2- According to my thinking, it will make the software useless to the hacker. What do you think ?
3- Any flaws in this solution ?