zoukankan      html  css  js  c++  java
  • 我悲惨的人生,该死的UPX壳,谁能救救我

     一个程序,被加了UPX壳。。。

     结果加壳的人把UPX脱壳的关键参数都给删除掉了,我现在连脱壳都脱不掉。。。

    我从网上下载了UPX最新3.91版本的壳,复制了两个UPX.exe,本来互相加壳和脱壳都没问题。

    图片 

    但是,我只要修改2几个字节就会变成这样

    图片 

    结果就是 ,2本来是加壳的,却不能被脱壳了,但是自身却仍然能运行。那句红字已经明显说过了,文件被修改过。

    我改了哪里?就是这里。


    图片

    图片

    一目了然。我把从0x1e0到0x214,这一共0x25个字节全部改掉了,结果,这个程序不能被UPX自己识别了。

    所以,用UPX自己的脱壳工具,脱壳,失败。这是控制台程序,可能是控制台子系统,如果是Win32子系统的话,这个位置应该在0x3db,直到0x3ff,也是一共0x25个字节。

    而我要脱壳的目标文件就是一个被经过这样处理的UPX加壳后的exe文件。

    由于程序是ARM平台的,所以我的第一想法是手动脱壳,准备动态调试,但是问题来了除了IDA,没啥能做ARM下的汇编级调试了。WinCE似乎是没有交互WinDBG实现双机调试的功能。

    我用安装好的IDA5.5调试,结果我的IDA直接找不到程序,运行程序之后IDA卡死,程序没有启动。附加程序的话,IDA同样卡死。

    我用新下载的IDA6.1调试,结果效果的确好多了,能找到程序了,程序可以运行了,但是IDA也直接崩了。

    结果,我看了半个下午UPX的源码,本想从 3.91 或者 UPX!上找出点什么,可是,一无所获。我真的饭桶到头了。

    如果哪位高手看到的话,给我点提示吧。我要疯了。
  • 相关阅读:
    qrcode在手机上不显示的问题
    css 文本溢出省略号
    css解决字段不换行
    vue小程序ref和v-for结合使用得到ref数组的一些问题
    Nginx CORS 跨域资源共享问题
    基于k8s使用helm安装Jenkins
    nginx通过自定义http header 进行服务转发
    基于Kubernetes部署nacos配置中心
    基于Centos 7.8 和Kubeadm部署k8s高可用集群
    Jenkins学习以及配置
  • 原文地址:https://www.cnblogs.com/suanguade/p/4038073.html
Copyright © 2011-2022 走看看