美文网首页C++/MFC
加壳上碰到的问题

加壳上碰到的问题

作者: JasonChen8888 | 来源:发表于2018-04-10 11:21 被阅读8次

最近由于公司项目原因,开始学习入手C++的加壳技术壳的编写,参考文献oBuYiSeng的博客里面详细的介绍了加壳的原理和开发步骤。
个人在开发的时候碰到了一些问题,总结一下,希望对在做加壳的朋友有帮助,如果有不足的地方,望大家指出
个人的开发环境:vs2015

  • 问题一
    在构建项目加壳代码Stub.DLL的时候出现LNK2001:无法解析外部符号 __free 和LNK2001:无法解析外部符号 __memove 等错误的问题
    原因:在构建dll项目的时候选择win32的时候选择了支持MFC,当时构建项目是基于mfc的项目,所以勾选了MFC的支持


    图一.png

    解决:在构建的时候默认不要添加支持MFC的支持

  • 问题二:
    在解决问题一后,构建项目后,实现加壳代码后,添加了指定程序入口函数

#pragma comment(linker, "/entry:\"StubEntryPoint\"") // 指定程序入口函数为StubEntryPoint()
#pragma comment(linker, "/merge:.data=.text")        // 将.data合并到.text
#pragma comment(linker, "/merge:.rdata=.text")       // 将.rdata合并到.text
#pragma comment(linker, "/section:.text,RWE")        // 将.text段的属性设置为可读、可写、可执行

这个时候编译,会报错误,如下:


图二.png

原因:因为在各种尝试后,最后在切换编译SDK版本的时候发现可以编辑过,因为在VS2015不支持该参数
命令
解决:目前的解决方案是将平台的工具集切换到2012的,编译正常通过,个人试过了2013也是可以编译通过


image.png
以上问题,目前还没有发现其他的解决方法,如果有哪位大神有其他解决方案,欢迎下方留言指导

相关文章

  • 加壳上碰到的问题

    最近由于公司项目原因,开始学习入手C++的加壳技术壳的编写,参考文献oBuYiSeng的博客里面详细的介绍了加壳的...

  • iOS逆向与安全8.1:砸壳、初识Theos

    砸壳 软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 砸壳原理 应用加壳(加密)提交给...

  • 应用砸壳

    砸壳 软件脱壳,顾明思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密) 砸壳原理 应用加壳(加密) 应用砸...

  • [iOS逆向]18、砸壳

    软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 1、砸壳原理 1.1、应用加壳(加密)...

  • iOS应用砸壳

    概述 软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 砸壳原理 应用加壳(加密)提交给...

  • iOS逆向-砸壳上(ⅩI)

    软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 砸壳原理 应用加壳(加密)提交给App...

  • iOS逆向实战--029:应用砸壳

    软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 砸壳原理 应用加壳(加密)提交给App...

  • 17、应用砸壳

    -- 顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 应用加壳(加密)提交给App Store发...

  • 网络编程deep dive(0)

    抛出问题 近期在搞一个Android上的监控(叫Backdoor也行),基本原理就是通过某jni上面加一层壳,壳中...

  • {C#}设计模式辨析.代理

    背景 在原程序上加壳,ex. 壳=虚拟/保护/远程/日志记录 等 示例

网友评论

    本文标题:加壳上碰到的问题

    本文链接:https://www.haomeiwen.com/subject/pkpghftx.html