Questions tagged «reverse-engineering»

逆向工程是通过分析其结构,功能和操作来发现人造设备,对象或系统的技术原理的过程。

30
如何避免APK文件的反向工程?
我正在开发适用于Android 的付款处理应用程序,并且我想防止黑客访问APK文件中的任何资源,资产或源代码。 如果有人将.apk扩展名更改为.zip,那么他们可以将其解压缩并轻松访问应用程序的所有资源和资产,并且使用dex2jar和Java反编译器,他们还可以访问源代码。对Android APK文件进行反向工程非常容易-有关更多详细信息,请参见Stack Overflow问题:从APK文件反向工程到项目。 我已经使用了Android SDK随附的Proguard工具。当我反向工程使用签名的密钥库和Proguard生成的APK文件时,我得到的代码很混乱。 但是,Android组件的名称保持不变,某些代码(如应用中使用的键值)保持不变。根据Proguard文档,该工具不能混淆清单文件中提到的组件。 现在我的问题是: 如何完全防止 Android APK的反向工程?这可能吗? 如何保护应用程序的所有资源,资产和源代码,以使黑客无法以任何方式对APK文件进行黑客攻击? 有没有办法使黑客攻击变得更加艰难甚至不可能?我还能做些什么来保护APK文件中的源代码?


30
保护.NET代码免受逆向工程?
混淆是一种方法,但是它不能防止破坏应用程序的盗版保护安全性。如何确保应用程序不受篡改,如何确保注册机制不能进行反向工程? 也可以将C#应用程序转换为本地代码,而Xenocode的成本太高。 C#提供了很多功能,并且是我的代码的理想语言,因此不再需要用C ++编写整个代码库。 可以轻松地从.NET中已签名的程序集中删除安全证书。


