标签: reverse-engineering

如何删除 ELF 文件中的节头表?

我是 ELF 二进制保护的新手。

我想删除节头表以避免调试。

我尝试通过运行 readelf -h 来查找磁盘上的节头表偏移量,并尝试 nop 它们,但它们都是 0。

如何删除节标题表?

提前致谢。

linux reverse-engineering elf

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

android Room 数据库存储敏感数据安全吗?

我正在一个项目中工作,我必须将数据从服务器获取到本地数据库。我正在考虑房间数据库,它是 android Jetpack 组件的一部分(我猜)。我在堆栈溢出中搜索了很多关于在房间中存储数据是否安全的信息?,但他们都不能满足我。虽然互联网上没有什么是安全可靠的,但我只是想破解房间数据库的可能方法是什么?

简而言之,我只想知道将数据本地存储在 Room 数据库中是否安全?请问有人可以告诉我 Room 数据库是否安全吗?或者有人如何通过逆向工程获得房间数据库?

security android reverse-engineering android-room

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

装配展示台

我四处寻找一个程序集可视化工具,类似于正则表达式网站如何向您展示它的解释,或者 BF(语言)可视化工具向您展示它如何通过堆栈,在线某个地方是否有类似的程序集?

Brainfuck 示例: https: //fatiherikli.github.io/brainfuck-visualizer/

assembly reverse-engineering machine-code

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

如何读取这段Rust代码的汇编代码?

我正在尝试阅读一段 Rust 汇编代码,但实际上,它比 C/C++ 编译器生成的 ASM 代码更难阅读。那么,如何分析下面这段Rust代码的ASM代码呢?

fn main() { 
    let closure = |x| println!("{}", x);
    let x: fn(x: i32) -> () = closure; 
    println!("{}", x as i32);
}
Run Code Online (Sandbox Code Playgroud)

相应的汇编代码如下所示,并带有一些注释(我只粘贴了主要部分,完整版本请使用此永久链接:https://play.rust-lang.org/ ?version=nightly&mode=release&edition=2018&gist=e7ba4844f1ce6e881912dc074152988d ):

playground::main: # @playground::main
# %bb.0:
    subq    $72, %rsp
    leaq    core::ops::function::FnOnce::call_once(%rip), %rax
    movl    %eax, 4(%rsp)
    leaq    4(%rsp), %rax
    movq    %rax, 8(%rsp)
    movq    core::fmt::num::imp::<impl core::fmt::Display for i32>::fmt@GOTPCREL(%rip), %rax
    movq    %rax, 16(%rsp)
    leaq    .L__unnamed_2(%rip), %rax  # the contents of rdx come from .L__unnamed_2(%rip), how to evaluate this part?
    movq    %rax, …
Run Code Online (Sandbox Code Playgroud)

assembly reverse-engineering x86-64 rust

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

Ghidra 是否误解了函数调用?

在分析 Ghidra 中的程序集列表时,我偶然发现了这条指令:

CALL dword ptr [EBX*0x4 + 0x402ac0]=>DAT_00402abc

我假设程序正在调用一个地址位于 inside 的函数DAT_00402abc,我最初认为它是一个双字变量。事实上,当尝试在 is 所在的位置创建函数时DAT_00402abc,Ghidra 不会让我这样做。

反编译器向我显示这行代码来翻译该指令:

(*(code *)(&int2)[iVar2])();

所以我想知道这是什么意思以及程序应该用这个调用做什么?有没有可能吉德拉彻底搞砸了?如果是这样,我应该如何解释该指令?

c x86 decompiling reverse-engineering ghidra

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

这段代码的作用和使用地点

Denis Yurichev 的逆向工程挑战 #10 https://challenges.re/10/中有这样一段 asm 代码片段

优化 GCC 4.8.2:

这段代码很短,但是很棘手。它有什么作用?它在低级编程中大量使用,并且为许多低级程序员所熟知。有多种计算方法,这就是其中之一。

f:
lea eax, [rdi-1+rsi]
neg esi
and eax, esi
ret
Run Code Online (Sandbox Code Playgroud)

在 C 语言中,这段代码看起来像这样:

(a+b-1) & (-b)
Run Code Online (Sandbox Code Playgroud)

请帮我弄清楚这段代码的作用以及它的用途

我对 a 和 b 运行了几个测试值,但没有看到模式

c algorithm assembly reverse-engineering x86-64

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

了解现有perl代码的方法?

我有一些perl代码(约300-500行),我必须再次工作.我的编程经验有限,通常如果我编码我只是找到对我有意义的最佳解决方案.在这种情况下,我必须使用此代码,因为它是为现有的遗留系统构建的,其代码是系统的布线,逻辑和渲染的文档.这不是很多代码,但我也无法发布甚至大块的代码或数据来获得帮助.什么是理解语法,它正在做什么,如何连接代码,逻辑如何模型等的最佳方法.

问题,反馈,评论 - 只是评论,谢谢!

documentation perl reverse-engineering

1
推荐指数
3
解决办法
249
查看次数

试图逆向工程我的应用程序,但得到一些奇怪的文件树

我丢失了去年我建立的所有应用程序的代码(雷击我的硬盘,没有备份任何应用程序).由于它们是相当简单的应用程序,我将它们置于逆向工程过程中.我已经在过去几十次这样做了,每次我都没有任何问题(如果我们不计算工作时间将所有文件整合到一个项目中).我已经完成了在硬盘耗尽期间丢失的3个应用程序.他们几乎完美地逆转了,但我被困在了这个.

我们来详细介绍一下.逆向工程进展顺利.我能够从APK中提取的编码XML文件中获取XML代码.我也能够成功地从中反编译Java代码classes.dex.我得到所有文件可读,然后我可以通过文本编辑器打开/查看.

但我有一个奇怪的文件结构奇怪的文件名.项目文件位于通常的路径中src/com/mycompanyname/appname.在RI处理之后,一些文件保留在主路径中(R.java第三方广告文件和其他一些文件),而所有其他文件都被重新映射到文件结构中,如下所示:

a.java
b.java
c.java
...
z.java

我写的所有文件都被重命名并获得了这些奇怪的名字,而所有第三方文件都保持不变.

问:有谁可以告诉我这可能是什么原因?

问:在将代码编译成APK之前,Eclipse是否以某种方式混淆了代码?这是混淆的APK在通过IR流程后的样子吗?

我真的希望有人能够帮助我,因为我仍然需要重建超过10个其他应用程序.它

java android reverse-engineering dex

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

加密字符串并阻止iOS中的逆向工程

我正在构建一个iPhone应用程序,我目前需要加密一个字符串,将其存储在一个文件中,以后能够解密它.据我所知,我可以使用对称加密来做到这一点,但我的加密/解密密钥可以反向设计.非对称加密可以解决这个问题,但似乎我需要一台服务器来发送数据以使用私钥解密.有谁知道我可以在一个独立的应用程序中安全地加密/解密字符串的方式?

谢谢!

iphone encryption reverse-engineering objective-c

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

IDA pro脚本将所有指令提取到汇编文件中

我正在寻找一些IDA pro脚本来提取所有指令并将它们写入汇编文件,这可以重新组装

谁能给我一些帮助?

谢谢!

assembly reverse-engineering ida disassembly

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