摘要: 逆向实战第一讲,寻找OllyDbg调试工具的Bug并修复 首先我们要知道这个OD的Bug是什么. 我们调试一个UNICODE的窗口,看下其窗口过程. 一丶查看OllyDbg 的Bug 1.1spy++查看窗口,确定是一个Unicode窗口 2.使用Olly附加 使用Od附加之后,点击窗口,发现获取的 阅读全文
posted @ 2017-11-17 02:22 iBinary 阅读(2665) 评论(3) 推荐(3) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2017-11-16 02:09 iBinary 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 逆向知识第八讲,if语句在汇编中表达的方式 一丶if else的最简单情况还原(无分支情况) 高级代码: 总共两种情况,我们看下Release中怎么优化的把(注意,优化方式选择O2,速度优先) 汇编代码: 可以看到我们熟悉的代码了.也就是昨天的三目运算. 总共三行汇编代码. 还原套路一样,还是 代入 阅读全文
posted @ 2017-11-14 02:16 iBinary 阅读(4447) 评论(4) 推荐(4) 编辑
摘要: 恢复内容开始 逆向知识第七讲,三目运算符在汇编中的表现形式 一丶编译器优化方式 首先说一下编译器优化方式. 1.常量折叠 2.常量传播 3.复写传播 4.公共表达式 5.去掉不可达到分支 6.顺序代替分支 7.数学变化 8.代码外提 9.减少变量. 10 强度削弱. 优化方式解析 1.常量折叠 常量 阅读全文
posted @ 2017-11-13 04:07 iBinary 阅读(1856) 评论(0) 推荐(1) 编辑
摘要: 逆向知识第六讲,取摸优化的几种方式 除法讲完之后,直接开始讲 % 运算符在汇编中表现形式 首先C的高级代码贴上来. 高级代码: 一丶无符号% 2的幂在汇编中的表现形式 汇编代码: 高级对应语句: 可以看出,当无符号%2的幂的时候,直接用and计算. 其值是 2^n - 1的值 比如我们的number 阅读全文
posted @ 2017-11-12 19:55 iBinary 阅读(1031) 评论(0) 推荐(0) 编辑
摘要: 逆向课程第五讲逆向中的优化方式,除法原理,以及除法优化下 一丶除法的优化 1.有符号被除数 / 无符号除数的情况下 高级代码为: 汇编中优化的体现形式 相比于昨天,我们发现了的 无符号 / 常量多出了点东西 无符号/常量 如果无符号/常量,那么我们还原的时候 套用公式即可 am >> n a是被除数 阅读全文
posted @ 2017-11-09 02:19 iBinary 阅读(1537) 评论(0) 推荐(0) 编辑
摘要: 逆向课程第四讲逆向中的优化方式,除法原理,以及除法优化上 除法原理,涉及到了数学公式,而且在汇编中的体现形式也有10几种 这里首先讲解前4中, 抱着问题学习 一丶为什么要熟悉除法的优化,以及除法原理 是这样的,在计算机中,除法运算对应的汇编指令分为 DIV(无符号除法指令) 以及 IDIV(有符号除 阅读全文
posted @ 2017-11-08 01:23 iBinary 阅读(1322) 评论(0) 推荐(0) 编辑
摘要: 逆向课程第三讲逆向中的优化方式,以及加减乘 一丶为什么要熟悉优化方式 熟悉优化方式,可以在看高级代码的时候浮现出汇编代码,以及做逆向对抗的时候,了解汇编代码混淆 优化和混淆是相反的 优化: 指的是汇编代码越少越好,让程序更快的执行 混淆: 一条汇编代码变为多条汇编代码,影响逆向人员的破解能力,但是软 阅读全文
posted @ 2017-11-07 21:03 iBinary 阅读(1413) 评论(0) 推荐(3) 编辑
摘要: 逆向课程第二讲,寻找main入口点 一丶识别各个程序的入口点 入门知识,识别各个应用程序的入口点 (举例识别VC 编译器生成,以及VS编译生成的Debug版本以及Release版本) 1.识别VC6.0 Debug版本 1.1 首先,新建一个VC debug版本的程序,然后F5运行,可以看到栈回溯窗 阅读全文
posted @ 2017-11-07 01:33 iBinary 阅读(6478) 评论(2) 推荐(1) 编辑
摘要: 脱壳第三讲,UPX压缩壳,以及补充壳知识 一丶什么是压缩壳.以及壳的原理 在理解什么是压缩壳的时候,我们先了解一下什么是壳 1.什么是壳 壳可以简单理解为就是在自己的PE文件中包含了代码.而有不影响我们的PE文件的执行. 2.什么是压缩壳 压缩壳指的是让我们的PE文件变小. 3.压缩壳原理 首先可以 阅读全文
posted @ 2017-10-31 23:43 iBinary 阅读(6174) 评论(1) 推荐(3) 编辑
摘要: 脱壳第二讲,手动脱壳PECompact 2.x PS: 此博客涉及到PE格式.所以观看此博客你要熟悉PE格式 首先,逆向inc2l这个工具,汇编中可能会用的 inc头文件转换为lib的工具 但是他有壳,先查壳. 发现是这个壳 利用Esp定律,脱掉这个壳. 首先,inc2l.exe是32位的,所以要放 阅读全文
posted @ 2017-10-26 02:52 iBinary 阅读(3416) 评论(6) 推荐(4) 编辑
摘要: 脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律 一丶什么是ESP定律 首先我们要明白什么是壳.壳的作用就是加密PE的. 而ESP定律就是壳在加密之前,肯定会保存所有寄存器环境,而出来的时候,则会恢复所有寄存器的环境. 这个就成为ESP定律.(当然我个人理解.可能有更好的理解,请下方评论,我 阅读全文
posted @ 2017-10-25 01:47 iBinary 阅读(3176) 评论(0) 推荐(4) 编辑
摘要: 逆向知识第一讲,IDA的熟悉使用 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打开. 1.提示使用什么格式打开 因为是PE格式,所以我们选择PE即可.点击OK 2.重新打开一下 如果以前已经打开过这个PE 阅读全文
posted @ 2017-10-24 02:31 iBinary 阅读(7218) 评论(3) 推荐(4) 编辑
摘要: PE格式第九讲,资源表解析 一丶熟悉Windows管理文件的方法 首先,为什么标题是这个,主要是为了下边讲解资源方便,因为资源结构体很乱.如果直接拿出来讲解,那么就会很晕. 1.windows管理文件方法 树形结构 可以看出结构 根目录 子目录 文件.xxx 子目录 ..... 那么我们的资源也是这 阅读全文
posted @ 2017-10-23 01:48 iBinary 阅读(3861) 评论(0) 推荐(0) 编辑
摘要: PE格式第八讲,TLS表(线程局部存储) 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶复习线程相关知识 首先讲解TLS的时候,需要复习线程相关知识, (thread local storage ) 1.了解经典同 阅读全文
posted @ 2017-10-20 03:20 iBinary 阅读(4955) 评论(0) 推荐(2) 编辑
摘要: PE格式第七讲,重定位表 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶何为重定位(注意,不是重定位表格) 首先,我们先看一段代码,比如调用Printf函数,使用OD查看. 那么大家有没有想过这么一个问题,函数的字 阅读全文
posted @ 2017-10-19 01:30 iBinary 阅读(3341) 评论(0) 推荐(2) 编辑
摘要: PE格式第六讲,导出表 请注意,下方字数比较多,其实结构挺简单,但是你如果把博客内容弄明白了,对你受益匪浅,千万不要看到字数多就懵了,其实字数多代表它重要.特别是第五步, 各种表中之间的关系. 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留 阅读全文
posted @ 2017-10-18 02:28 iBinary 阅读(1432) 评论(0) 推荐(1) 编辑
摘要: PE格式第五讲,手工添加节表 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 首先我们要用汇编编写一段汇编代码,用来生成标准PE 一丶标准PE生成的汇编代码 然后可以生成一个标准PE 当然为了讲解这里使用标准PE,你也可 阅读全文
posted @ 2017-10-17 01:18 iBinary 阅读(2006) 评论(3) 推荐(2) 编辑
摘要: PE格式第四讲,数据目录表之导入表,以及IAT表 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶IAT(地址表) 首先我们思考一个问题,程序加载的时候会调用API,比如我们以前写的标准PE 那么他到底是怎么去调用的 阅读全文
posted @ 2017-10-13 01:35 iBinary 阅读(3422) 评论(3) 推荐(2) 编辑
摘要: PE格式第三讲扩展,VA,RVA,FA的概念 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边都是. 阅读全文
posted @ 2017-10-12 01:28 iBinary 阅读(11034) 评论(2) 推荐(3) 编辑