Ghidra是一个软件逆向工程(SRE)框架,包括一套功能齐全的高端软件分析工具,使用户能够在各种平台上分析编译后的代码,包括Windows、Mac OS和Linux。功能包括反汇编,汇编,反编译,绘图和脚本,以及数百个其他功能。Ghidra支持各种处理器指令集和可执行格式,可以在用户交互模式和自动模式下运行。用户还可以使用公开的API开发自己的Ghidra插件和脚本。下载安装官方网站是https            
                
         
            
            
            
            动态库、静态库的区别就是是否编译时加入二进制可执行程序。-fPIC生成与位置无关的代码加了fPIC 实现真正意义上的多个进程共享 so文件。多个进程引用同一个 PIC 动态库时,可以共用内存。这一个库在不同进程中的虚拟地址不同,但操作系统显然会把它们映射到同一块物理内存上。对于不加 fPIC,则加载so 文件时,需要对代码段引用的数据对象需要重定位,重定位会修改代码段的内容,这就造成每个使用这个s            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-06 16:59:14
                            
                                196阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            0、前言想要执行gcc - g wk9_20191314.c -o 9week -m32命令时显示找不到必要文件说明缺少库函数,使用如下命令安装库函数:sudo apt-get install libc6-dev-i386用到的指令b main:设置行断点,在main函数处设置断点
