标签: reverse-engineering

如何查看Silverlight DLL的源代码

我有一个Silverlight 4 Datagrid控件的DLL.我怎样才能看到源代码?

任何帮助将不胜感激.

silverlight reverse-engineering silverlight-4.0

2
推荐指数
1
解决办法
2926
查看次数

我是否有办法从现有数据库生成SQL脚本?

说我已经创建了我的数据库但是忘了保存sql命令来创建它.

我如何从现有数据库中反向设计代码?

我正在使用Microsoft SQL Server Express 2008.

sql-server reverse-engineering sql-server-2008

2
推荐指数
1
解决办法
92
查看次数

有没有办法从.app文件中反向设计Xcode项目?

这个话题说明了一切.我这里有一个.app文件,但我不再使用Xcode项目了.有没有办法从中获取.app文件和反向工程Xcode项目,以便我可以查看用于制作它的代码?

iphone xcode reverse-engineering .app

2
推荐指数
1
解决办法
4315
查看次数

"任何CPU"是如何实现的?

"任何CPU"如何在低级别实施?

是不是有两种格式:PE32和PE64?Windows x86和x64都可以运行32位.但是,它不是通过在32位内部使用64位可执行文件并在内存中运行它来实现的,因为这个过程将具有与启动器不同的ID.那他们是怎么做到的?

.net winapi assemblies reverse-engineering

2
推荐指数
1
解决办法
307
查看次数

逆向工程与反编译

我正在考虑学习汇编语言,以获得逆向工程恶意软件的专业知识.我的问题是,当市场上有复杂的反编译器时,是否值得学习逆向工程的汇编语言(六角射线的反编译器非常好,据我所知).

虽然反编译不会重现原始代码,但它仍然降低了在汇编语言中理解代码的复杂性.那么,通过查看汇编代码,是否有任何强有力的理由尝试进行逆向工程?

谢谢.

assembly decompiling reverse-engineering

2
推荐指数
2
解决办法
1196
查看次数

iOS:如何修改.app文件?

我要解压缩iOS .app文件,然后插入我的代码,然后重新打包回ipa文件.

你能否提出一些指示如何做到这一点?

macos reverse-engineering ios

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

无法绑定()Apple Calendar中的套接字(dylib注入)

我正在尝试按照本指南检查Reveal上的iOS 8.1的Apple Calendar(MobileCal.app).

为此,我正在注入libReveal.dylib哪个启动自己的HTTP服务器,OS X Reveal应用程序连接到该服务器.

这种技术适用于大多数iOS系统应用程序(电话,便笺,提醒等),但日历中的某些内容阻止了HTTP服务器的设置.

当日历运行时,libReveal.dylib正确注入,但我在日志中看到这个:

MobileCal [5110]:错误:启动HTTP服务器时出错:错误域= NSPOSIXErrorDomain代码= 1"不允许操作"UserInfo = 0x17426aa40 {NSLocalizedDescription =不允许操作,NSLocalizedFailureReason = bind()函数错误}

MobileCal [5110]:错误:显示服务器无法启动时出现错误:错误域= NSPOSIXErrorDomain代码= 1"操作不被允许"UserInfo = 0x17426aa40 {NSLocalizedDescription =不允许操作,NSLocalizedFailureReason = bind()函数错误}

关于什么可以阻止HTTP服务器在日历中设置的任何想法?我注意到MobileCal.app捆绑包有一个Entitlements.plist文件,而大多数其他系统应用程序没有.这个问题可能与权利文件有关吗?


我也联系了Reveal的支持,他们反应灵敏,但无法确定导致问题的原因.使用RevealLoaderfrom Cydia会产生相同的结果.

reverse-engineering objective-c dylib jailbreak ios

2
推荐指数
1
解决办法
1092
查看次数

导入表,导入地址表和导入名称表之间有什么区别?

在反汇编/转储exe时,我在.idata导入部分中得到三个表:

  • 进口表(IT)
  • 导入地址表(IAT)
  • 导入名称表(INT)

