编程黑洞网
首页
编程
数据库
代码审查
网络应用
Android
wordpress
软件推荐
软件工程
逆向工程
信息安全
软件质量测试
地理信息
密码学
网站管理员
元堆栈交换
网络工程
操作系统
Ubuntu
计算机
Unix和Linux
服务器故障
Vi和Vim
运维
物联网
机器人
树莓派
计算机图形学
信号处理
自动将x86程序集转换为C
逆向工程
|
2020-12-30
|
编程黑洞网
|
0条评论
|
558 人阅读
刚开始使用x86汇编,然后慢慢掌握了它。 IDA生成了不错的图形,使跟踪所有跳转和函数调用以及其他操作变得更加容易。是否可以合理地接受大量指令,并在Java或C中重现相同的逻辑。我想对于某些人来说,经过多年的训练后,在某种程度上它变得比日常的琐事更多。
评论
我之前看到的一个示例是一个简单的XOR加密算法,出于某种原因使用了64 KB密钥。那不是您要手动输入的内容...
反编译不是那么简单,最复杂的事情是重建在编译过程中丢失的程序的高级结构(变量,函数,模块/类等)。
@perror我在考虑更多的子例程和底层结构。例如,在深入研究调试器之后,我精确定位了执行某种操作的子例程集,这就是我所需要的。哦,除了涉及一百万条指令。
您可以在IDA中使用反编译器来生成C文件。但是它没有包含在IDA的免费版本中。
#1 楼
是的,这种工具称为反编译器
以下几个示例: br /> SmartDec
可重新定向的反编译器
#2 楼
还有asm2c,它可用于汇编源代码而不是可执行文件或目标文件。
从(Windows)对话框返回后,如何查找调用的子例程(或下一条指令)?
是否可以(启发式)识别剥离的ELF中主要功能的开始地址?
标签列表
java
(11)
r
(3)
r-faq
(3)
javascript
(17)
jquery
(3)
asynchronous
(2)
php
(17)
mysql
(7)
sql
(3)
html
(2)
regex
(2)
arrays
(2)
variables
(3)
warnings
(2)
language-agnostic
(2)
c++
(9)
c++-faq
(8)
parsing
(2)
debugging
(5)
c
(3)
error-handling
(3)
python
(10)
pandas
(3)
android
(3)
list
(3)
最近发表
IP地址错误的错误掩码
在Cisco IOS中自动进行配置备份(每分钟)
VRRP和HSRP有什么区别?
IP地址如何映射到MAC地址?
网站可以识别我的MAC地址吗?
在STP中如何选择根桥?
为什么要使用三根以太网电缆将交换机连接到路由器?
为什么10.1.255.255是无效的广播地址?
为什么将IP地址分配给每个接口而不是设备?这将意味着什么?
为什么Visual Studio 2013不愿意运行我的Web性能/负载测试?
对测试代码了解太多会不利吗?
如何隔离错误?
如何使用Selenium和WebDriver清除localStorage
评估测试项目
我如何说服管理层我们需要一个正式的质量保证部门?
FluentWait与WebDriverWait有何不同?
简历和求职建议-从开发到测试的职业转变
您如何等待Selenium 2中的jQuery Ajax调用完成
在持续开发下测试应用程序
Selenium的页面加载默认超时是多少?
IT项目中软件测试的真正商业价值是什么?
系统测试与系统集成测试(SIT)有何不同?
如何找到我们的“质量保证流程”的弱点?
测试人员应如何处理生产中发现的错误?
如果我不使用TDD但想过渡到敏捷,那我应该回去创建那些单元测试吗?
代码覆盖率和测试覆盖率有什么区别?
当团队想要忽略关键但难以重现的错误时,我应该如何应对
测试人员应该修复错误吗?
审核测试自动化代码的良好实践
质量检查人员应该能够编写测试代码吗?
随机文章
使用JavaScript在Safari中触发键盘事件
INT 2D取证方法
钩端/功能中间
比光快Ping
MongoDB上的分片和复制之间的区别
Openlayers动画示例和算法
apt和apt-get有什么区别?
在本地复制大型目录树? cp还是rsync?
如何创建可以在频率之间平滑过渡的正弦波发生器
如何防止扩展坞在macOS Catalina或Big Sur中切换显示器?
评论
我之前看到的一个示例是一个简单的XOR加密算法,出于某种原因使用了64 KB密钥。那不是您要手动输入的内容...反编译不是那么简单,最复杂的事情是重建在编译过程中丢失的程序的高级结构(变量,函数,模块/类等)。
@perror我在考虑更多的子例程和底层结构。例如,在深入研究调试器之后,我精确定位了执行某种操作的子例程集,这就是我所需要的。哦,除了涉及一百万条指令。
您可以在IDA中使用反编译器来生成C文件。但是它没有包含在IDA的免费版本中。