记录一次BoxedApp Packer脱壳解包的记录
收到朋友的一个求助,一个硬件配套的上位机软件,无法联系到供应商,没有授权,在新电脑安装后无法使用.
简单的记录下过程
首先打开发过来的软件的目录下,一个配置工具,从图片可以判断,是.net winform程序,因此主程序大概率也是.net 写的.
使用dnspy反编译,发现无法解析.
使用winhex打开主程序,这里更推荐hex workshop,支持直接拖拽.
发现文件头部有bxpck的信息,根据相关搜索,得知这是使用了 BoxedApp Packer 打包的.net程序.
接下来就相对简单了,可以使用现成的解包工具.github就有,但是功能不够强大.无法满足我的需求.
使用cff explorer打开,exe,找到bxpck节点.dump出数据,保存.
保存后,使用16进制工具或者自己写一个,从第一个mz头文件信息开始导出所有数据.
保存成exe,至此,exe导出完毕!显示的图标也与实际程序一致.
可以看出,第一个为原始程序,第三个为dump后导出的程序,可以看出已经有图标了,文件变小了2Mb.
但到此,还是没有解决授权的问题.
使用dnspy定位到授权的代码,反编译再次编译模块导出,此处命名为crack程序,可以看到.程序变成了2350K,一小子小了很多,不奇怪.
dnspy会抛弃exe里打包的dll信息 ,先打开exe验证下 运行效果.
果不其然,报错:
知道了原因,就简单了.
使用C#手写一段代码
根据dll的pe头特征,遍历30926k的主程序信息,提取出正确的dll跟名称,另存为.
提取到所有的dll信息,数字命名的为未提取到pe文件头,初步判断为BoxedApp Packer相关的.net dll,暂时不管,直接抛弃.
hasp*.dll这个就有点意思了,台式thales旗下的safenet,专做软硬件加密加密狗之类的,
由于前面反编译的时候,已经直接跳过了该段加密,所以可以无视.但是依赖还有的,所以依然要把导出的这几个dll存放到软件根目录.
至此,解析完毕,验证效果
未破解版:
此处第二个tab功能不显示
破解后:
正常运行,没有任何报错,但由于手头没有相应的硬件连接,所以报连接失败,属于正常.
具体是否破解完美,待朋友那反馈.
随手写的小工具
2023年3月28日更新:
后续反馈可以正常运行.功能全部解锁.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!