当前位置: 首页 > news >正文

接设计网站营销推广费用方案

接设计网站,营销推广费用方案,wordpress音乐播放界面,google seo是什么这里整合了一下之前自己学习软件手工脱壳的一些笔记和脱文#xff0c;希望能给新学软件逆向和脱壳的童鞋们一点帮助。 1 一些概念 1.1 加壳 加壳的全称应该是可执行程序资源压缩#xff0c;是保护文件的常用手段。加壳过的程序可以直接运行#xff0c;但是不能查看源代码…这里整合了一下之前自己学习软件手工脱壳的一些笔记和脱文希望能给新学软件逆向和脱壳的童鞋们一点帮助。 1 一些概念 1.1 加壳 加壳的全称应该是可执行程序资源压缩是保护文件的常用手段。加壳过的程序可以直接运行但是不能查看源代码。要经过脱壳才可以查看源代码。 加壳是利用特殊的算法对EXE、DLL文件里的资源进行压缩、加密。类似WINZIP 的效果只不过这个压缩之后的文件可以独立运行解压过程完全隐蔽都在内存中完成。它们附加在原程序上通过Windows加载器载入内存后先于原始程序执行得到控制权执行过程中对原始程序进行解密、还原还原完成后再把控制权交还给原始程序执行原来的代码部分。加上外壳后原始程序代码在磁盘文件中一般是以加密后的形式存在的只在执行时在内存中还原这样就可以比较有效地防止破解者对程序文件的非法修改同时也可以防止程序被静态反编译。 壳的类型通常分为压缩壳和加密壳两类。压缩壳的特点是减小软件体积大小加密保护不是重点。加密壳种类比较多不同的壳侧重点不同一些壳单纯保护程序另一些壳提供额外的功能如提供注册机制、使用次数、时间限制等。 1.2 OEP OEP(Original Entry Point)程序的入口点。软件加壳一般隐藏了程序真实的OEP(或者用了假的OEP) 我们需要寻找程序真正的OEP才可以完成脱壳。 一般加壳程序在使用Ollydbg等动态调试工具时会停在壳的预处理块。即处在对于程序原始代码块的解压或解密操作之前在运行完程序自脱壳模块后会停留在程序加壳之前的OEP位置此时是dump程序的最佳时期。脱壳时在真实OEP处下int3断点就可以捕捉到程序代码段完全恢复的状态。因此寻找加壳程序的正确OEP也成了手动脱壳时的第一要务。 1.3 IAT IAT(Import Address Table)导入地址表。由于导入函数就是被程序调用但其执行代码又不在程序中的函数这些函数的代码位于一个或者多个DLL中。当PE文件被装入内存的时候Windows装载器才将DLL 装入并将调用导入函数的指令和函数实际所处的地址联系起来(动态连接)这操作就需要导入表完成。其中导入地址表就指示函数实际地址。多数加壳软件在运行时会重建导入地址表因此获取加壳程序正确的导入地址表也是手动脱壳操作中的一个关键问题。 2 一些脱壳方法 2.1单步跟踪法 单步跟踪法的原理就是通过Ollydbg的单步(F8)、单步进入(F7)和运行到(F4)功能完整走过程序的自脱壳过程跳过一些循环恢复代码的片段并用单步进入确保程序不会略过OEP。这样可以在软件自动脱壳模块运行完毕后到达OEP并dump程序。 2.2 ESP定律法 ESP定律法是脱壳的利器是应用频率最高的脱壳方法之一。 ESP定律的原理在于程序中堆栈平衡的合理利用。由于在程序自解密或者自解压过程中不少壳会先将当前寄存器内容压栈如使用pushad在解压结束后会将之前的寄存器值出栈如使用popad。因此在寄存器出栈时往往程序代码被自动恢复此时硬件断点触发。然后在程序当前位置只需要少许单步跟踪就很容易到达正确的OEP位置。 2.3内存镜像法(二次断点法) 内存镜像法是在加壳程序被加载时通过OD的ALTM快捷键进入到程序虚拟内存区段。然后通过加两次内存一次性断点到达程序正确OEP的位置。 内存镜像法的原理在于对于程序资源段和代码段下断点一般程序自解压或者自解密时会首先访问资源段获取所需资源然后在自动脱壳完成后转回程序代码段。这时候下内存一次性断点程序就会停在OEP处。 2.4一步到达OEP 所谓的一步到达OEP的脱壳方法是根据所脱壳的特征寻找其距离OEP最近的一处汇编指令然后下int3断点在程序走到OEP的时候dump程序。如一些压缩壳往往popad指令距离OEP或者Magic Jump特别近因此使用Ollydbg的搜索功能可以搜索壳的特征汇编代码达到一步断点到达OEP的效果。 2.5最后一次异常法 最后一次异常法的原理是程序在自解压或自解密过程中可能会触发无数次的异常。如果能定位到最后一次程序异常的位置可能就会很接近自动脱壳完成位置。现在最后一次异常法脱壳可以利用Ollydbg的异常计数器插件先记录异常数目然后重新载入自动停在最后一次异常处。 2.6 模拟跟踪法 模拟跟踪法的原理就是使用Ollydbg下条件断点SFX相当于是一个自解压段在自解压段结束时(eip的值转到代码段时)已经距离OEP很近但是这种跟踪方法会比较耗时。 2.7 “SFX”法 “SFX”法利用了Ollydbg自带的OEP寻找功能可以选择直接让程序停在OD找到的OEP处此时自解压已经完成可以直接dump程序。 3一些脱壳实践 下面给出整理的使用以上方法自己尝试手动脱这几种常用壳的脱壳笔记。 3.1UPX脱壳笔记 首先进行侦壳 首先把程序扔到OllyIce里面可以看到 然后这里尝试使用ESP定理即在ESP第一次改变时对ESP的地址设置硬件字访问断点这样可以在代码被UPX算法还原之后跳转到程序的正常入口处。 然后F5运行并没有直接到跳转到程序入口处的大跳位置但是可以看到UPX的大跳就在眼前 所以被还原后的程序入口点就是0x00445151(通过单步往下走F4略过往回走的循环语句也可以看到这个大跳的位置。)接下来走到大跳位置跳到正常程序入口处 然后去掉硬件断点并使用LoadPE的dump功能dump目标程序 先修正映像大小然后再选择完整脱壳这样可以得到第一步dump的程序然后再使用ImportREC修复dump程序的OEPOEP的信息通过OD自带的dump功能查询或者直接填45151 将正确的入口地址填入ImportREC中然后自动搜索IAT信息 然后点击获取输入表得到修正IAT之后的程序函数输入表然后再点击显示无效函数愉快地发现没有无效函数那么就可以直接修复转存文件了。 选择刚刚第一步dump下来的转储文件进行修复修复完成之后脱壳完成 这里对于压缩壳UPX直接使用了ESP定律可以很方便找到OEP并dump程序。 4.2 tElock脱壳笔记 这里脱的是一个tElock的壳 1、先使用最简单的最后一次异常法首先把程序扔到OllyIce里面设置OD调试选项中的异常选项 仅保留内存非法访问异常然后使用异常计数器插件在使用前要清空断点设置 等到程序正常运行后重新加载程序再选择第二步停在最后一次异常之前 然后用AltM转到内存窗口对主程序code段下内存断点SHIFTF9执行 这样程序就中断在了正确的OEP处可以选择从模块中删除分析以显示正常分析的汇编代码。然后使用LoadPE dump程序并修正程序映像大小。但是在使用ImportREC v1.6F Fix版输入正确的OEP获取函数输入表信息时会发现无效的指针。使用方法一修复后再使用方法三可以完全修复 再点击Fix dump可以修复之前dump下来的程序脱壳完成 2、使用二次内存断点法首先载入程序将所有的异常类型忽略然后在idata段设置内存断点, 然后SHIFTF9 停下来后再次在code段设置内存断点再次SHIFTF9执行可以直接达到正确的OEP中 然后LoadPE dump然后修复IAT。修复方法同方法1。 3、寻找magic jump以及修复函数表完成后dump程序前两步还是加内存断点(idata、code)然后定位到程序的正确OEP处 然后如果这时使用LoadPE dump后修复就和前两种一样了。这里先是使用ImportREC获取函数输入表第一个位置的指针地址。 然后得到函数指针偏移地址在0x005512C加上基地址后为0x045512C这时在该位置下硬件访问双字断点。再重新SHIFTF9忽略异常执行后由于下了断点会触发tElock的CRC校验错误 所以这里要先绕过CRC校验才能成功执行到硬件断点位置所以首先暂停程序然后使用AltF9返回用户代码。点击确定按钮后程序暂停在调用ExitProcess的位置 现在要向上找一找能跳过这个退出的跳转(CRC判断跳转)然后进行修改并跳过 找到了应该修改的位置但是如果修改之后重新运行是会被恢复的所以先记下来这个跳转的地址0x00469622。重新运行之后在idata断设置内存断点SHIFTF9停下后再CtrlG找到修改点再修改。修改完之后再设置之前的硬件断点这样不会触发CRC校验错误了。 无数次的SHIFTF9之后在寄存器窗口可以看到指针以及能够正常显示 然后此时F8单步找magic jump……看小生大大的视屏是通过分析疑似CRC跳转得到magic jump的位置 这里记下来magic jump的地址是0x0046973B然后清空udd文件删除硬件断点再次重新运行程序然后在idata下内存断点停住然后CtrlG找到magic jump位置处修改跳转 然后在code段下内存断点 然后SHIFTF9执行停下来就到了OEP的位置 这时候再dump程序IAT表已经被修复可以直接获得脱壳版程序 这里尝试使用了另外两种脱壳方法并且通过预先找OEP的方式修复了CRC校验后直接dump到了IAT被修复了的程序。 3.3 PEncrypt脱壳笔记 首先进行侦壳 先把程序扔到OllyIce里面然后程序停在这里看起来蛮怪的 好吧重新加载程序尝试使用最后一次异常法不忽略所有异常然后使用异常计数器插件程序停在最后一次异常处 如果此时F8单步下去程序会触发异常处理然后又到不了OEP了。这时需要看一下堆栈数据情况 这时需要在0040CCD7处F2下断点然后SHIFTF9执行可以跳过这个坑 然后接下来就是F8F4的操作一路直到OEP 用LoadPE脱壳然后用ImportREC修复后虽然没有无效指针但是还是不能运行 这时候用LoadPE的重建PE功能 然后就可以正常运行了 这个壳使用了单步跟踪的脱壳方法一路跳过程序“陷阱”最后达到OEP。并且使用了LoadPE的重建PE功能对程序进行了重建最终完成了这个加密壳的脱壳全过程。 3.4 FSG变形壳脱壳笔记 首先进行侦壳 使用ESP定律首先把程序扔到OllyIce里面F8单步走观察ESP变化在ESP第一次发生变化时对ESP对应的地址处设置内存硬件访问WORD断点然后SHIFTF9运行在程序停下来之后取消硬件断点进行F8单步 用F4略过向后的跳转(循环)然后继续往下找一直到这里 在这个jmp下面F4程序会跑飞。说明程序代码在这个循环中就已经释放完毕所以向上找找这个循环中有没有带条件的大跳。这样很容易找到magic jump的位置然后我们Enter或者CtrlG到00402666的位置发现果然是OEP重新分析然后F2下断点让程序走到OEP 如果是FSG1.33直接使用LoadPE dump文件然后使用ImportREC修复就可以正常脱壳了。但是这里在使用ImportREC修复时会出现一个无效指针 这里直接剪掉(或者删掉)这个指针然后修复转存文件发现无法正常打开 然后再把修复后的程序丢到OllyIce中F9直接运行 这里是变形壳添加的一个暗桩会导致程序出现异常退出这里直接nop掉或者把之前的jle(校验)改成jmp然后保存修改另存文件。然后就可以运行了 网安黑客学习资料包 基于最新的kali讲解循序渐进地对黑客攻防剖析。适合不同层次的粉丝。我希望能为大家提供切实的帮助讲解通俗易懂风趣幽默风格清新活泼学起来轻松自如酣畅淋漓 学习资料工具包 压箱底的好资料全面地介绍网络安全的基础理论包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等将基础理论和主流工具的应用实践紧密结合有利于读者理解各种主流工具背后的实现机制。 面试题资料 独家渠道收集京东、360、天融信等公司测试题进大厂指日可待 因篇幅有限仅展示部分资料需要可扫描下方卡片获取~
http://www.pierceye.com/news/692143/

