二进制-逆向工程
charlie_heng
这个作者很懒,什么都没留下…
展开
-
writeup-F#ck EKOPARTY
The miracle of the expressive functional programming, is it really functional? 题目如上,下载完附件,先扔进IDA看下有什么东西,看了下发现又是.net,祭出神器reflctor,反汇编一下,看了下有个getflag函数,接受一个字符串,而在main函数那里传过去一个字符串t#hs_siht_kc#f于是乎直接把getf原创 2016-11-30 10:39:40 · 279 阅读 · 0 评论 -
【逆向学习】暗号 writeup
这是16年国赛的一道题,以前做过一次,现在又重新做一下,做完这题感觉到。。。单纯靠脑子来跑程序真心不可靠,还是copy下再run下观察结果来得实际点首先看下check函数 在WeAretheChangPingPeople这个函数里面,在5555端口监听信息,然后与hhxptgdlffojwztpewc比较接下来看下NowYouSeeMe这个函数 开头的一大段连接5555端口之类的就不看了,我们来原创 2017-12-20 13:25:49 · 785 阅读 · 0 评论 -
【逆向学习】 拯救地球 writeup
这是16年的国赛的逆向,话说这名字感觉真有点中二。。。。首先反编译了一下class文件,看了下,并没有什么重要的东西,只是调用了native函数然后反编译下so文件首先看了下JNI_Onload函数 看起来注册了一个native函数,进那个函数看下然后按alt+G把值改为1,设为code16模式看了下大部分都是各种反调试,还有提取资源比较有用的是sub_2B40里的sub_1760这三个函数的作用原创 2017-12-20 20:42:43 · 807 阅读 · 0 评论 -
jarvis oj 软件密码破解-3 Writeup
打开软件,首先用mfc工具找一下那几个按钮的处理函数发现确定按钮默认是不能点击的,看了下函数,发现要输入字符长度为16,且只包含A-F和0-9先输一下16个1,找了几个比较可疑的函数下断点,发现有个函数断成功了sub_401B80首先是调用了一个函数,对输入的字符处理一波,然后在后面一长串判断条件里面判断处理后的东西是否是对的这里很简单就能解出这八个字符的ASCII码是 119,51,49,108原创 2017-11-25 19:14:12 · 584 阅读 · 2 评论 -
Jarvis oj 文件数据修复 writeup
感觉这题把逆向玩成了misc。。。。首先用mfc工具找到处理解密的函数看了下代码,是把输入的密码一顿操作之后生成16位的key然后用这个key异或一波文件的内容,异或完一次之后+1但是关键是我们不知道密码是什么。。。虽然提示了8位纯数字,但是爆破依然很浪费时间于是就发呆看着屏幕。。。结果看到有几列东西是每一列+1。。。于是大胆猜测全部都是0,这些就是key加了n异或后的结果于是写个脚本,解出文件,b原创 2017-11-25 20:40:46 · 420 阅读 · 0 评论 -
【逆向学习】还是代码 writeup
这是jctf2014的一道题首先用工具查出来关键的函数是sub_401430看了下,大概逻辑是用pass1对在0x422000地址一顿操作,具体操作是取两个字节,比如说第三四个字节,0xc3,0x2将0x2左移八位,然后加上0xc3,得到的结果传进sub_4011A0sub_4011A0的参数有三个,第一个是上面得到的结果,第二个是pass1,第三个是1517函数的代码如下 写段python原创 2017-12-22 11:44:01 · 749 阅读 · 0 评论 -
实验吧 此处无声 writeup
无聊又刷了一下实验吧,把很久之前没做出来的此处无声做出来了首先用ida打开,明显是有壳的,用侦壳工具查了一波,没查出什么壳。于是尝试手动脱一波,但是能力不足,还是没脱成功,但是用GetWindowText等函数断点断了一波,断在了一个比较明显的处理函数上面,于是直接把这个函数开始当oep直接dump下来。dump下来之后,用ida打开,看了下比较重要的就是那个memcmp那里,看起来就是比较结果的动原创 2017-12-05 21:35:06 · 1202 阅读 · 2 评论 -
jarvis oj DebugMe writeup
话说这题真的是玄学做出来的。。。首先看一波main函数sub_A30这里是fork了一个子进制,然后调用ptrace post了一些东西到子进程那里然后这里就是异或了一波输入的东西接着在下面看到有这个东西,也是输入异或了一波这里的判断条件有点看得不是很懂,这里也不多说。。。免得误导这里插了一个breakpoint,目测就是跟上面子进程那里有关在sub_c14里面就是主要的判断逻辑的地方v3就是传进原创 2017-11-27 14:04:11 · 614 阅读 · 1 评论 -
【逆向学习】 maze writeup
这题是16年的国赛逆向题目main函数如下 首先调用了两个函数来初始化,这里应该是初始化了一个22x22的矩阵看下下面的验证函数 看了下,这里应该是一个走迷宫,从0,0走到21,21,一次只能往上下左右走,而且这一次向左右走了,下次只能往上下走那么卡个断点,把矩阵给扒出来,之后跑个dfs只能跑出来答案下面是dfs的代码b=[0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,原创 2017-12-19 15:34:59 · 771 阅读 · 0 评论 -
实验吧 520app3 writeup
这道题在之前比赛的时候也遇到过,当时一脸懵逼……(虽然现在也是差不多首先先看看怎么动态调试so,这是教程http://blog.csdn.net/feibabeibei_beibei/article/details/52740212按着教程,把Debugger option的那三个选项给选上,之后也不用取消掉然后断在linker之后根据偏移找到.init_proc本来想跟下去原创 2018-01-25 19:04:59 · 990 阅读 · 0 评论 -
codegate ctf reverse easy_serial writeup
这题拿到,拖进ida,看到ghc之后,我又想起了被haskell统治的恐惧……首先用hsdecomp来反编译一波,得到如下的代码s1b4_info = unpackCString# "abcdefghijklmnopqrstuvwxyz"loc_7172600 = I# 9s1bb_info = !! s1b5_info loc_7172488loc_7172488 = I#原创 2018-02-04 21:25:49 · 628 阅读 · 0 评论 -
hackme inndy reverse termvis writeup
这题其实还算简单首先分析下程序,估计是读取png里面的数据,然后打印出来一张图片,虽然根本看不到…….打印完图片之后,会执行藏在png里面的brainfuck代码,然后读取输入,再判断输入是否是flag看了下程序,本来想直接用qira神器一波带走的…..但是无奈内存不够,gg一波然后只好老老实实用gdb来调试断点很明显就要下在判断那里,地址是0x40671E首先输入c,跑个...原创 2018-02-13 22:44:15 · 378 阅读 · 0 评论 -
hackme inndy reverse rc87cipher writeup
话说这题真的挺难折腾出来的首先这个程序是有upx壳的但是这个壳被魔改了,关键的信息都被删除了,在google搜了半天linux upx upack 都找不到什么有用的信息有两条路,一条是修复关键信息,一条路是像windows那些程序那样手动脱壳脱下来两条路其实都试了一下,不过最终行得通的是第二条路这里说下第一条路,如果你们有兴趣的话,可以去试试首先作者把0xB4~0xB7处...原创 2018-02-01 11:14:10 · 637 阅读 · 0 评论 -
hackme inndy reverse mov writeup
MOV instruction is turing complete! mov是图灵完备的! 说真的,第一次看到这题的时候感觉真的完全震惊。。。一大堆mov,还以为是把代码写到一个地方,之后跳到那里,但是debug的时候并没有。。。然后过了一阵子,在油管上无意中看到一个视频,讲的是怎么只用mov来写程序的。。。。然后想起这题。。。 看完那个视频之后,油管又推了一个怎么解这种movfusc...原创 2018-01-30 15:42:27 · 992 阅读 · 0 评论 -
jarvis oj reverse 病毒数据分析 writeup
这题之前做过,但是做到一半就放弃了,现在又回来做一下首先这题其实还是有点难度的我们先来分析下main函数部分,首先它做了反debug判断,获取父进程信息 其次它还判断了程序所在位置,过了这几个判断之后,获取当前时间作为seed给srand然后在注册表里面拿到文档所在的目录接着在目录里面搜索docx后缀的文件,将其加密之后发送出去在加密那里,它做了几件事 1. 生成8字节随机...原创 2018-02-19 09:33:38 · 430 阅读 · 0 评论 -
juckcode writeup
这是某市的大学生ctf比赛里面的题,本来看着分值只有200,想着应该不是很难,结果弄了我几个小时。。。。首先用ida打开,扫了一下,发现有些地方反编译不出来,应该是花指令,用ida手动修了几个,发现只有两种花指令,而且格式都一模一样,那直接写个脚本来去花指令吧a=b'\x8B\xEC\x6A\xFF\x68\x33\x22\x11\x00\x68\x11\x22\x33\x00\x64\xA1\x0原创 2017-11-09 09:07:16 · 659 阅读 · 0 评论 -
格式化字符漏洞 tamuCTF pwn3 writeup
之前一直不怎么会格式化字符串的漏洞,刚好碰上这道题,学习一波首先看下main函数,读一个字符串,然后打印出来,之后直接exit(0) 无法利用栈溢出跳转,但是prinf是直接打印读取的东西,这里就存在一个格式化字符串漏洞。 这里推荐一个格式化字符串漏洞入门的教程: http://codearcana.com/posts/2013/05/02/introduction-to-format-stri原创 2017-06-05 10:42:30 · 1054 阅读 · 0 评论 -
writeup--echo server
最近在做逆向的题,在xctf实训平台上找了一下,挑了个比较简单的来做 题目描述: Input the secret, output the flag. 下载地址 下载之后发现是elf,先拖ida里面看一下,发现很多个函数都识别不出来,都是出现call xxxxx+1的情况,这个很明显就是插入了E8或者其他东西造成ida识别错误, 首先看一下main函数 有一个loc_80487C1+3,原创 2017-05-10 09:30:21 · 347 阅读 · 0 评论 -
writeup-JVM EKOPARTY
下载下来发现是一个class文件,上网下了个class反编译的工具看了下源码还真够简单粗暴。。。直接运行得到flagEKO{893116}原创 2016-11-30 10:42:16 · 231 阅读 · 0 评论 -
writeup-FLAG 实验吧
题目如下 请输入 FLAG,下面的页面会告诉你 FLAG 是否正确 解题链接: http://ctf5.shiyanbar.com/qwctf/flag-checker.html 看了下打开的页面,发现一大串js代码。。。分析了一下发现a[0]给出了,然后可以一个个地推下去于是把js代码保存在一个文本下面,写了个py代码来解import recontent =open("C:/Users/Adm原创 2016-11-30 10:47:04 · 1635 阅读 · 0 评论 -
writeup-RrEeGgEeXx EKOPARTY
State-of-the-art on authentication mechanisms. 题目如上,下载完附件,扔进IDA,发现又是c#的。。。于是又扔进reflector反编译一下 分析了下发现有一个对字符串进行正则的判断if(check_regex("^.{40}$", input) && check_regex(@"\w{3}\{.*\}", input)) && (check_reg原创 2016-11-30 11:16:20 · 2680 阅读 · 0 评论 -
writeup- Old times EKOPARTY
Grace Hopper will be proud of you! Don’t let her down!题目如上,下载附件之后发现是一个savf格式的文件,百度和google了很久。。找不到什么有用的信息,然后找别人的题解,发现要一款软件打开,viewsavf,下载之后打开找几下就能找到flagEKO{0ld_t1m3s_n3v3r_c0m3_b4ck}原创 2016-11-30 11:45:48 · 244 阅读 · 0 评论 -
writeup-Back again EKOPATRY
There are no disassemblers for this kind of program or this is what we think, can you proof otherwise?题目如上,下载了附件,打开一看,发现是mbr文件,用binwalk分析了下并没有什么东西在里面,然后用winhex打开,还是找不到什么东西,然后看了下别人的wp,发现是EBCDIC编码的,于是用wi原创 2016-11-30 16:43:01 · 223 阅读 · 0 评论 -
writeup-woo
题目如下My friend let me play this sick game. Can you get the hidden flag?Challenge hosted at: 104.196.15.126:15050附件下载把附件下载下来,首先扔进IDA,查了一遍,发现有一个函数pwnme和另外一个函数是用来读文件的,在菜单输入数字4919就可以进入pwnme函数。扔进linux,用gdb试了原创 2016-12-11 09:32:13 · 248 阅读 · 0 评论 -
writeup-bby-s-first-elf
This is a basic Buffer overflow problem. The first step checking the file type, we get a 32-bit, non-stripped Binary file.附件下载地址题目如上,下载完附件,扔进IDA,看了下代码,发现没有做读入字符的校验,可以读取随意长度的字符串,还有一个没有用到的函数printflag应该是典原创 2016-12-01 21:03:20 · 263 阅读 · 0 评论 -
writeup-fd
打开题目,给出了ssh fd@pwnable.kr -p2222 (pw:guest),打开ubuntu,连接上去直接cat flag 并没有成功,先cat fd.c 看下有什么东西 代码如下#include <stdio.h>#include <stdlib.h>#include <string.h>char buf[32];int main(int argc, char* argv[原创 2016-11-21 20:13:34 · 313 阅读 · 0 评论 -
writeup-collision
题目如下 Daddy told me about cool MD5 hash collision today. I wanna do something like that too!ssh col@pwnable.kr -p2222 (pw:guest)先连上去看下有什么东西 发现有个col.c 代码如下#include <stdio.h>#include <string.h>unsig原创 2016-11-21 20:22:55 · 531 阅读 · 0 评论 -
writeup-bof
Nana told me that buffer overflow is one of the most common software vulnerability. Is that true?Download : http://pwnable.kr/bin/bof Download : http://pwnable.kr/bin/bof.cRunning at : nc pwnable.kr原创 2016-11-21 22:54:27 · 515 阅读 · 0 评论 -
writeup-flag
Papa brought me a packed present! let’s open it.Download : http://pwnable.kr/bin/flagThis is reversing task. all you need is binary题目如上,下载flag,用IDA打开发现函数异常的少,之后用IDA和gdb调了半天。。。什么东西都调不出来。。然后查了一下别人的wp。。原来原创 2016-11-22 13:28:50 · 421 阅读 · 0 评论 -
writeup-passcode
Mommy told me to make a passcode based login system. My initial C code was compiled without any error! Well, there was some compiler warning, but who cares about that?ssh passcode@pwnable.kr -p2222 (原创 2016-11-22 21:23:34 · 552 阅读 · 0 评论 -
writeup-random
Daddy, teach me how to use random value in programming!ssh random@pwnable.kr -p2222 (pw:guest)题目如上,惯例先看下题目的代码#include <stdio.h>int main(){ unsigned int random; random = rand(); // random val原创 2016-11-22 22:07:13 · 364 阅读 · 0 评论 -
writeup-coin1
Mommy, I wanna play a game! (if your network response time is too slow, try nc 0 9007 inside pwnable.kr server)Running at : nc pwnable.kr 9007题目如上,其实做起来就是小学的数学题。。但是python不熟。。写得各种蛋疼还有就是连服务器的速度太慢。。所以被迫要原创 2016-11-26 22:33:43 · 394 阅读 · 0 评论 -
writeup-Crack Me If You Can
PoliCTF 2015: Crack Me If You CanCategory: Reversing Points: 100 Solves: 196 Description:John bets nobody can find the passphrase to login! GPG key: viphHowrirOmbugTudIbavMeuhacyet’ crack-me-if-you-c原创 2017-05-16 19:26:52 · 676 阅读 · 0 评论 -
jarvis oj reverse Fibonacci writeup
这题之前也做过,不过卡了一下,现在再做,发现又会做了首先要先把加密的class从exe里面dump出来这里有个教程 http://reverseengineeringtips.blogspot.co.uk/2014/12/unpacking-jar2exe-21-extracting-jar.html因为这个版本是x64的,所以断点停的是dec r8d 停住之后,在内存那里查看...原创 2018-02-22 09:45:12 · 436 阅读 · 0 评论