可以对二进制文件进行动态反汇编吗?

问题描述

可以对二进制文件进行动态反汇编吗?

可以对二进制文件进行动态反汇编吗?如果可以,怎么实现,求具体方法或算法

解决方案

可以,VS就有这样的功能。汇编不需要什么算法,因为它和机器指令是对应的。比如x86处理器,intel有指令集手册。

解决方案二:

dll也是可以执行的,怎么叫不可执行?只是它不像exe包含程序入口而已。

解决方案三:

不知道你说的仿真监控是仿的什么真,监的什么,控的什么。但是只要你的需求合理,总能实现。

解决方案四:

把DLL用EXE加载起来,然后用OLLYDBG等动态调试。

时间: 2024-08-04 10:25:42

可以对二进制文件进行动态反汇编吗?的相关文章

IDA反汇编/反编译静态分析iOS模拟器程序(一)话说IDA

上个月写了一系列文章<xcode反汇编调试iOS模拟器程序>,是使用xcode来动态反汇编分析iOS模拟器程序的.这个系列则是静态分析,用到IDA来做反汇编/反编译.一些概念不会在此重复,遇到时可回读xcode反汇编系列. 之前有提到一些IDA的常识和下载地址,可看 <IDA Pro权威指南>读书笔记,同时这本书也是更深入挖掘IDA的参考书,只不过书里不会提到Objective-C.本系列使用的是Windows IDA 6.1和Mac IDA 6.4. 详细的关于IDA的介绍还是由

直播兴起的军功章上也有你的一半——Redis实践及在直播行业的应用

以下为直播整理内容. 云数据库Redis是一种稳定可靠.性能卓越.可弹性伸缩的数据库服务:它基于飞天分布式系统和全SSD盘高性能存储,支持主备版和集群版两套高可用架构:并提供了全套的容灾切换.故障迁移.在线扩容.性能优化的数据库解决方案. Redis介绍 Redis的全称是Remote Dictionary Server,它是由Salvatore Sanfilippo写的Key-Value存储系统.但它提供了比Key-Value更为丰富的数据结构,包括Lists.Sets.Ordered Set

VS2013下动态数组二维数组读二进制文件的问题

问题描述 VS2013下动态数组二维数组读二进制文件的问题 int samples_to_read = 7200; uint8_t **caculate_a; int count2,count3; caculate_a = (uint8_t **)malloc(sizeof(uint8_t *)* 3); for (count1 = 0; count1<3; count1++){ //动态数组分配空间 caculate_a[count1] = (uint8_t *)malloc(sizeof(u

Linux Debugging(七): 使用反汇编理解动态库函数调用方式GOT/PLT

     本文主要讲解动态库函数的地址是如何在运行时被定位的.首先介绍一下PIC和Relocatable的动态库的区别.然后讲解一下GOT和PLT的理论知识.GOT是Global Offset Table,是保存库函数地址的区域.程序运行时,库函数的地址会设置到GOT中.由于动态库的函数是在使用时才被加载,因此刚开始GOT表是空的.地址的设置就涉及到了PLT,Procedure Linkage Table,它包含了一些代码以调用库函数,它可以被理解成一系列的小函数,这些小函数的数量其实就是库函数

如何用.net实现动态页面转成二进制文件,用什么方法

问题描述 如题:如何用.net实现动态页面转成二进制文件,用什么方法VS2012中使用HttpWebRequestmyWebRequest=(HttpWebRequest)WebRequest.Create("http://www.XXX.com/x.html");HttpWebResponsemyWebResponse=(HttpWebResponse)myWebRequest.GetResponse();StreamreadStream=myWebResponse.GetRespo

有关“利用反射动态加载.DLL文件,创建该DLL文件中一个类的实例,序列化该实例并保存成二进制文件,读取二进制文件反序列化时出错”紧急求救

问题描述 各位前辈:实在是找不到如何解决这个问题.或者这个问题根本就没有办法解决?stringpath=@"E:Temp.dll";Assemblyassembly=Assembly.LoadFrom(path);AppDomain.CurrentDomain.Load(assembly.GetName());IControllercontroller=null;///遍历程序集中的所有类型:Type[]plugTypes=assembly.GetTypes();foreach(Typ

静态编译与动态编译

静态编译与动态编译的区别 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令.所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源.缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库:二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行. 静态编译就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,

PinDemonium通用动态脱壳工具

一.简介 本文是对16年的blackhat大会上PinDemonium通用动态脱壳工具介绍. 1. 通用脱壳工具简介 通用脱壳工具可以通过以下方法实现: -debuggers -kernel modules -hypervisor modules -Dynamic Binary Instrumentation (DBI) frameworks 其中PinDemonium采用的就是DB的方法. 采用DBI主要原因是: DBI 提供了对待分析二进制文件非常细粒度的控制,可以全面控制程序执行的代码,深

C++反汇编代码分析–函数调用

转载:http://shitouer.cn/2010/06/method-called/ 代码如下:#include "stdlib.h" int sum(int a,int b,int m,int n){ return a+b; } void main(){ int result = sum(1,2,3,4); system("pause"); } 有四个参数的sum函数,接着在main方法中调用sum函数.在debug环境下,单步调试如下: 11:   void