前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >看我如何让 360 把 helloword 干掉

看我如何让 360 把 helloword 干掉

作者头像
信安之路
发布2018-08-08 14:53:04
4150
发布2018-08-08 14:53:04
举报
文章被收录于专栏:信安之路

其实这篇文章是讲讲最简单的花指令,这标题是写到后面发现 360 爆木马,所以有此题目。

开始之前

首先编写一个简单的 hello world 程序,并编译

花指令可以简单理解为欺骗杀软,给分析者增加障碍的指令,但是对程序的运行结果没有影响的指令,比如下面的(高级点的使 ida 反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向)

再比如:

有时候会在 jmp 的下一行插入一些干扰 ida 静态分析的字节,而 jmp 是刚好跳过这些垃圾字节的

实践

指导思想:我们使用 od 编写一些简单花指令放在程序比较靠后没有代码的地址上,之后跳回真正的入口点(当然我们要将程序的入口点修改为我们的代码的地址)

实践前我们先查下壳(其实这是 vs2015 编译的)

我们编写如下代码,当然你可以根据自己的需要写出自己的

之后我们通过计算可以知道我们的代码的相对偏移为 0x1C5A (这是针对我的程序,只要减去当前程序加载的基址就行了)

当然不要忘记复制到文件中了

最后我们修改程序的入口点(用 lordpe 比较方便)

【注:由于我 od 打开了这个文件,所以截图是 readonly 了,所以修改时记得关闭程序,之后你的保存按纽就会点亮】

当然你也可以自己通过工具找到偏移,再用 winhex 等 16 进制工具修改

我们看看程序能否正常运行

360 马上报毒......

通过这个实验,我们可以知道 360 会对程序的入口点的汇编代码进行检测,因为壳以及混淆过的代码都比较不正常,这也是检测病毒木马能杀错也不放过的一种方式

关闭 360 先,ok 成功运行

我们现在再来查查壳,peid 核心扫描是扫不出来的,因为它是基于 userdb.txt 里面的特征查找的,还是从入口点开始查找的

其实这个还是可以查到的,推荐个工具

后记

其实代码加花的初衷是想给人阅读和判断制造障碍,绕过杀软等,但是 360 宁可错杀也不放过 helloworld ......

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始之前
  • 实践
  • 后记
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档