范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

PC端恶意代码的混淆与加壳对抗

  前言
  之前的实验部分,也出现过加壳对抗,文中也说了几种工具脱壳和手动脱壳的方法,但是之前主要还是针对功能点的分析。从这里开始,主要涉及到的就是逆向对抗了。
  Lab15:花指令
  花指令是企图隐藏掉不想被逆向工程的代码块(或其它功能)的一种方法,在真实代码中插入一些垃圾代码的同时还保证原有程序的正确执行,而程序无法很好地反编译, 难以理解程序内容,达到混淆视听的效果。
  __asm { }内联嵌入__emit 0e8h;
  当出现这样的语句时,IDA会把E8当作call,然后后面的部分当作调用函数,导致出现混淆。
  所以此时一般可以用xor配合跳转语句,保证程序的正常运行。
  除此之外,也可以加入0E9h等混淆IDA.
  call $+5
  add [esp],5
  retn
  当内联嵌入这样的语句时,会混淆IDA的流程图,这个语句最后的效果相当于一个jmp,等于没有。
  Lab15-1
  放入IDA中查看。
  可以看到这里有一个永假跳转。
  这边因为字符开头是E8,会让反编译误认为是Call,这时候把它先转为数据,然后把E8排除,就出现了原来的代码了。
  接着可以看到下面还有好几处地方一样
  用之前的方法修复
  可以看到先是判断了参数的个数
  之后第一个参数和p比,第二个参数和d比,第三个参数和q比,进行对比,最后可以得出当参数是pdq的时候成功。
  Lab15-2
  放到IDA中查看。
  可以看到第一个出现返汇编的地方。
  将40115E这一行,先变成data,然后把115F变成code,最后E9转为nop.
  之后来到第二处
  进行相似的修补。
  继续一样的修补。
  这里面的修补都差不多,最后的结果图
  接着分析修复好后的程序。
  先获取了主机名,然后这里经过+1和替换变成了agent头。
  这里可以看到访问的网站。
  从网站中取出Bamboo::和::之间的内容,作为下载的网址
  下载并运行。
  Lab15-3
  放到IDA中查看。
  看到了异常处
  修复
  继续修复。
  继续修复
  修补后
  分析修补后的网站
  看到传入url函数的进行了异或
  写个idc脚本进行解密
  之后下载运行。
  Lab16:反调试
  进程运行时,位置fs:[30h]指向PEB的基地址。为了实现反调试技术,恶意代码通过这个位置的BeingDebugged标志检测,这个标志标识进程是否正在被调试
  Reserved4数组中一个未公开的位置叫做ProcessHeap,它被设置为加载器为进程分配的第一个堆的位置。ProcessHeap位于PEB结构的0x18处。第一个堆头部有一个属性字段,它告诉内核这个堆是否在调试器中创建。这些属性叫做ForceFlags和Flags
  Windows XP系统中,ForceFlags属性位于堆头部偏移量0x10处;但是在Windows7系统中,对于32位应用程序来说它位于偏移量0x44处
  由于调试器中启动进程与正常模式下启动进程有些不同,所以它们创建内存堆的方式也不同。系统使用PEB结构偏移量0x68处的一个未公开设置,来决定如何创建堆结构。如果这个位置的值为0x70,我们就知道进程正在调试器中
  系统痕迹检测
  HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAeDebug
  该注册表项指定当应用程序发生错误时,触发哪一个调试器。默认情况下,它被设置为Dr.Watson.如果该注册表的键值被修改为OllyDbg,则恶意代码可能确定它正在被调试
  1
  扫描代码的断点   call $+5   pop edi   sub edi,5   mov ecx,400h   mov eax,0CCh   repne scasb   jz DebuggerDeteced   对抗这种反调试技术的方法是使用硬件断点而不是使用软件断点   时钟检测   被调试时,进程的运行速度大大降低,例如,单步调试大幅度降低恶意代码的运行速度,所以时钟检测是恶意代码探测调试器存在的最常用方式之一。   记录执行一段操作前后的时间戳,然后比较这两个时间戳,如果存在滞后,则可以认为存在调试器   Lab16-1   放入IDA中查看,这个跟lab9的一个样本是一样的,除了增加反调试。   可以看到先是检查了BeingDebugged是否为0   之后检查processheap的forceflag是否为0   再检查NTGlobalFlag是否为70h   如果检测到任何一个有反调试的行为就删除自身。   对于这几个反调试方法都可以使用填充0的方法进行绕过   dump ds:[fs:[30] +0x18] + 0x10   dump fs:[30]   dump fs:[30]+0x68   也可以手动修改寄存器的值,让其跳转产生改变。   剩下的功能点前面都分析过了,就不继续分析了。   Lab16-2   这里用PEView查看   放入IDA中查看。   arg_4与1比较,说明只在程序刚开始的时候有用。   查看有无OllyDbg.   BeingDebugged,之后通过检查这个值,进行调试判断。   之后发现通过OutDebugStringA检测调试器   这里针对PEB,还是之前的方法   针对tls,把exit换成nop   针对OutputDebugStringA,也是用nop填充add.   但是不知道为啥我这里的密码得到是bzrr,书上是byrr.   Lab16-3   运行,会直接退出。跟之前分析过的一个样本是一样的   用od动态调试,我这边直接就出了最后的答案。   找到比较名字的地方。   但还是跟着步骤走一遍,找到4011E0   进入查看,可以看到QueryPerformanceCounter,通过两次时间差,判断有无调试。   通过设置2来作为有调试的标准,因此这里设置为nop   查看其中的异常处理   因为前面的xor语句,这里ecx被设置为0,所以这里会产生异常。   接着看下面,这里通过GetTickCount,对时间进行判断。   这里的401000也是异常处理。   继续往下看,可以看到rdstc,也是通过异常处理。   Lab17:反虚拟化   当镜像安装了VMware Tools,进程中就会出现VMwareService.exe、VMwareTray.exe和VMware.exe   通过搜索注册表中安装的服务   或者:net stat | findstr Vmware   "航天课堂"第一课内容非常精彩。 接下来我们会以更简单明了的方式向小朋友讲解相关知识。敬请期待第二节航天课堂。   以00:0C:29开始的MAC地址与VMware相对应   Red Pill反虚拟机技术   通过运行sidt指令获取IDTR寄存器的值。虚拟机监视器必须重新定位Guest系统的IDTR,来避免与host系统的IDTR冲突。因为在虚拟机中运行sidt指令时,虚拟机监视器不会得到通知,所以会返回虚拟机的IDTR,Red Pill通过测试这种差异来探测VMware的使用   查询I/O通信端口   VMware使用虚拟化I/O端口完成宿主系统与虚拟机之间的通信,以便支持诸如复制和粘贴功能。这个端口可以被查询   这种技术成功的关键在于x86体系结构中的in指令,它从一个源操作数指定的端口复制数据到目的操作数指导的内存地址   str指令用来从任务寄存器中检索段选择子,段选择子指向当前运行任务的任务状态段(TSS)   恶意代码编写者可以利用str指令探测虚拟机的存在,因为这条指令返回的值,在虚拟机系统与宿主系统可能不同(这种技术对于多处理器的硬件无效)   Lab17-1   这里先写一个idc脚本,在程序中搜索相关反虚拟的指令,然后输出对应的地址。   这里可以看到有三个地址,三个地方存在反虚拟的指令401121,4011b5,401204   先去401121,可以看到是sldt   之后对sldt之后值进行了一个比较,应对方法,nop掉   再去4011b5,可以看到这里是sidt.   这里是对结果的一个检测,也可以通过nop的方式解决。   接下来是str.   之后是检测,也是nop   Lab17-2   这次只关注反虚拟化的操作。   这里用之前写好的idc脚本,找到了一个地址。   可以看到是in   这里也可以用nop处理   Lab17-3   放入ida中查看。   用之前的idc脚本查找   可以查到一个地址   是I/O查找   这里看一下交叉引用   这里可以用Olldydbg将test该为xor   这里查看strings   查看交叉引用   然后到这里   再查看交叉引用,   看到是SYSTEMCurrentControlSetControlDevicesClasses传入。   可以得知这里是查询与vmware对比,探测虚拟化   利用之前的test修改为xor即可   Lab18:脱壳   前面提到过几个手动脱壳的方法,这里再来深入一下。   脱壳存根指向了以下三步操作   将原始程序脱壳到内存中   解析原始可执行文件的所有导入函数   将可执行程序转移到原始的程序入口点(OEP)   单步跟踪法   宗旨:向上的跳转不让实现,向下的跳转实现,当发现大跨度跳转时,即会到OEP   ESP定律法   遵循堆栈平衡原理,在壳对程序进行操作加密或者压缩时,会把程序的OEP压入栈中,当壳执行完成后,进行解密或者解压缩,会把真正的OEP从栈中弹出   2次内存镜像法   在壳进行解密或解压缩时,最后释放的是资源区段:.rsrc,这个区段被释放完全后,说明整个程序已经被全部解密   Lab18-1   放入od,直接Ollydump插件即可,然后修复即可   Lab18-2   放入od,也是插件即可   Lab18-3   放入od,设置硬件断点,利用ESP定律   Lab18-4   放入od,设置硬件断点,利用ESP定律   这里单步调试到OEP   Lab18-5   跟之前一样,放入od,设置硬件断点,利用ESP定律

