逆向知识第六讲,取摸优化的几种方式 除法讲完之后,直接开始讲 % 运算符在汇编中表现形式 首先C的高级代码贴上来. 高级代码: 一丶无符号% 2的幂在汇编中的表现形式 汇编代码: 高级对应语句: 可以看出,当无符号%2的幂的时候,直接用and计算. 其值是 2^n - 1的值 比如我们的number ...
分类:
其他好文 时间:
2017-11-12 20:13:25
阅读次数:
180
C/C++程序编译的过程 预处理,展开头文件,宏定义,条件编译处理等。通过gcc -E source.c -o source.i或者cpp source.c生成。 编译。这里是一个狭义的编译意义,指的是将预处理后的文件翻译成汇编代码的过程。通过gcc -S source.i生成。默认生成source ...
分类:
系统相关 时间:
2017-11-10 12:41:33
阅读次数:
156
逆向课程第三讲逆向中的优化方式,以及加减乘 一丶为什么要熟悉优化方式 熟悉优化方式,可以在看高级代码的时候浮现出汇编代码,以及做逆向对抗的时候,了解汇编代码混淆 优化和混淆是相反的 优化: 指的是汇编代码越少越好,让程序更快的执行 混淆: 一条汇编代码变为多条汇编代码,影响逆向人员的破解能力,但是软 ...
分类:
其他好文 时间:
2017-11-07 22:22:36
阅读次数:
144
文件和完整的word見github 3.1 阶段1的破解与分析 密码如下:I am not part of the problem. I am a Republican. 破解过程: 1.首先读主函数的汇编代码 发现这里是用了以一个函数<phase_1>(后面每一个炸弹都是对应的一个函数,在主函数中 ...
分类:
移动开发 时间:
2017-11-04 16:35:51
阅读次数:
250
准备工作 Visual Studio 2015,其他版本未验证,估计问题不大 ActiveState ActivePerl,用于编译OpenSSL Mingw,在官网下载minimum installer安装即可 masm,汇编代码运行环境,官网下载安装即可 ActiveState ActiveTc ...
分类:
数据库 时间:
2017-11-03 15:21:18
阅读次数:
466
失败后的core栈像下面这样: core的原因很显然:"Illegal instruction",指令非法,查看core处的汇编代码: shrx指令属于bmi2指令集,查看运行该binary的机器上有无bmi2指令集: cat /proc/cpuinfo | grep flags 发现该CPU上没有 ...
分类:
系统相关 时间:
2017-11-03 14:14:29
阅读次数:
566
第三章总结 1.ISA 概念:指令体系结构 作用:定义了处理机的状态格式,以及每条指令对状态的影响。 2.汇编命令与反汇编命令 获取汇编代码:gcc -S xxx.c -o xxx.s 产生目标文件:gcc -c code.c 反汇编并查看目标文件内容: objdump -d XXX.O 3.不同数 ...
分类:
其他好文 时间:
2017-10-23 00:59:51
阅读次数:
161
2017-2018-1 20155208 《信息安全系统设计基础》第五周学习总结 学习目标 理解逆向的概念 掌握X86汇编基础,能够阅读(反)汇编代码 了解ISA(指令集体系结构) 理解函数调用栈帧的概念,并能用GDB进行调试 教材内容总结 执行汇编命令:gcc –s xxx.c –o xxx.s反 ...
分类:
其他好文 时间:
2017-10-22 21:04:31
阅读次数:
173
2017-2018-1 20155336 《信息安全系统设计基础》第五周学习总结 学习目标 理解逆向的概念 掌握X86汇编基础,能够阅读(反)汇编代码 了解ISA(指令集体系结构) 理解函数调用栈帧的概念,并能用GDB进行调试 教材学习内容总结 本章概述: 本周学习了c提供的抽象层下面的东西,了解机 ...
分类:
其他好文 时间:
2017-10-22 11:00:45
阅读次数:
171
C++代码常用的优化策略 1.不存在指向空值的引用,意味着引用比指针的效率更高,因为在使用引用之前不需要测试它的合法性;指针可以被重新赋值以指向另一个不同的对象,但是引用总是指向它初始化时指定的对象。 2.使用位运算代替加减乘除取余等计算。 3.用switch代替多层if else,看汇编代码可知, ...
分类:
编程语言 时间:
2017-10-19 14:05:32
阅读次数:
157