我理解IAT和INT是什么,但更准确的是什么?

有人可以提供解释,因为各种PE教程令人困惑.我并不完全理解他们描述的这些官方结构名称在这个特定数据上的位置.

这里的提示/答案会有所帮助

示例PE文件部分

SECTION .idata  align=4 noexecute                       ; section number 3, data 

Import_table:                                           ; dword 
    db 50H, 30H, 00H, 00H, 00H, 00H, 00H, 00H       ; 00403000 _ P0...... 
    db 00H, 00H, 00H, 00H, 0ACH, 30H, 00H, 00H      ; 00403008 _ .....0.. 
    db 68H, 30H, 00H, 00H, 58H, 30H, 00H, 00H       ; 00403010 _ h0..X0.. 
    db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 00403018 _ ........ 
    db 0C0H, 30H, 00H, 00H, 70H, 30H, 00H, …
Run Code Online (Sandbox Code Playgroud)

winapi reverse-engineering coff disassembly portable-executable

2
推荐指数
2
解决办法
1480
查看次数

Binwalk不从二进制文件中提取文件

我正在使用binwalk,它的查找文件,但事后我没有提取任何内容,并且没有问题.这些不是文件吗?

babak@G750JHA ~/Desktop $ binwalk -Me ./Cottonelle.bin

Scan Time:     2016-06-18 23:19:58
Target File:   /home/ubuntu/babak/Desktop/Cottonelle.bin
MD5 Checksum:  f330370ed549c30bb301b42e7363ce32
Signatures:    345

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
16560         0x40B0          PEM RSA private key
18608         0x48B0          PEM certificate
20484         0x5004          PEM certificate
32944         0x80B0          PEM RSA private key
34992         0x88B0          PEM certificate
36868         0x9004          PEM certificate
301529        0x499D9         Certificate in DER format (x509 v3), header length: 4, sequence length: 177
414737        0x65411         Boot section Start 0x42423242 End 0x0
414741        0x65415         Boot section Start 0x0 End …
Run Code Online (Sandbox Code Playgroud)

reverse-engineering

2
推荐指数
1
解决办法
6907
查看次数

调试器和cpu仿真器不检测自修改代码

问题:

我制作了一个自我修改其字节之一的elf可执行文件.它只是将1更改为1.当我正常运行可执行文件时,我可以看到更改成功,因为它完全按预期运行(更多关于更进一步下来).调试时出现问题:调试器(使用radare2)在查看修改后的字节时返回错误的值.

语境:

我做了一个逆向工程挑战,受到了最小精灵的启发.您可以在那里看到"源代码"(如果您甚至可以称之为):https://pastebin.com/Yr1nFX8W.

汇编和执行:

nasm -f bin -o tinyelf tinyelf.asm
chmod +x tinyelf
./tinyelf [flag]
Run Code Online (Sandbox Code Playgroud)

如果标志是正确的,则返回0.任何其他值表示您的答案是错误的.

./tinyelf FLAG{wrong-flag}; echo $?
Run Code Online (Sandbox Code Playgroud)

...输出"255".

!解决方案SPOILERS!

可以静态反转它.完成后,您会发现通过执行此计算可以找到标志中的每个字符:

flag[i] = b[i] + b[i+32] + b[i+64] + b[i+96];
Run Code Online (Sandbox Code Playgroud)

...其中i是字符的索引,b是可执行文件本身的字节.这是一个ac脚本,可以在没有调试器的情况下解决问题:

#include <stdio.h>

int main()
{
    char buffer[128];
    FILE* fp;

    fp = fopen("tinyelf", "r");
    fread(buffer, 128, 1, fp);

    int i;
    char c = 0;
    for (i = 0; i < 32; i++) {
        c = buffer[i];

        // handle self-modifying code
        if …
Run Code Online (Sandbox Code Playgroud)

python debugging assembly reverse-engineering self-modifying

2
推荐指数
1
解决办法
266
查看次数