定了,就是它!2023年女足世界杯比赛用球公布2023年女足世界杯的比赛用球24日亮相,足球的名字定为OCEAUNZ,蕴含澳大利亚和新西兰共同举办这届世界杯的含义。图源国际足联官网国际足联在公布WCBA全明星名单公布,广东队锋线28岁生日,辽宁队前外援有望回归WCBA202223赛季全明星周末将于2月45日举行,地点在深圳龙华区文体中心,联赛官方公布了星锐赛与正赛名单,其中正赛备受关注,不少国家队成员纷纷入选,北区由李月汝领衔,杨力维杨2026世界杯冠军猜想世界杯已经过去一个多月了,而下一届的周期不像以前有4年,这一次因为在冬季举行,现在也就剩3年多的时间,新世纪以来的6届世界杯出现了6个冠军队,分别是巴西,意大利,西班牙,德国,法国澳网北京小将杀进青年组男单八强1月25日,2023澳网青少年男单第三轮比赛中,来自北京的17岁少年周意以6比1和6比4击败8号种子美国选手威廉姆斯,首次杀入大满贯青少赛八强。他也成为本届澳网唯一仍在奋战的中国男国际巨星准点喜贺中国新年,他们又又又急了北京时间1月22日零点,葡萄牙球星C罗更新社交媒体,准时给中国的球迷送上新春祝福,亲爱的中国朋友们,送上我最诚挚的祝福,祝大家新年快乐!祝愿你和家人可以享受新春假期,期待很快见面,新春走基层海南洋浦移民警察带你探访最繁忙的自贸港码头视频加载中位于海南岛西部的洋浦保税港区是海南自贸港建设的先行区和试验田。新春佳节之际,位于保税港区内的码头却还是一派繁忙景象。码头一头连着关内,一头连着关外,海南洋浦出入境边防检查暧昧,给我带来了什么01。hr你是不是后悔了?经过几天的挣扎,我还是在酒精的促使下问他,隔着冰冷的屏幕。他回答的很快,只不过不是我想要的答案其实我从一开始就没有确定要不要谈恋爱,我在等待时间的答案。我无论生活怎样,都不要忘记微笑无论生活怎样,都不要忘记微笑。愿你成为自己的太阳,无需凭借谁的光。有些事就是不值得被原谅,跟大不大度没有关系,各有各的底线,做错了就应该考虑为自己的错误付出代价。你永远不会知道,那人生的主角由谁演人生的主角由谁演多么美丽的花呀!这就是我理想中的花朵。这就是我理想中的世界。冰花未日之花未日之花理想中的玫瑰花。花的海洋。梦中的紫花人们理想中的海边儿之花。大海雨花我们来到这个世界思念,你的美!你的美,今夜不再平静头条作者云开日初烟花在夜空中尽情绽放与耀眼的群星遥相呼应顿然,夜色更加璀璨迷人陶醉中,想起一起守岁的你被映红的粉红小脸蛋嫣然一笑的回眸曼妙百媚千娇,万种风情纵我满分作文春节,开头第一段,满满都是回忆春节是中华民族的传统节日,无论身处何地,它总能让分散的家人团聚在一起,大家欢聚一堂,互送祝福。春节不仅仅存在于人们的生活中,更是存在于学生的作文中,几乎每一个人都写过有关春节的作文
米饭馒头和面条,哪种更容易升血糖?建议了解一下2010年,蒂姆菲利斯(TimFerriss)提出现如今已经风靡全球并且饱受好评的慢碳饮食法,即主张以低GI值的慢速吸收的碳水类主食,如某些小米荞麦燕麦等谷物,替代高GI值的快速吸降蛋白尿最快的方法人体降蛋白尿最快的方法是要根据原发病进行治疗,具体如下1如果没有明显水肿或者肾功能不全的表现,可以通过适度的身体锻炼卧床休息,饮食上限制钠盐的摄入量,加服适量的必需氨基酸或者激素免为什么近些年癌症越来越多?这3点致癌坏习惯你一定有中招癌症,在以前的时候,是很少见的,但是伴随着社会的发展,癌症的发生率和死亡率都在急剧飙升,各种癌症的发病率已经越来越高了!可以这样子说吧,在你所可以接触到的人群之中,就可能有一定数量过敏性鼻炎锻炼里养生误区剖析第一就是我本来就虚,需要补养,想法没有错误。认知有问题。过敏性鼻炎有阳虚的成分,病情复杂,养生重点就是多动,没有把握药不吃,有副作用更不能吃。动则阳生。这是理论,但是还要有度。这就10!巴黎4连胜重返榜首,梅西超越C罗创2大里程碑,姆巴佩哑火北京时间9月19日凌晨,法甲第8轮迎来一场焦点战,巴黎圣日耳曼客场凭借梅西的唯一进球,以10击败里昂,取得4连胜战绩,并且积22分重返榜首位置。这是大巴黎9月份最后一场比赛,接下来女篮世界杯即将开战,WNBA双核齐助阵,目标是半决赛经历了男篮世预赛亚洲杯,男女篮亚青赛之后,中国女篮将会上演国家队方面的压轴大戏女篮世界杯。中国女篮参加世界杯的征程马上就要在22号就要打响第一场面对韩国女篮的比赛,为了调整到最佳的如果你身体不好曾经素食失败,可以看看这篇文章很多人身体不好,血压高,疾病多,按照佛教的观点,这些疾病可能来自于前世杀生的业力,和今生食肉的因缘,如果这些人能够断除肉食,就会有很好的帮助。但是断除肉食对素食者来说是一件很困难的怀孕30天,产检能看出什么?这些症状也不能忽视,关系到胚胎发育很多在备孕中的女性,她们在备孕十天左右会用验孕棒测试,看看自己是否怀上了,如果怀上了,通常会迫不及待想要做B超,看看肚子里的胎宝宝长什么样。实际上,在刚怀上10天左右就去做产检未免盘点正在偷偷消失的家电产品,是一代人的记忆,用过都不再年轻了时代来的快,去的也快。时代要抛弃你的时候,连招呼都不会打。谁能想到当时的流行产品现在已经一无是处了,谁又能想到现在科技发展这么快,当初怎么也想不到现在的手机形态。来让我们回想一下被灵动岛设计立功了?苹果蝉联2022全球最具创新力公司榜首文科技V力9月8日凌晨,苹果2022年秋季新品发布会如期举行,本次带来的新品中,最受用户关注的莫过于iPhone14Pro系列。尤其是这个全新的灵动岛设计,瞬间引起全场高潮,在发布不简单上学时,红毛是个体育生。比我高几级。练长跑的为什么叫红毛呢?他染了红头发!那时刚开始流行染头发,正经人没有染的,为什么那个年代小姐很容易分辨呢?因为,老百姓不化妆。而小姐染头发,涂