程序设计

专业和发烧友程序员的问答

24
保护可执行文件免受逆向工程?
我一直在考虑如何保护我的C / C ++代码免于反汇编和逆向工程。通常,我永远不会在自己的代码中宽恕这种行为。但是,为了所有人的安全,我目前正在研究的当前协议绝不能被检查或理解。 现在,这对我来说是一个新主题,互联网对于预防逆向工程并不是真正有用的资源,而是描述了大量有关如何进行逆向工程的信息 到目前为止,我想到的一些事情是: 代码注入(在实际函数调用之前和之后调用伪函数) 代码混淆(破坏二进制文件的反汇编) 编写我自己的启动例程(调试器很难绑定到) void startup(); int _start() { startup( ); exit (0) } void startup() { /* code here */ } 运行时检查调试器(如果检测到,则强制退出) 功能蹦床 void trampoline(void (*fnptr)(), bool ping = false) { if(ping) fnptr(); else trampoline(fnptr, true); } 没有意义的分配和释放(堆栈变化很多) 无意义的虚拟呼叫和蹦床(拆卸输出中的大量跳跃) 吨铸件(用于模糊拆卸) 我的意思是,这是我想到的一些事情,但是在适当的时间范围内,代码分析人员可以解决所有这些问题,或者可以由代码分析人员弄清楚这些问题。我还有别的选择吗?
210 c++  c  obfuscation  assembly 


13
如何在Google Chrome浏览器的嵌入式Javascript中设置断点?
当我在Google Chrome浏览器中打开开发人员工具时,我看到了各种功能,例如“个人资料”,“时间轴”和“审核”,但是缺少诸如在js文件以及html和javascript代码中设置断点的基本功能!我尝试使用JavaScript控制台,该控制台本身是有问题的-例如,一旦遇到JS错误,除非刷新整个页面,否则我无法摆脱它。有人可以帮忙吗?

9
在哪些方面使用F#比使用C#更合适?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 在过去的几年中,F#已经发展成为Microsoft完全支持的语言之一,它采用了在OCaml,ML和Haskell中孕育的许多想法。 在过去的几年中,C#通过引入越来越多的功能语言功能来扩展其通用功能:LINQ(列表理解),Lambda,闭包,匿名代表等等。 鉴于C#对这些功能特性的采用以及F#作为一种不纯净的功能语言的分类法(它允许您访问框架库或在需要调用某个函数时更改共享状态),尽管这两种语言都有其相似之处,但它们之间还是有很强的相似性与自己相反的主要重点。 我对您的生产多语言程序中采用这两种语言的任何成功模型以及您过去一年左右用F#编写的生产软件(Web应用程序,客户端应用程序,服务器应用程序)中的领域感兴趣,用C#编写。
210 c#  f# 


13
.NET反射的成本是多少?
我不断地听到要使用多么糟糕的反射。虽然我通常会避免反思,很少发现没有它无法解决我的问题的情况,但我想知道... 对于那些在应用程序中使用反射的人,您是否衡量了性能方面的影响,真的那么糟糕吗?

9
JavaBean和POJO有什么区别?
我不确定有什么区别。我正在使用Hibernate,在某些书中,它们使用JavaBean和POJO作为可互换术语。我想知道是否有区别,不仅在Hibernate上下文中,而且在一般概念上。
210 java  terminology  pojo 

9
Java中的日历日期为yyyy-MM-dd格式
如何将日历日期转换为yyyy-MM-dd格式。 Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 1); Date date = cal.getTime(); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); String date1 = format1.format(date); Date inActiveDate = null; try { inActiveDate = format1.parse(date1); } catch (ParseException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } 这将产生inActiveDate = Wed Sep 26 00:00:00 IST 2012。但是我需要的是2012-09-26。我的目的是使用Hibernate条件将此日期与数据库中的另一个日期进行比较。所以我需要yyyy-MM-dd格式的日期对象。
210 java  date  calendar  converter 



4
为什么用Func <T,bool>代替Predicate <T>?
这只是一个好奇心问题,我想知道是否有人对以下问题有一个很好的答案: 在.NET Framework类库中,我们有例如以下两种方法: public static IQueryable&lt;TSource&gt; Where&lt;TSource&gt;( this IQueryable&lt;TSource&gt; source, Expression&lt;Func&lt;TSource, bool&gt;&gt; predicate ) public static IEnumerable&lt;TSource&gt; Where&lt;TSource&gt;( this IEnumerable&lt;TSource&gt; source, Func&lt;TSource, bool&gt; predicate ) 他们为什么使用Func&lt;TSource, bool&gt;代替Predicate&lt;TSource&gt;?似乎Predicate&lt;TSource&gt;仅由List&lt;T&gt;和使用Array&lt;T&gt;,而Func&lt;TSource, bool&gt;几乎所有Queryable和Enumerable方法以及扩展方法都使用...,这是怎么回事?
210 c#  .net  predicate  func 

4
createScaledBitmap的过滤器参数做什么?
的声明android.graphics.Bitmap.createScaledBitmap是 public static Bitmap createScaledBitmap (Bitmap src, int dstWidth, int dstHeight, boolean filter) 但是,文档没有解释任何参数。除了以外,所有其他都很明显boolean filter。有人知道它做什么吗?
210 android  scaling 

4
ElasticSearch入门指南
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 没有关于ElasticSearch的书(据我所知),并且http://www.elasticsearch.org/guide/似乎只包含参考。 有什么好的初学者指南或教程,可能是通过示例,特别是在不同的映射和索引策略方面,值得推荐吗?

9
Rails:response_to块如何工作?
我正在阅读Rails入门指南,并对6.7节感到困惑。生成支架后,我在控制器中找到以下自动生成的块: def index @posts = Post.all respond_to do |format| format.html # index.html.erb format.json { render :json =&gt; @posts } end end 我想了解response_to块实际上是如何工作的。格式是什么类型的变量?是格式对象的.html和.json方法吗?该文件对 ActionController::MimeResponds::ClassMethods::respond_to 没有回答问题。

5
使用CSS截断长字符串:可行吗?
有没有什么好方法可以用纯HTML和CSS截断文本,以使动态内容适合固定宽度和高度的布局? 我一直在通过逻辑宽度(即盲目猜测的字符数)来截断服务器端,但是由于'w'比'i'宽,所以这往往不是最佳选择,并且还要求我重新猜测(并不断调整)每个固定宽度的字符数。理想情况下,截断将发生在浏览器中,该浏览器知道渲染文本的物理宽度。 我发现IE的text-overflow: ellipsis属性完全可以满足我的要求,但是我需要它能够跨浏览器。该属性似乎是(某种程度上)标准的,但Firefox不支持。我发现了各种 基于的变通办法overflow: hidden,但是它们要么不显示省略号(我希望用户知道内容已被截断),要么一直显示(即使内容未被截断)。 有没有人能以固定的布局来适合动态文本的好方法,还是服务器端的逻辑宽度截断是否和我现在想要的一样好?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.