C/C++逆向(windows)
文章平均质量分 91
C/C++逆向(windows)
大灬白
没有绝对安全的系统
展开
-
Wintel机器代码反逆向(C/C++反逆向破解)
文章目录Wintel Machine Code Anti-Reversing Exercise标题的提示文字6个功能的提示文字功能2:添加记录方法一:修改跳转方法二:修改返回值第一种修改方式第三种修改方式第四种修改方式Wintel Machine Code Anti-Reversing ExerciseDescription of the Exercise:Apply the anti-reversing techniques Eliminating Symbolic Informationand原创 2021-07-05 10:43:36 · 734 阅读 · 0 评论 -
Wintel机器代码反反转练习(C/C++逆向)
文章目录标题的提示文字6个功能的提示文字功能2:添加记录方法一:修改跳转方法二:修改返回值第一种修改方式第三种修改方式第四种修改方式Wintel Machine Code Anti-Reversing Exercise Description of theExercise:Apply the anti-reversing techniques Eliminating Symbolic Informationand Obfuscating the Program, both introduced i原创 2021-06-11 22:00:10 · 516 阅读 · 2 评论 -
PE文件格式分析
PE文件格式一、MS-DOS头部DOS MZ头看个实例:DOS Stub看个实例:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210317235647921.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09ubHlvbmVfMTMxNA==,size_16,color_FFFFFF,t_70)二、PE文件头原创 2021-03-18 00:38:55 · 1652 阅读 · 0 评论 -
Crackme2.exe(C++语言逆向)
Crackme2.exeRules:Do not PatchSniff a serial for your namewrite a keygen首先运行程序,随便输入用户名和注册码,发现输出Error用IDA打开,找到关键代码:代码的主要逻辑就是这:所以这个程序的主要逻辑就是将我们输入的用户名进行一些计算,然后将结果与我们输入的序列号进行比较,相等则输出“Correct :: Good Work”。我们将程序加载进OD中去,然后搜索字符串,找到对应的位置:然后进入到关键代原创 2021-03-05 13:47:57 · 1094 阅读 · 2 评论 -
看雪.京东 2018CTF 第十二题 破解之道
目录CTF(看雪.京东 2018CTF 第十二题 破解之道)第一步:第二步:第三步:第四步:第五步:第六步:CTF(看雪.京东 2018CTF 第十二题 破解之道)x6412.exe先打开程序:是一个输入字符串再判断对错的程序。打开程序进行动态调试,一步一步走。首先会遇到一个对输入数据的长度进行判断的地方如下图所示:第一步:这里会对输入的数据的长度与0x1E进行比较,如果不相等的话就会跳到错误的地方。所以得到第一个条件就是输入的长度必须是30;第二步:然后继续向下执行,找到再次出原创 2021-02-15 10:10:11 · 660 阅读 · 0 评论 -
keygenme(Linux x64 Windows x64逆向)
Yet another crackme (or rather keygenme).Executables: Linux x64 Windows x64It is just to be run with nameand serial number as command line arguments. Valid ones are:2Z7A7-EK270-TMHR4-BHC71-CEB52-HELL0-HELL0-EONP92Z7A7-6I7R9-MZGO9-FDQJ3-JN0Q6-HELL0-H原创 2021-02-15 10:07:23 · 1939 阅读 · 2 评论 -
super_mega_protection.exe(C语言逆向、windows)
目录Exe: super_mega_protection.exe第(1)问:(简单)在任何调试器的帮助下,强制程序接受更改后的密钥文件第(2)问:(中等)您的目标是将用户名修改为另一个用户名,而不需要修补程序。题外话:Exe: super_mega_protection.exeKey file: sample.keyThis is a software copy protection imitation, which uses a key file. The key file contain a us原创 2021-02-11 18:04:13 · 494 阅读 · 0 评论 -
CraMe1.exe(C语言逆向、windows)
CraMe1.exe要求:运行CraMe1.exe,提示 "u r right!"代表成功。首先修改exe使得出现成功提示,其次不修改exe输入正确的密码达到成功的目的。第(1)问:修改exe使得出现成功提示先打开运行CraMe1.exe: 应该是输入一串字符,经过判断之后输出“u r wrong”或者“u r right!”。 用IDA打开CraMe1.exe,在String Windows搜索字符串“u r right!”:双击进入IDA View-A,这里是所有字符串在内存中的原创 2021-02-11 16:30:05 · 1606 阅读 · 7 评论 -
ty123‘s Reverseme1.exe的详细解答
ty123’s Reverseme1.exe的详细解答hint:Import Address Table我们先打开Reverseme1.exe:要求分为两部分:1.窗体中有一个隐藏按钮,将它显示出来并起作用;2.按F7功能键,显示出这个消息框。第(1)问:窗体中有一个隐藏按钮,将它显示出来并起作用Reverseme1.exe是基于win 32的GUI编程软件,IDA打开只能看到调用的API函数和大致过程:所以我们用OD打开程序,查找字符串到主模块(Reversem):查看当原创 2021-02-11 16:27:06 · 2171 阅读 · 0 评论 -
逆向工程实验——pre3(reversing.kr写题)
reversing.kr写题登陆网站http://reversing.kr 点击challenge选项 选一个题目完成。PEPassword首先拿到这道题的时候我们发现有两个exe文件,开始不太懂两个exe文件是什么意思,就对两个exe文件分别运行,然后运行结果如下所示:运行Original.exe结果:运行Packed.exe结果:可以看出是要我们输入一串数据,那我们就首先对Packed.exe进行分析,看我们输入数据后会进行何种处理。将packed.exe拖入ida中进行分析,发现有四个原创 2020-10-28 10:36:28 · 1143 阅读 · 0 评论 -
bugku-逆向-13、Take the maze(VC++32位逆向、IDC脚本使用)
文章目录一级目录二级目录1、IDA静态分析2、主函数分析3、OD动态分析4、关键sub_463480函数分析(1)byte_541168数组分析(2)迷宫游戏的方向和形状5、脚本寻找路径6、路径转换得到flag一级目录二级目录首先下载运行ConsoleApplication1.exe:是需要输入一个字符串或者数字之类的之后PEid查壳:32位的控制台程序,没有壳。1、IDA静态分析再用IDA打开静态分析,找到main函数,按F5反编译:main_0函数带注释的源代码:__int64原创 2020-10-25 00:44:46 · 2512 阅读 · 0 评论 -
bugku-逆向-12、Mountain climbing(Win32位逆向、UPX脱壳)
文章目录1、脱UPX壳2、IDA反汇编静态分析3、伪随机数组4、第一次错误的思路(没有考虑完整)5、没有考虑的sub_41114F函数6、OD动态分析7、得到真正的flag8、继续的仔细分析(sub_411750函数)9、关键的sub_411900函数10、正确完整的代码首先下载运行ConsoleApplication2.exe:发现是输入一个字符串或者数字,错误就输出“error”.1、脱UPX壳然后用PEiD查壳:发现有UPX的壳,再用Upx静态脱壳机脱壳:2、IDA反汇编静态分析原创 2020-10-17 23:01:12 · 3978 阅读 · 11 评论 -
bugku-逆向-3、Easy_Re
首先对Easy_Re.exe查壳:并没有壳,是用Visual C++写的控制台程序,然后就把它用IDA打开,用不同把那本的IDA打开对exe的数据解析和反汇编的伪代码是有些差异的,这是7.0版本的伪代码:这是6.8版本的伪代码:int sub_401000(){ int v0; // eax __int128 v2; // [esp+0h] [ebp-44h] __int64 v3; // [esp+10h] [ebp-34h] int v4; // [esp+18h] [eb原创 2020-09-17 23:18:38 · 7906 阅读 · 0 评论 -
bugku-逆向-2、easy_vb
下载程序,运行一下:再用PEiD看一下有没有加壳:发现是MFC编程的软件并没有加壳,再用IDA打开它:F5反编译伪代码,发现并没有源代码,这就是上面我们说的MFC编程的原因。只能看汇编代码了,先搜索文本:flag、CTF:刚好.text代码段中找到了MCTF{N3t_Rev_1s_E4ay}。提交的flag是flag{N3t_Rev_1s_E4ay}。用OD打开,程序停在入口处:在这搜索字符串flag、CTF:并没有发现flag。这时候我们发现程序的注释中写着:“下面的call原创 2020-09-15 21:26:33 · 5635 阅读 · 0 评论 -
bugku-逆向-1、逆向入门
首先下载逆向入门的exe的文件原创 2020-09-08 15:49:10 · 6159 阅读 · 0 评论 -
bugku-逆向-4、游戏过关(4种简单的方法介绍)
题目是个consoleapplication4.exe,运行一下:是一个游戏:n是灯的序列号,m是灯的状态如果m (n) = 1,它是开着的,如果不是,它是关着的起初所有的灯都关着现在你可以输入n来改变它的状态但是你要注意一件事,如果你改变N灯的状态,(N-1)th和(N+1)th的状态也会改变当所有的灯都亮着的时候,flag就会出现现在,输入n。就是输入一个1到8之间的数,例...原创 2019-04-20 11:10:22 · 13727 阅读 · 7 评论 -
bugku-逆向-7、love
首先下载reverse_3.exe,再用PEiD查壳:无壳,是用C++写的控制台程序。再用IDA打开,F5反编译查看源代码:我们发现代码的主要逻辑就是输入一串flag字符串Str,Str经过sub_4110BE函数,返回给v1一个字符串,v1再复制给Dest字符数组,Dest数组经过一个for循环的逐个加运算,最后将得到的Dest字符数组和Str2字符串’e3nifIH9b_C@n@dH’比较是否相等,相等则输出rigth flag!点开sub_4110BE函数:刚开始觉得这个函数怎么这么复杂原创 2020-09-26 16:15:26 · 6211 阅读 · 0 评论 -
bugku-逆向-6、逆向入门
首先下载admin.exe文件,先用PEiD查壳发现竟然不是有效的PE文件,用010Editor打开:发现前面有提示信息:data:image/png;base64,是base64转码的PNG图片,且其格式是HTML中引用Base64图片的格式,我们只要给它在最前面加上 闭合:之后就可以把它作为HTML文件中引用的Base64图片打开:扫描二维码:得到flag:bugku{inde_9882ihsd8-0}也可以直接在线Base64编码转图片https://tool.jisuapi.c原创 2020-09-26 16:05:30 · 6970 阅读 · 0 评论