上一篇:逆向---02.je & jmp & jnz .OD调试 基础知识:(栗子中也会说的)栗子:链接: https://pan.baidu.com/s/1qZbbTvQ 密码: ifup 1.寄存器的知识:(C里面的一些基础,一般用32位的比较多) 2.关于运行后搜索中文字符串的说明:没壳怎么都行,有时候有壳不一定要脱壳再OD调试,直接带壳破解也是可以的(下节课说下带壳用中文搜索) 3.快速找跳转的技巧,右击来自xxx的跳转,转到xxx 4.寄存器窗口看不见了,点击寄存器窗口的内容部分…
上一篇:逆向---01.Nop.中文字符串搜索.保存修改后程序 OD调试基础:(01.02篇练手工具:https://pan.baidu.com/s/1kW2qlCz) nop是删除跳转,你别问我,我看不见也听不见 je是条件跳转,满足条件就跳转,不满足就不跳转 jnz也是条件跳转,不满足条件就跳转 jmp是无条件跳转,管你啥呢,先跳再说  (姑且可以这么理解) 快捷键:F2下断点.F8单步执行,F9运行,重新载入:点 << 按键 (在工具栏下方的图标栏中) EIP是32位机的指令寄存器,Z标…
简介 这是一个可以直接解释执行从ida pro里面提取出来的x86汇编代码的虚拟机. 非常精简,整体架构上不能跟那些成熟的虚拟机相比,主要目标是够用.能用.轻量就行,如果觉得代码架构设计的不是很好的话,也不用过于吐槽哈.. 虽然我还有写过两个比较成熟的虚拟机项目(jvm和avm),虽然架构上比这个更完善,更容易扩展,功能也更强大 但是毕竟是给公司写的,没法拿出来分享.. 背景 先说说,为什么要写这个东西.. 之前有段时间,我在用ida逆向分析某些程序的算法,并且要把它提取出来将其跨平台运行,这个…
1)用VS2010新建Win32 Console Application,工程名为ACECore,工程建立完成后得到打开文件ACECore.cpp,代码如下: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { return 0; } 2)用VS2010查看汇编代码的方法: 1. VC必须处于debug状态才能看到汇编指令窗口.因此在上面代码return 0一句上设置断点. 2.按下F5键调试程序,当程序停在断点处时,打…
本文是<go调度器源代码情景分析>系列 第一章 预备知识的第4小节. 汇编语言是每位后端程序员都应该掌握的一门语言,因为学会了汇编语言,不管是对我们调试程序还是研究与理解计算机底层的一些运行原理都具有非常重要的作用,所以建议有兴趣的读者可以多花点时间把它学好. 与高级编程语言一样,汇编语言也是一门完整的计算机编程语言,它所涉及的知识内容也很多,好在我们的主要目标是通过对本小节的学习而有能力去读懂汇编代码,而不是要用汇编语言去写代码,所以本节并不会全面介绍汇编语言,而只会选取汇编语言的一个子集-…
(zz from http://blog.luoyuanhang.com/) ##常见寄存器 寄存器 16位 32位 64位 累加寄存器 accumulator AX EAX RAX 基址寄存器 base BX EBX RBX 计数寄存器 count CX ECX RCX 数据寄存器 data DX EDX RDX 堆栈基指针 Base Pointer BP EBP RBP 变址寄存器 Source Index SI ESI RSI 堆栈顶指针 Stack Pointer SP ESP RSP…
知识点: 汇编指令 lodsb,lodsw,lodsd 一.汇编指令LODSB //scasb scasw scasd //stosb stosw stosd 1. __asm lodsb //作用 mov al,byte ptr [esi] ; esi=esi+sizeof( byte); 2. __asm rep lodsb // //取字符串元素到 AL,AX,EAX 二.LODSW,LODSD REP LODS WORD PTR DS:[ESI] //esi+=2;ecx-- //LOD…
本文作为本人学习过程中的记录及时不时的突发奇想偶记.鄙人菜鸟一只,文中如有错误或疏漏,若读者肯不吝赐教,在下感激零涕.文章一直不断更新中 一.汇编语言 汇编语言是一种应用计算机.微处理器.微控制器或其它可编程器件的低级语言(符号语言).在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号带图指令或操作数的地址.特定的汇编语言和特定的机器指令集是一一对应的,不同平台之间不可移植. 特点:①操作的不是具体的数据而是寄存器或者存储器.所以速度相较于处理数据为主的高级语言要快. ②在不同平台.处…
·实验任务 (1)使用Debug,用E命令和A命令以两种方式将指令写入内存 机器码        汇编指令 b8 20 4e    mov ax,4e20h 05 16 14    add ax,1416h bb 00 20    mov bx,2000h 01 d8         add  ax,bx 89 c3         mov bx,ax 01 d8         add  ax,bx b8 1a 00    mov ax,001ah bb 26 00    mov bx,002…
浅析VS2010反汇编 2015年07月25日 21:53:11 阅读数:4374 第一篇 1. 如何进行反汇编 在调试的环境下,我们可以很方便地通过反汇编窗口查看程序生成的反汇编信息.如下图所示. 记得中断程序的运行,不然看不到反汇编的指令 看一个简单的程序及其生成的汇编指令 #include<stdio.h> #include<windows.h> const long Lenth=5060000/5; int main(){ while(true){ for(long i=0…