![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
reverse
multi4
这个作者很懒,什么都没留下…
展开
-
c语言逆向 指针逆向小案例
1、列出每一行的反汇编代码: char a = 10; mov byte ptr [a],0Ah short b = 20; mov eax,14h mov word ptr [b],ax int c = 30; mov dword ptr [c],1Eh char* pa = &a; lea eax,[a] mov dword ptr [pa],eax原创 2021-07-01 11:12:05 · 389 阅读 · 0 评论 -
c语言逆向 循环语句反汇编
do while这里do while很简单就没什么好说的了。总结:1、根据条件跳转指令所跳转到的地址,可以得到循环语句块的起始地址。2、根据条件跳转指令所在的地址,可以得到循环语句块的结束地址。while总结:1、根据条件跳转指令所跳转到的地址,可以得到循环语句块的结束地址;2、根据jmp 指令所跳转到的地址,可以得到循环语句块的起始地址;3、在还原while 比较时,条件跳转的逻辑与源码相反。for 语句的语法总结:1、第一个jmp 指令之前为赋初值部分.2、第一个jmp原创 2021-06-10 18:01:58 · 354 阅读 · 2 评论 -
c语言 switch反汇编
switch语句反汇编一、switch语句1、在正向编码时,switch语句可以看做是if语句的简写2、break在switch语句的妙用1、当switch存在3个分支时当去掉break的时候二、switch语句的反汇编1、当switch存在3个分支时#include<stdio.h>void Function(int x) { switch (x) { case 1: printf("1"); case 2: printf("2"); cas原创 2021-06-09 17:45:45 · 896 阅读 · 6 评论 -
buuctf_reverse3
reverse3每日一道reverse的题,可多不能少打开题目先检查有无壳,以及多少位的,这题是没有壳的就不做过多的演示了,所以我们直接进入主题。打开IDA,用shift+F12搜索字符串发现其中的关键字然后双击进入这里我们首先要先选中一个函数然后按ctrl+X,然后再按F5进入反汇编,这里可以很直观的看到这里应该就是一个main函数。这里我们先来分析一下这一段程序的简单逻辑首先接收一个输入的字符串然后要经过一个加密函数这里我们跟进一下这个加密函数源代码int __cde原创 2021-04-25 16:04:14 · 301 阅读 · 0 评论 -
【Win32汇编】jcc 指令
JE, JZJE结果相等时跳转、zf=1先把所有位置标志置0,然后JZ结果为零则跳转这里用dtd他会把jz转换换成jeJNE, JNZ结果不为零则跳转(不相等时跳转) 、zf=0js果为负则跳转、SF=1jns结果为非负则跳转、SF=0...原创 2021-04-18 21:59:41 · 295 阅读 · 0 评论 -
【Win32汇编】jmp,call,ret 指令
JMP指令:修改EIP的值MOV EIP,寄存器/立即数 简写为 JMP 寄存器/立即数这里我们只需要观察eip的值就好了CALL指令:PUSH 地址BMOV EIP,地址A/寄存器简写为:CALL 地址A/寄存器这里做个简单的演示这里需要注意观察esp和eip的值执行一下,可以看到这里esp地址里村的是call下一个的地址。RET指令:LEA ESP,[ESP+4]MOV EIP,[ESP-4]简写为:RET这里还是用刚刚的例子这里可以看到返回原创 2021-04-18 17:01:25 · 518 阅读 · 0 评论 -
【Win32汇编】MOVS,STOS,REP 指令
ESI/EDI 分别叫做"源/目标索引寄存器"(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串.MOVSMOVS 指令用于将一个内存操作数的值“复制”到另一个内存操作数,使用 MOVS 前要把目标内存的地址移入 EDI,源目标内存移入 ESI。(记忆方法:D表示destination,目标;S表示source,源)假设内存 0x0019FF70 的值为2,0x0019FF6C 的值为1,将这两个地址分别存入EDI E.原创 2021-04-18 16:40:22 · 3239 阅读 · 0 评论 -
OllyDbg调试
窗口介绍快捷键:指令快捷键含义Restartctrl+ F12重新开始调试 (终止正在调试的进程后再次运行)Step IntoF7执行依据OP code (操作吗), 肉遇到调用命令 (CALL) ,键进入函数代码内部StepF8执行一句OP code (操作吗), 若遇到调用命令 (CALL), 仅执行自身,不跟随进入Execute till ReturnCtrl + F9一直在函数代码内部运行,知道遇到RETN命令,跳出函数未完待续。原创 2021-01-26 20:56:36 · 141 阅读 · 0 评论 -
攻防世界reverse
reversegamegame把文件下下来放入linux先看一下是多少位的,这里发现是32位的打开ida,然后在这个页面按shift+fn+f12(笔记本),台式机的话直接shift+F12,查看字符串接下来进入这个页面这里发现一串字符串,意思是完成flag是这里我们点进去这里我们f5反汇编一下,他提示请选中函数这里我们要ctrl+x选中一下函数,然后再按f5进入反汇编进入反汇编这里我们转到最下面,可以看到一个c语言代码 for ( i = 0; i < 56;原创 2020-11-12 20:44:19 · 105 阅读 · 0 评论