相关文章:

  • 做化妆品网站怎样wordpress映射到外网访问
  • 关于加强门户网站建设爱客crm客户管理系统
  • 网站备案的是域名还是空间电子商务网站建设携程
  • 建设企业网站管理系统目的开发一个网站的费用
  • 网站开发和浏览器兼容问题软文广告案例分析
  • 更新网站的方法自贡网站建设哪家好
  • 沈阳网络建网站个人电子商务网站建设的总体目标
  • asp 大型网站开发优化公司治理结构
  • 做外贸 建网站要注意什么ssr网站怎么做
  • 杭州做兼职网站建设老五wordpress
  • 网站建设工资怎么样网站曝光率
  • 亚泰国际建设股份有限公司网站app推广方案模板
  • pathon能做网站开发吗直播网站模板
  • 东莞网站设计网址html怎么添加图片为背景
  • 怎样自己做企业网站网上投诉平台
  • 平价网站建设宝安营销型网站制作
  • 中英网站怎么做seo团队管理系统
  • 做签到的网站上海网站se0优化公司
  • 网站开发技术说明文档网站审核员做点啥
  • 网站设计与网页设计的区别建设部资质查询网站
  • 教育网站制作哪家服务好网站建设运转
  • 山西省轻工建设有限责网站网件路由器无线桥接
  • 做网站 怎么选择公司wordpress lnmp1.4
  • 网站建设价格标准科技感设计感的展厅
  • 广州番禺建设银行网站登录做摄影网站的目的
  • 前端外包网站php网站开发哪个好
  • 网站开发与维护好找工作吗网站建设招标书模板
  • 浙江金顶建设公司网站房产获客软件
  • 什么网站比较容易做python做网站服务器
  • 东城网站建设微信小程序商店怎么开