i r:查看当前寄存器的值
disassemble:反汇编当前的函数机器码
si:汇编命令,下一步
display            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-08 10:56:56
                            
                                158阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近看《加密与解密》这本书,他的第一个例子是用查找字符串的方式完成的,但是现在很多软件无法用这种方法完成。作为一位菜鸟,想研究一下利用API断点的方式完成反编译。就用了这个最简单的序列号保护程序作为练手工具了。 首先打开Ollydbg打开要破解的软件,添加API断点。当然之前已经运行过软件了,大致知道弹窗类型,于是就很自然的选择了MessageBoxA()与MessageBoxW()(因            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-18 19:16:44
                            
                                18阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            反汇编简介概念在传统的软件开发模型中,程序员使用编译器、汇编器、链接器中的一个或者几个创建可执行程序,为了回溯编程过程,可以使用各种工具来撤销汇编和编译过程,这些工具就叫做反汇编器和反编译器。反汇编器:以机器语言作为输入,得到汇编语言形式的输出结果反编译器:以机器语言作为输入,得到高级语言形式的输出结果反汇编面临的困难编译过程会造成丢失:机器语言中没有变量或函数名,只有通过数据的用途来确定。编译属            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-27 23:38:18
                            
                                73阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 打开反汇编窗口:调试模式下,按Ctrl+F11。2. 术语:  2.1 ESP(Extended Stack Pointer): 堆栈指针,寄存器存放当前线程的栈顶指针;  i.e: move ebp, esp -- 用ebp保存当前栈指针;  2.2 EBP(Extended Base Pointer): 基址指针,寄存器存放当前线程的栈底指针;  i.e: push ebp -- 将基址            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-07 17:04:51
                            
                                142阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.  最简单的代码:  
 test1.c
int main(){
     return 1;
}
 
编译、反汇编:  
gcc test1.c
gdb ./a.out
(gdb) disassemble main
 
0x08048344 <main+0>:         lea     0x4(%esp),%ecx    ; 取出 esp 寄存器里的值 , 加上 4 , 将            
                
         
            
            
            
            确定进行反汇编代码区域,这并不像那么简单。通常,指令与数据混杂在一起,区分它们就显得非常重要。反汇编可执行文件:该文件必须符合可执行文件的某种通用格式,如Windows所使用的可移植可执行(Portable Executable, PE)格式或许多Unix系统常用的可执行和链接格式(ELF)。知道指令的起始地址后,下一步就是读该地址(或文件偏移量)所包含的值,并执行一次表查找,将二进制操作码的值与            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-07 17:30:09
                            
                                249阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、应用场景:使用IAR自带的工具对编译生成的out文件进行反汇编操作,不需要使用仿真操作。 2、输入配置:ielfdumparm.exe(\IAR Systems\Embedded Workbench 8.4 EWARM FS 8.50.10\arm\bin) 3、命令:D:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4 EWARM            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-07 12:42:52
                            
                                723阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Ios app防止反汇编
作为一名经验丰富的开发者,我将向你介绍如何实现Ios app的反汇编保护。下面是整个流程的步骤:
```mermaid
journey
    title Ios app反汇编保护流程
    section 准备工作
    小白 ->> 经验丰富的开发者: 请求帮助
    经验丰富的开发者 -->> 小白: 确认可行性
    经验丰富的开发者 ->> 小白            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-29 14:15:50
                            
                                151阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            使用objdump工具objdump -dS libc.so > libc.dump 选项-dS把反汇编指令和源代码穿插起来分析。所以,编译的时候要加用-g选项加调试信息。             
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-24 00:14:20
                            
                                138阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在这篇博客中,我将详细探讨如何进行“Android SO库反汇编”的过程,涵盖背景描述、技术原理、架构解析、源码分析、性能优化和扩展讨论。通过这篇文章,我希望能够系统地展示反汇编过程中的各种技术细节和思考。
## 背景描述
在移动应用开发中,Android Native Library(.so 文件)是提升应用性能的关键部分。随着Android应用的复杂性增加,反汇编和理解这些库的需求也日益增            
                
         
            
            
            
            objdump命令编程开发objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具。选项--archive-headers 
-a 
显示档案库的成员信息,类似ls -l将lib*.a的信息列出。 
-b bfdname 
--target=bfdname 
指定目标码格式。这不是必须的,objdump能自动识别许多格式,比如: 
objdump -b oasys -m vax            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-05 21:03:29
                            
                                116阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            作者: 小生我怕怕分析环境:WIN7sp1所用工具:VC++6.0/OllyDBG/IDA适用人群:有一定计算机基础,熟悉C/C++编程,熟悉X86系列汇编/了解OD/IDA等调试工具使用,对逆向安全有极大兴趣者!开篇前言:       1.何为反汇编?简单来说就是通过读取可执行文件的二进制代码,将其还原为汇编代码的过程。                
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-07 14:35:31
                            
                                421阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            C++的求值运算
    Chinese:1、加法指令是add,执行加法运算时,针对不同的操作数,转换的指令也会不同。2、Debug编译产生的汇编代码是和源码一一对应的,主要建立在调试的基础上做一些优化。而Release编译则是做了更多的优化,为了达到最快的执行效率。3、常用的两种优化方案: 常量传播  和  常量折叠(1) 常量传播将编译期            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-20 21:12:06
                            
                                101阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            arm-linux-objdump -D led.elf > led_elf.dis	objdump是gcc工具链中的反汇编工具,作用是由编译链接好的elf格式的可执行程序反过来得到汇编源代码	-D表示反汇编	> 左边的是elf的可执行程序(反汇编时的原材料),>右边的是反汇编生成的反汇编程序	反汇编的原因有以下:		1.逆向破解。		2.调试程序时,反汇编代码可以帮助我们理解程            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-07 17:05:04
                            
                                173阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具。1. 准备代码hello.c1 #include <linux/module.h> 
 2 #include <linux/init.h>  
 3 #include <linux/kernel.h>
 4  
 5 MODULE_LICENSE("GPL");
 6 MODULE_AUT            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-07 16:46:03
                            
                                377阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            >> debug的使用>>环境配置1:XP系统2:dosbox3: msdos >> debug命令 1:? —— help(帮助,显示所有命令) 2:u[range] —— [range] = [startaddr][endaddr] 或者[startaddr l num]  u - 反汇编: 把机器码转换成汇            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-19 07:27:15
                            
                                861阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            javap       javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。        当然这些信息中,有些信息(如本地变量表、指令和            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-07 12:57:12
                            
                                269阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            #反汇编 使用gcc - g example.c -o example -m32指令在64位的机器上产生32位汇编,然后使用gdb example指令进入gdb调试器: 用gcc在64位机器上编译一个32位的程序,遇到报错,具体如下图: 这是因为编译64位Linux版本32位的二进制文件,需要安装一 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-28 22:20:00
                            
                                786阅读
                            
                                                                                    
                                2评论