手动脱简单的虚拟机壳(themida)

本文详细介绍了一种破解带有反虚拟机技术保护的程序的方法。包括如何修改配置以禁用特定功能、寻找程序的原始入口点(OEP)、修复导入地址表(IAT)以及进行脱壳处理等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.它有反虚拟机 在vm中要修改下配置 配置代码在最后面
2.查找什么写的
手动脱简单的虚拟机壳(themida)
3.找OEP 有下断到 GetVersion 或者找 sub esp,0x58 这里要到401000那去搜索 不然找不到 有可能同时先要程序运行起来
直接搜索没有
手动脱简单的虚拟机壳(themida)
定位到0x401000也没有
手动脱简单的虚拟机壳(themida)
运行进来就有了
手动脱简单的虚拟机壳(themida)
点下发现还是条花指令同时 不像OEP (因为它偷取了OEP)
手动脱简单的虚拟机壳(themida)
nop一条 就是oep
手动脱简单的虚拟机壳(themida)
通过对比没有偷取 OEP的程序发现少了不少指令
但只要还原俩条就可以了 (一定要还原 不然修改iat后运行不了)
手动脱简单的虚拟机壳(themida)
就里又要注意了不能现在就修复IAT 因为程序跑起来的因此 在OEP下断 一般下硬件的 断到入口再 修复
手动脱简单的虚拟机壳(themida)
发现软件断点去了
手动脱简单的虚拟机壳(themida)
那就下硬件的 断下来了
手动脱简单的虚拟机壳(themida)
改下指令
手动脱简单的虚拟机壳(themida)
修复 IAT 这里又是一个坑不能简单的填代码段的结束(不然修复时程序直接报错)
手动脱简单的虚拟机壳(themida)
到401000查看所有模块间的调用 填最后一个函数的地址
手动脱简单的虚拟机壳(themida)
还有一点是填新的IAT时也要注意这个程序 填439000也报错 填438000可以
手动脱简单的虚拟机壳(themida)
修改IAT后到这里就可以dump了 OEP为 94a0
手动脱简单的虚拟机壳(themida)
再修复导入表 有一个点要注意的是大小填多点 这是我自己填的1000默认为500
手动脱简单的虚拟机壳(themida)
脱壳完成 破解就比较简单了
手动脱简单的虚拟机壳(themida)
在vmx文件最后加上 脱完要改回来 因为变卡了
配置:

isolation.tools.getPtrLocation.disable="TRUE"
isolation.tools.setPtrLocation.disable="TRUE"
isolation.tools.getVersion.disable="TRUE"
isolation.tools.setVersion.disable="TRUE"
monitor_control.disable_directexec = "TRUE"
monitor_control.disable_chksimd = "TRUE"
monitor_control.disable_ntreloc = "TRUE"
monitor_control.disable_selfmod = "TRUE"
monitor_control.disable_reloc = "TRUE"
monitor_control.disable_btinout = "TRUE"
monitor_control.disable_btmemspace = "TRUE"
monitor_control.disable_btpriv = "TRUE"
monitor_control.disable_btseg = "TRUE"

usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"

转载于:https://blog.51cto.com/haidragon/2121729

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值