Photoshop有很多很酷的艺术过滤器,我很想了解底层算法.
一个特别有趣的算法是Cutout过滤器(上面链接中的数字2).
它有三个可调参数,级别数,边缘简洁性和边缘保真度.级别的数量似乎推动了直接的分色算法,但其他滑块在技术上做到了什么.
我认为他们正在做一些与Vornoi图或k-means分割有关的事情,但在维基百科上四处寻找并没有导致任何明显映射到Photoshop正在做的事情,特别是考虑到过滤器渲染自身的速度.
Photoshop滤镜的技术说明是否有任何来源?或者,您对如何实现此特定过滤器有任何想法吗?
language-agnostic photoshop algorithm reverse-engineering image-processing
您可以通过反射找到关于应用程序内部的大量内容,它由.NET BCL(基类库)公开,它使得检索任何.NET方法的实际IL变得微不足道.
维基百科上的逆向工程:
逆向工程是通过分析其结构,功能和操作来发现设备,对象或系统的技术原理的过程.
反思肯定会满足作为结构的分析.但是,您在哪里划分内省与实际逆向工程之间的界限?从法律角度来看,反思逆向工程是什么?
我在这里有一个很好的问题.
有一个名为reg.exe的实用程序已经与Windows一起提供了很长时间.从脚本导入.reg文件,从脚本修改值等等非常方便.所以在为脚本场景制作副本时("为什么不在system32中使用副本?" - >软件限制策略,个人首选等等)我注意到重命名它会让它无声地失败:
Windows Server 2008 x64:
Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.
C:\Windows\system32>reg.exe
ERROR: Invalid syntax.
Type "REG /?" for usage.
C:\Windows\system32>copy reg.exe reg2.exe
1 file(s) copied.
C:\Windows\system32>reg2.exe
C:\Windows\system32>reg2.exe /?
C:\Windows\system32>reg.exe /?
REG Operation [Parameter List]
Operation [ QUERY | ADD | DELETE | COPY |
SAVE | LOAD | UNLOAD | RESTORE |
COMPARE | EXPORT | IMPORT | FLAGS ]
Return Code: (Except for REG COMPARE)
0 - Successful
1 …Run Code Online (Sandbox Code Playgroud) 你知道在Eclipse或Maven(不是在Javadoc中)从多个项目的Java代码和Hibernate映射创建UML图的任何好的逆向工程工具吗?
谢谢
我的项目针对的是低成本,低资源的嵌入式设备.我依赖于一个相对庞大且庞大的Python代码库,我对其API的使用非常具体.
我希望通过在Ned Batchelder的覆盖范围或figleaf等覆盖工具中执行我的测试套件,将这个库的代码恢复到最低限度,然后在各种模块/文件中删除未使用代码的脚本.这不仅有助于理解库的内部结构,还可以使编写任何补丁更容易.Ned实际上是指使用覆盖工具在他的一次在线会谈中"反向工程"复杂的代码.
我对SO社区的问题是,人们是否有以这种方式使用覆盖工具的经验,他们不介意分享?有什么陷阱?是覆盖工具是不错的选择?或者我会更好地投入时间与figleaf?
最终游戏是能够基于原始树自动生成库的新源代码树,但仅包括运行nosetests时实际使用的代码.
如果有人开发了一个为他们的Python应用程序和库做类似工作的工具,那么获得一个开始开发的基线是非常好的.
希望我的描述对读者有意义......
这里的一些答案表明,调试信息可以更容易地对软件进行逆向工程.当我使用Visual C++并使用调试信息分发可执行文件但没有其他文件(.pdb)时,它是否包含任何有趣的东西?
我用十六进制编辑器查看了可执行文件,发现没有像符号名称那样,现在我假设.exe文件只链接到.pdb文件中的信息,对吧?
你知道它是否包含
我见过一些将.apk文件反转为基本文件的应用程序.我想知道在哪里可以找到.apk文件的官方规范,但我无处可去!如果没有正式的规范,有人可以告诉我们在哪里看,以及有关规范的最佳资源是什么?
我有一个编译器,可以为未记录的VM编译未记录的字节码.我希望能够编译到同一个VM,但我不知道如何去做这个.我该如何学习呢?有没有人发表过他们做同样事情的日志或期刊?
编辑:我忽略了提到这是LEGO Mindstorms 的RobotC 3.0编译器.在任何人提出别的建议之前,我都知道关于nXc和类似项目的所有内容,而且他们不是一个选择,因为我正在帮助一个FIRST FTC机器人团队,只允许使用RobotC或LabView.
对于那些建议我以编译器语言为目标的人,我还没有这样做,因为我希望固件会暴露出编译器未公开的某些硬件功能,因为我想要比RobotC允许的更多自定义内存管理.
我应该选择NASM或MASM来学习装配.我想学习装配,动力是逆向工程.
因此,当我反汇编一些可执行文件时,我可以通过查看反汇编代码来理解代码.
更新:我认为我的自我清楚......我理解那些是汇编程序,但要理解反汇编程序的输出我需要知道汇编,这就是我要问从哪里开始的原因(使用MASM或NASM)
我想100%保护我的应用程序并且不希望黑客进入内部.
这些是我从Stack Overflow中找到的解决方案.
在应用程序中集成Proguard.
在C/C++中保留代码中最重要的部分.
使用NDK将代码本机编写到.So文件中.
使用MD5加密api密钥.
那么有没有其他方法可以完全保护我的Android应用程序免受黑客攻击,或者这是上述提到的最佳解决方案.
这些是我发现的参考文献