标签: reverse-engineering

如何在exe或dll中隐藏字符串?

我发现可以从二进制文件中提取硬编码字符串.
例如,Process Explorer的属性视图显示超过3个字符的所有字符串.

这是我编写的简单可执行文件的代码,只是为了测试它:

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif
#include <stdio.h>
#include <tchar.h>
#include <Windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
    _TCHAR* hiddenString1 =_T("4537774B-CC80-4eda-B3E4-7A9EE77991F5");
    _TCHAR* hiddenString2 =_T("hidden_password_or_whatever");
    for (int i= 0; i<argc; i++) {
        if (0 == _tcscmp(argv[i],hiddenString1)) {
            _tprintf (_T("The guid argument is correct.\n")); }
        else if (0 == _tcscmp(argv[i],hiddenString2)) {
            _tprintf (_T("Do something here.\n")); }
    }

    _tprintf (_T("This is a visible string.\n"));
    //Keep Running
    Sleep(60000);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

字符串可以清楚地从相应的可执行文件中提取:
替代文字

我认为找到字符串有点太容易了.

我的问题是:

  1. 如何简单地隐藏hiddenString1 …

c++ security obfuscation defensive-programming reverse-engineering

31
推荐指数
5
解决办法
2万
查看次数

如何复制保护我的Java应用程序?

我想用PayPal销售我的Java应用程序.收到付款后,客户会通过邮件向我的应用程序发送一次性下载链接.

我的问题是,如何阻止人们将.jar文件发送给他们的朋友/上传到互联网上?

显然我需要在应用程序中进行某种检查,只允许它在一台计算机上运行.这是另一个问题,我不希望客户在一台计算机上有限制,他们应该能够在家里和工作中运行它等.

也许某种cd-key可以解决这个问题?那里有Java的任何cd-key资源吗?或者我应该建立自己的算法?这是另一个问题,逆向工程..

请帮帮我解决这个:)

java licensing cracking reverse-engineering copy-protection

30
推荐指数
3
解决办法
3万
查看次数

使用objdump反汇编平面二进制文件

我可以使用objdump反汇编平面二进制文件吗?

我熟悉使用以下方法反汇编结构化二进制可执行文件,例如ELF文件:

objdump -d file.elf
Run Code Online (Sandbox Code Playgroud)

但是,如果我有一个我知道应该加载的平面二进制文件,例如地址0xabcd1000,我可以请求objdump反汇编吗?我尝试提供诸如'--start-address = 0xabcd1000'之类的选项,但是objdump只是声明它不能识别格式.

我有关于如何反汇编文件的其他想法,但我想知道objdump是否可以提供一个简单的解决方案.

reverse-engineering objdump disassembly

30
推荐指数
2
解决办法
5万
查看次数

串行发电机/裂缝是如何形成的?

我的意思是,我总是想知道如何有人可以开发算法来打破/欺骗许多共享软件程序中合法使用的限制.

只是为了好奇.

cracking reverse-engineering

29
推荐指数
3
解决办法
3万
查看次数

序列图逆向工程

我正在寻找一种工具,可以将Java反向工程为序列图.但也提供了过滤掉某些库调用的功能.

例如,Netbeans IDE在这方面做得非常出色,但它包括对String或Integer的所有调用,这会使图表混乱到无法使用的程度.

任何帮助是极大的赞赏!!!!!!!

java uml reverse-engineering sequence-diagram

27
推荐指数
4
解决办法
3万
查看次数

反转MD5哈希

可能重复:
是否可以解密md5哈希?

我使用密码存储在数据库中md5,并且想知道是否有办法扭转哈希,以便在忘记密码时将用户的密码通过电子邮件发送给他.

如果这不是最合适的方法,处理丢失密码的适当方法是什么?

security md5 reverse-engineering

27
推荐指数
0
解决办法
2万
查看次数

如何防止我的代码被盗?

当我启动.NET exe时会发生什么?我知道C#被编译为IL代码,我认为生成的exe文件只是启动运行时并将IL代码传递给它的启动器.但是怎么样?它的过程有多复杂?

IL代码嵌入在exe中.我认为它可以从内存中执行而不将其写入磁盘,而普通的exe不是(好的,是的,但它非常复杂).

我的最终目标是提取IL代码并编写我自己的加密启动器,以防止scriptkiddies在Reflector中打开我的代码并轻松窃取我的所有类.好吧,我无法完全阻止逆向工程.如果他们能够检查内存并抓住我将纯IL传递给运行时的那一刻,那么无论是否是.net exe都没关系,是吗?我知道有几个混淆器工具,但我不想弄乱IL代码本身.

编辑:所以似乎不值得尝试我想要的.无论如何他们都会破解它...所以我会寻找一个混淆工具.是的,我的朋友也说,将所有符号重命名为无意义的名称就足够了.毕竟逆向工程并不那么容易.

.net c# cil reverse-engineering managed

27
推荐指数
5
解决办法
2万
查看次数

这些javascript混淆器如何生成实际的工作代码?

这个这个,他们都生成完全不可读的代码,一个比另一个更可爱.

现在,我不是Javascript的专家,但我没有看到如何

????= /??´?? ~???   //*´??*/ ['_']; o=(???)  =_=3; c=(???) =(???)-(???); (???) =(???)= (o^_^o)/ (o^_^o);(???)={???: '_' ,???? : ((????==3) +'_') [???] ,???? :(????+ '_')[o^_^o -(???)] ,????:((???==3) +'_')[???] }; (???) [???] =((????==3) +'_') [c^_^o];(???) ['c'] = ((???)+'_') [ (???)+(???)-(???) ];(???) ['o'] = ((???)+'_') [???];(?o?)=(???) ['c']+(???) ['o']+(???? +'_')[???]+ ((????==3) +'_') [???] + ((???) +'_') [(???)+(???)]+ ((???==3) +'_') [???]+((???==3) +'_') [(???) - (???)]+(???) ['c']+((???)+'_') [(???)+(???)]+ (???) ['o']+((???==3) +'_') [???];(???) ['_'] =(o^_^o) [?o?] [?o?];(???)=((???==3) +'_') [???]+ (???) .????+((???)+'_') [(???) + …
Run Code Online (Sandbox Code Playgroud)

javascript obfuscation reverse-engineering

27
推荐指数
4
解决办法
2975
查看次数

如何解压缩,编辑和压缩android apk

我有一个Android apk,我删除了我的源代码,没有再次项目,我想更改旧apk的版本代码.我的问题是我如何解压缩和重新包装apk,所以我可以使用.我正在使用mac系统.我看到很多东西用于windows但我找不到mac.我需要帮助

reverse android reverse-engineering

27
推荐指数
3
解决办法
5万
查看次数

如何分析二进制文件?

我有一个二进制文件.我不知道它是如何格式化的,我只知道它来自delphi代码.

是否存在分析二进制文件的任何方式?

是否存在任何"模式"来分析和反序列化具有未知格式的文件的二进制内容?

binary serialization code-analysis reverse-engineering

26
推荐指数
6
解决办法
6万
查看次数