2018年年中时,刚上班不久,公司有一个特殊需求,要把其他公司的一个产品包装一下作为自己公司的产品,用来给客户做Demo。想了一个晚上,一直忙到半夜完成了任务,算是很多年来最精妙的一次活动了。

目标

  • 把目标产品商标换掉,比如乾坤会计工具换成挪移会计工具

目标产品

  • 一款Windows桌面程序

攻击过程

  • 使用exeInfo检查得知是.Net程序
  • 使用Spy++之类的工具看到商标部分不是图片,是文字
  • 做了混淆,使用de4dot和dnSpy无法跟踪调试
  • 因为时间有限,考虑对方已经做了加固,尝试一段时间后,做调试恐成本过高,放弃调试
  • 从宏观上考虑有哪些突破口,觉得通过拦截操作系统文字渲染过程进行Patch,是一条可行的路
  • 进而想到有些图形字体库就相当于一个范本,如果把对应字体映射给改掉,那么就可以完成攻击
  • 确认该exe使用的微软雅黑字体
  • 在网上搜集字体文件编辑的资料,只有一篇文章,但非常有用
  • 分别找各自的Unicode区位码
  • 复制的区位码映射值到的区位码映射值上,同理复制的到的上
  • 使用字体替换工具替换系统的微软雅黑字体
  • 完成攻击,目标达成
  • 最后写了一篇使用手册,连同原exe、修改后的微软字体文件一起打包交给了需要的同事