
逆向工程
s0i1
s0i1seed
展开
-
Jarvis OJ (逆向):Classical Crackme
flag是常量base64 解码出结果原创 2019-12-31 19:33:36 · 339 阅读 · 0 评论 -
Jarvis OJ (逆向):FindKey
python文件进行反编译:# Embedded file name: findkeyimport syslookup = [196, 153, 149, 206, 17, 221, 10, 217, 167, 18, 36, 135, 103, 61, 111, 31, 92, 152, 21, 228, 105, 191, 173, 41, 2, 245, 23, 144, 1...原创 2020-01-04 15:35:41 · 933 阅读 · 0 评论 -
Jarvis OJ (逆向):DD - Hello
文件类型 Mach-O:核心函数:int sub_100000CE0(){ int result; // eax signed int v1; // [rsp+1Ch] [rbp-14h] int v2; // [rsp+24h] [rbp-Ch] v2 = ((unsigned __int64)((char *)start - (char *)sub_10000...原创 2019-11-09 19:00:22 · 359 阅读 · 0 评论 -
2018tjctf:validator writeup及gdb调试相关知识点
这个题当时没做出来,因为我当时只熟悉windows下ida和od的使用,不会linux下gdb的逆向相关的使用看来多学些东西还是有些用处的:思路一: 放进ida找到mian函数一个F5,出来类c代码: int __cdecl main(int argc, const char **input, const char **envp){ char...原创 2018-08-26 23:59:48 · 512 阅读 · 0 评论 -
gdb逆向调试知识点
disassemble //gdb下使用可以查看汇编代码 disassemble /m 函数名 /m 源码和汇编一起排列 disassemble 不带参数,默认的反汇编范围是 所选择帧的pc附近的函数 单个参数, 就是pc, 当然也可以是函数名,因为函数名 也是一个 地址; 这样范围就是该pc附近的函数 两个参数,就是内存地址范围 使用display /i $pc(结...原创 2018-08-26 23:58:33 · 3231 阅读 · 0 评论 -
BugkuCTF ConsoleApplication4解题思路及相关知识点
这个题的意思是: 一共8栈灯,每盏灯的状态改变都会改变它前后挨着的两个灯的状态,要求点亮所有的灯获得flag 要求输入数的范围在1-8之间,0是重新开始思路一:一: 算法是1-8,8栈灯,点一个改变3状态,写脚本爆破吧!!(想模仿出题人的想法把中间过程表达出来,结果还是自己太年 轻) 贪心 ...原创 2018-08-25 17:29:48 · 858 阅读 · 0 评论 -
Reversing.Kr中Easy Crack和EasyKeygen
Easy Crack:丢进od之后感觉不是很清晰,就放进ida中在偏移.text:00401020中找到核心函数,找到if字段分析后得到flag是:Ea5yR3versingEasyKeygen:丢进ida中找到main函数:F5后的类C代码:看到两个输入的我表示摸不着头脑,看看别人的writeup:发现我忽略了文件夹中还有一个readme.text:直接指明了s...原创 2018-10-09 16:16:51 · 449 阅读 · 0 评论 -
汇编指令机器码对照
一、状态寄存器PSW(Program Flag)程序状态字寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成,如下所示:15 14 13 12 11 10 98 7 6 5 4 3 2 1 0 OF DFIF TF SF ZF AF PF CF 条件码:①OF(Overflow Flag)溢出标志。溢出时为1,否则置0。②SF(Sign Flag...转载 2018-11-14 14:52:46 · 11046 阅读 · 0 评论 -
全新世纪存档修改
找到存档1: Save1.rxdata去网上下载RPGDataViewer(或者这个https://www.s-gs.net/rxdataeditor/),打开对应的数据存档文件之后找到人物角色:7里面是人物状态: 8里面是钱装备等:游戏所在文件夹下的Data文件夹是所有的固定数据(人物(人物最大等级,是否佩戴了装备...),武器,怪物种类,),目测这些数...原创 2018-12-23 17:04:45 · 11547 阅读 · 1 评论 -
恶意代码分类依据
原创 2019-01-21 15:56:34 · 2476 阅读 · 0 评论 -
Reversing.Kr EasyUnpack(脱壳)
ReadMe.txt文件内容是: 提示是要找到入口点,之后找到ex寄存器的00401000处的内容。参照大佬思路: 1、用OD载入待脱壳文件,如果出现压缩提示,选择“不分析代码”; 2、向下单步跟踪,实现向下的跳转; 3、遇到程序往上跳转的时候(包括循环),在回跳的下一句代码上单击并按键盘上的“F4”键跳过回跳...原创 2019-04-12 22:17:50 · 302 阅读 · 0 评论 -
BugKU:Timer(阿里CTF);打包,签名
题目描述:给了一个Android的apk文件安卓上安装一下,运行截图: 由运行截图可以看出,这个程序是要求把时间耗尽,才会出flag,所以思路是修改时间(找到数字200000)。首先ApkTool先解包一下: ...原创 2019-04-21 15:30:22 · 860 阅读 · 0 评论 -
Reversing.Kr ImagePrc
打开程序,可以进行画图类似于一个画图程序,猜测题目要求是画出某个图形之后进行对比,对比成功后获取flag。 乱画一通后,点击check按钮,弹出消息框: 看看WinMain之后,顺着Wrong消息框...原创 2019-04-14 22:00:37 · 344 阅读 · 0 评论 -
Reversing.kr Music Player
提示: 大概意思是:这个mp3播放器被限制到了一分钟,你必须要让它播放超过1分钟,这有一些一分钟的检测点,在通过了所有检测点之后就会看到flag。程序运行: 最上面的是文件选择选项,中间的是1分钟的进度条,最下面从左到右依次是:播放键、暂停键、停止键、音量1分钟之后弹窗: ...原创 2019-04-17 21:47:32 · 563 阅读 · 0 评论 -
Reversing.kr Replace
程序运行: 只能输入数字序列,不能输入字母和字符查壳,无壳,标准c++程序: 我在想,能不能爆破,嘿嘿嘿,但是我不会写相应的脚本。IDA打开,String,找到 "Correct!" 查看调用的函数,找到获取输入内容的函数GETD...原创 2019-04-18 21:54:24 · 438 阅读 · 0 评论 -
Reversing.Kr EasyELF
因为是ELF文件,打开了ubuntu,但上面没装上IDA,只能gdb调试 首先,objdump -d Easy_ELF 查看一下汇编 由于不是很熟悉<unistd.h>,最后还是用windows的IDA打开了,准备静态分析: 首先找到main函数,F5: 中间的sub_8048451()函数就是判断的关键,上面的sub_8048434()...原创 2019-04-19 15:41:40 · 258 阅读 · 0 评论 -
全国大学生信息安全竞赛(2019)--- easyGo(逆向,Go语言)
第一步首先想到的是,使用gdb打开,进行动态调试,但是我不知道怎样下断点在程序未运行时,下断点,因为它老是报错::这些是对于文件的操作,找错方向了搜索字符串read:向上翻一点:核心函数:Go语言用IDA根本找不到调用的标准库函数,导致的结果是import窗口一片空白,所以确定核心函数很关键。由Try again 的错误提示字符串,...原创 2019-04-21 13:41:25 · 1921 阅读 · 2 评论 -
实验吧(逆向):debug
32位elf:拖入IDA,搜索 flag,找到在flag处下断点,动态执行,无果。 这说明这一块函数根本就没有执行,可能原因是:未执行的分支,或这个是分支以外的代码。 去linux下gdb执行,b main 未定义。 既然b main 不行,那试试b __libc_start_main ,可以。 ...原创 2019-08-19 17:31:22 · 324 阅读 · 0 评论 -
实验吧(逆向):defcamp
文件类型查看:由输出作为索引一步步向下找。定位到这,两个关键地址 0000000000400936 000000000040094C反汇编一下,关键在于qword_601080 :qword_601080 所代表的是一个链表的使用,具体看注释。signed __int64 __fastcall main(__int64 a1, char **a...原创 2019-08-24 19:42:49 · 561 阅读 · 0 评论 -
实验吧(逆向):逆向观察
a simple reverse view解题链接:http://ctf5.shiyanbar.com/reverse/rev50/rev50看一下文件类型:思路1:直接得到与输入字符串的进行对比的字符串注意:C语言数据存储方式 整型数据:低位在低地址,高位在高地址; 字符串:串首在低地址,串尾在高地址。 s...原创 2019-08-27 21:15:11 · 300 阅读 · 0 评论 -
实验吧(逆向):分道扬镳
题目:注意进入正确的流程,用最短的步骤走完迷宫。解题链接:http://ctf5.shiyanbar.com/423/re/rev2.exe过程IDA打开:顺着去找main函数: int main_0(){ size_t v0; // eax size_t v1; // ...原创 2019-09-04 11:09:52 · 355 阅读 · 0 评论 -
实验吧(逆向):10000000
题目:寻找正确的输入解题链接:http://ctf5.shiyanbar.com/423/re/reverse3.exe在IDA中找到main函数F5一下:int __cdecl main(int argc, const char **argv, const char **envp){ char v4; // [esp+14h] [ebp-34h] char v5;...原创 2019-09-04 12:33:43 · 293 阅读 · 0 评论 -
实验吧(逆向):1000
题目答案格式:CTF{}解题链接:http://ctf5.shiyanbar.com/misc/1000.exe运行截图,1000有特殊含义: 运行程序之后,发现生成了一张图片 tip.jpg : 可疑区: 函数入口...原创 2019-09-04 17:30:11 · 285 阅读 · 0 评论 -
Jarvis OJ (逆向):软件密码破解-1
题目:看到别人的wp都说有壳,不知道为什么我的PEid查不出来壳的具体种类,运行程序,输入错误则退出。 IDA中,函数有几百个一个一个找核心函数肯定不现实,OD动态调试,找到 “你赢了”:向上翻,找到函数的开头CB1BB0向下翻,找到5个集中跳转:既然题目是密码破解,肯定是和加密算法有关的,所以要分析一下这5个jnz上面的具体操作:...原创 2019-09-13 18:19:49 · 802 阅读 · 0 评论