reversing.kr replace 之write up

好似reversing除了前几个容易些,后面的都很难的。看wp都很困难。首先wp提示crtl+n查看程序所有函数,并且找到了测试函数:

然而宝宝我换了n多个od都没有得到和作者同样的结果:

后来运行程序后再用ctrl+n神奇的出现了:

那我们就按照wp一步一步来:跟进目标函数,我们发现了如下目标函数:

f8一直向下执行:

我们发现程序走到这里就执行不下去了,这次我们输入0,观察此时对应的EAX=0x611605cb,于是我们分析得到由于我们输入错误所以eax到了错误的地址,所以eax=输入+0x611605cb,我们再回过头来看下最初的程序:

由再上面一张图eax为0x90查找资料0x90表示为nop指令。如果我们把eax覆盖到ascii前面两条jmp指令,那么我们的程序就可以执行到下面的指令了,所以我们输入的值为0x100401071-0x611605cb=2687109798:

这题真的很不简单!

时间: 2024-08-10 01:32:54

reversing.kr replace 之write up的相关文章

Reversing.Kr writeup

Reserving.Kr writeupEasy CrackEasy KeygenReplaceEasy_ELF Reversing.Kr writeup 这个网站http://reversing.kr 学习逆向很不错.各个平台的逆向都有,最近在慢慢的刷这些题 Easy Crack 看名字就知道很简单,PEID查壳,拖入OD,找到关键代码 0040109B|.8B7C2470 mov edi,dword ptr ss:[esp+0x70];|user32.76D1D2B3 0040109F|.8

reversing.kr学习之路-ransomeware

ransomeware - writeup 题目来源 http://reversing.kr 题目知识点:upx + 花指令 + 堆栈不平衡 + exe特征码提取key 前言 文章只是记录一下自己在reversing.kr上学习CTF逆向的经历,如果文中出现什么技术错误,烦请各位大佬,在评论中指正.本人技术刚刚入门,菜鸟一枚,大佬勿喷啊- 正文 首先在网站上下载附件,得到一个zip,里面包含了一个txt.一个exe和一个file.根据txt里面的提示,可以得到exe为加密程序,file为加密后的

[Reversing.kr] Easy_KeygenMe Writeup

IDA打开.Main()函数就是关键算法 v6,v7,v8 是连续的 .可看成 L=[16,32,48].输入的name每位分别于L[]异或 得到的值存在v13.然后清空v9的值 ,输入Serial储存在v9  再让v13与v9比较. 可还原算法: #!usr/bin/env python #!coding=utf-8 __author__ = 'zhengjim' name = raw_input() L=[16,32,48] flag ='' for i,name in enumerate(

reversing.kr easy crack 之write up

之前学逆向感觉学得一踏糊涂,这阶段好多师傅带我,一定要好好学,重新开始,认真学习. 来看打开可执行文件: 用ollydbg载入,单步执行后停到了入口点: 分析入口点,并没有加壳,于是F9执行程序,跳出了程序执行框,随便输入些字符,出现了错误框的提示: F12暂停程序后Alt+k查看调用栈: 补充: MessageBox指的是显示一个模态对话框,其中包含一个系统图标. 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息.消息框中返回一个整数值,该值指示用户单击了哪个按钮. 在图中高亮处点击

Reversing.kr Position分析题解

先看下程序界面和要求: 76876-77776是固定的数值,要求在空白处输入相应的 字符.要求字符数4个,且最后一个为p.答案不唯一. 1,首先我们查下壳,没有加壳,c++写的程序. 2,使用IDA查看下, 很多这样的函数,让人没有头绪. 3,再使用OD查看下,地址并不是常见的.我们查看下是否有反调试之类的函数. 最常见的函数isdebugerPresen.按下ctrl+N,输入函数 还真有这个函数,使用d fs:[30]+2  使0修改为1,然而并没有什么用. 4,寻找到获取输入的位置,常见的

诚意干货:如何神不知鬼不觉破解你家路由器 | 硬创公开课

你见过"僵尸"来袭吗? 你自己也成为其中一个"僵尸"会是怎样的感受? 这次,可能要玩得更酷炫一点! 如果你家路由器被破解,那么就可能是5万僵尸网络中的一员! 带来此次讲座的是一个"别人家的小孩",他目前还在读大三,却已经是长亭科技核心安全团队中的一员.2016年,他和团队在黑客盛会GeekPwn上破解了11款路由器,获得冠军,并拿下42万元奖金. 为什么要聊这个话题? 路由器是互联网络的枢纽--"交通警察".目前路由器已经广泛

网络安全学习和CTF的一些网站

http://www.sec-wiki.com/skill/ 安全技能(里面渗透逆向编程都有介绍) http://blog.knownsec.com/Knownsec_RD_Checklist/ 知道创宇研发技能表v3.0 综合学习平台: http://edu.gooann.com/ 谷安网校 http://www.jikexueyuan.com/ 极客学院 http://www.hetianlab.com/ 合天 http://www.moonsos.com/ 米安网 http://www.i

简化条件表达式之以卫语句取代嵌套条件表达式(Replace Nested Conditional With Guard Clauses)

函数中的条件逻辑使人难以看清正常的执行途径.使用卫语句表现所有特殊情况. 动机:条件表达式通常有2种表现形式.第一:所有分支都属于正常行为.第二:条件表达式提供的答案中只有一种是正常行为,其他都是不常见的情况. 这2类条件表达式有不同的用途.如果2条分支都是正常行为,就应该使用形如if…..else…..的条件表达式:如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回.这样的单独检查常常被称为“卫语句”. Replace Nested Conditional with

648. Replace Words(LeetCode)

In English, we have a concept called root, which can be followed by some other words to form another longer word - let's call this word successor. For example, the root an, followed by other, which can form another word another. Now, given a dictiona