14
在应用程序中存储和保护私有API密钥的最佳实践
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 9个月前关闭。 大多数应用程序开发人员会将一些第三方库集成到他们的应用程序中。如果要访问服务(例如Dropbox或YouTube)或记录崩溃。第三方库和服务的数量惊人。大多数这些库和服务通过某种方式与服务进行身份验证来集成,大多数情况下,这是通过API密钥进行的。为了安全起见,服务通常会生成一个公共和私有密钥,通常也称为秘密密钥。不幸的是,为了连接到服务,必须使用此私钥进行身份验证,因此可能是应用程序的一部分。不用说,这面临着巨大的安全问题。可以在几分钟内从APK中提取公共和私有API密钥,并且可以轻松实现自动化。 假设我有类似的东西,我该如何保护密钥: public class DropboxService { private final static String APP_KEY = "jk433g34hg3"; private final static String APP_SECRET = "987dwdqwdqw90"; private final static AccessType ACCESS_TYPE = AccessType.DROPBOX; // SOME MORE CODE HERE } 您认为存储私钥的最佳和最安全的方法是什么?混淆,加密,您怎么看?

28
SQL Server DB中所有索引和索引列的列表
如何获得SQL Server 2005+中所有索引和索引列的列表?我能得到的最接近的是: select s.name, t.name, i.name, c.name from sys.tables t inner join sys.schemas s on t.schema_id = s.schema_id inner join sys.indexes i on i.object_id = t.object_id inner join sys.index_columns ic on ic.object_id = t.object_id inner join sys.columns c on c.object_id = t.object_id and ic.column_id = c.column_id where i.index_id > …


4
从Java项目生成UML类图[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 是否有一个很好的工具可以帮助将Java类反向工程为UML,从而概述了我的类之间的关系?它不需要从JAR文件反编译,因为我有源码。我知道那里有很多,但是其中大多数只能生成单个类。我希望有一个可以生成类图的工具,该工具显示所有当前类和程序包如何协同工作的概述,以便我可以分析当前的体系结构设计。当然,分析是一回事。另一个是出于文档目的。 到目前为止,我知道一些。但是他们不能做概述类图。这是我尝试过并且能够进行反向工程但无法对整个项目进行概述的类图的Java UML工具列表: StarUML(非常好的开源 UML工具,但不能生成概观类图) ArgoUML(缓慢且缓慢,并且不断崩溃) UModel(这是一个商业软件。我之前使用过,但发现很难使用) MS Visio(它不支持Java UML反向工程。仅用于VB) 还有其他建议添加到此列表吗?并希望可以生成概述Java类图。顺便说一下,我正在使用Eclipse。

18
您如何确定网站所基于的技术?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 5年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我经常遇到一个外观漂亮或功能强大的网站,并且想知道使用什么技术来创建它。有哪些技术可以用来确定特定网站的构建? 几乎没有框架像Web编辑器那样包含任何类型的生成器元标记。是否存在特定语言和/或框架的任何迹象? 答案摘要 站点URL可能背叛了框架和/或编程语言,但不能被依赖(例如,文件扩展名,例如.asp)。HTTP响应标头,Cookie,样式表和源注释也可能提供线索。 查询站点详细信息的一些不错的工具(毫无疑问,还有更多): 内建 域工具 网络工艺 W3Techs 类似技术 Firefox插件: Wappalyzer -CMS,框架/库,电子商务,留言板等 域详细信息 -IP,国家和网络服务器详细信息 库检测器 -正在使用的Javascript库 Chrome扩展程序: Wappalyzer 类似技术 PageXray 书签: WTFramework-显示正在使用的Javascript框架

6
什么是iBeacon蓝牙配置文件
我想用一些蓝牙低功耗开发套件来创建自己的iBeacon。苹果尚未发布iBeacon的规范,但是一些硬件开发人员已经从AirLocate示例代码中逆向工程了iBeacon,并开始销售iBeacon开发套件。 那么什么是iBeacon蓝牙配置文件? 低功耗蓝牙将GATT用于LE配置文件服务发现。因此,我认为我们需要了解iBeacon属性的属性句柄,属性类型,属性值,以及属性权限。因此,对于UUID为E2C56DB5-DFFB-48D2-B060-D0F5A71096E0的iBeacon,主要值1和次要值1是什么,那么蓝牙GATT配置文件服务将是什么? 这是我在Apple论坛上的讨论以及通过文档做出的一些假设。 您只需查看蓝牙外围设备的配置文件服务(GATT)即可知道它是iBeacon。 主键和次键在此配置文件服务中的某处编码 以下是一些使用iBeacon开发套件的公司,这些公司似乎已经知道了这一点: http://redbearlab.com/ibeacon/ http://kontakt.io/ 希望我们会及时在Bluetooth.org上发布如下的个人资料:https : //www.bluetooth.org/en-us/specification/adopted-specifications

5
有C ++反编译器吗?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 我有一个丢失了C ++源代码的程序。有没有好的C ++反编译器? 我已经遇到过回旋镖。

1
struct声明末尾的[1]的目的是什么?
我正在窥探MSP430微控制器的头文件,并且在<setjmp.h>以下位置遇到了这个问题: /* r3 does not have to be saved */ typedef struct { uint32_t __j_pc; /* return address */ uint32_t __j_sp; /* r1 stack pointer */ uint32_t __j_sr; /* r2 status register */ uint32_t __j_r4; uint32_t __j_r5; uint32_t __j_r6; uint32_t __j_r7; uint32_t __j_r8; uint32_t __j_r9; uint32_t __j_r10; uint32_t __j_r11; } …

10
如何在内存中找到代表Minesweeper矿井布局的数据结构?
我正在尝试使用Minesweeper作为示例应用程序来学习逆向工程。我已经在一个简单的WinDbg命令上找到了这篇MSDN文章,该命令揭示了所有地雷,但是它很旧,没有任何详细解释,而且实际上不是我想要的。 我有IDA Pro反汇编程序和WinDbg调试器,并且已经将winmine.exe加载到了这两个程序中。有人可以为这两个程序中的任何一个提供一些实用的技巧,以寻找代表雷场的数据结构的位置吗? 在WinDbg中,我可以设置断点,但是我很难想象要在哪个点设置断点以及在哪个内存位置。同样,当我在IDA Pro中查看静态代码时,我不确定从哪里开始寻找代表雷区的函数或数据结构。 在Stackoverflow上有任何反向工程师可以向我指出正确的方向吗?

11
Google的无图像按钮
最近有几篇有关Google的新无图像按钮的文章: http://stopdesign.com/archive/2009/02/04/recreating-the-button.html http://stopdesign.com/eg/buttons/3.0/code.html http://stopdesign.com/eg/buttons/3.1/code.html http://gmailblog.blogspot.com/2009/02/new-ways-to-label-with-move-to-and-auto.html 我非常喜欢这些新按钮在Gmail中的工作方式。如何在网站上使用这些或类似按钮?是否有外观和风格相似的开源项目? 如果我想使用JQuery / XHTML / CSS来滚动自己的按钮包,可以使用哪些元素?我最初的想法是: <input type="button">css的标准,以改善外观(设计文章主要讨论css / imges涉及。) jQuery javascript弹出一个自定义对话框,该对话框植根于“ onclick”事件上的按钮,该对话框中将包含<a>标签和用于过滤的搜索栏?该弹出窗口的表格布局是否合理? 我对Web上的反向工程非常糟糕,可以使用哪些工具来对这些按钮进行反向工程?使用Firefox的Web开发人员工具栏,我无法真正看到在按钮弹出对话框中使用的CSS或JavaScript(即使已缩小)。我可以使用哪种浏览器工具或其他方法来窥视它们并获得一些想法? 我不想盗用Google的任何IP,只是想知道如何创建类似的按钮功能。


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.