逆向学习
20000s
这个作者很懒,什么都没留下…
展开
-
2021虎符ctf-逆向题解
red…mips架构,nmslGoEncrypt输入符合正则格式的flag:flag{11111111-1111-1111-1111-111111111111}, 除了”-“的其他hex编码 ,之后分成2组 xtea,脚本抄百度就行#include<stdio.h>#include<stdlib.h>#define uint32_t unsigned intvoid encipher(unsigned int num_rounds, uint32_t v[2], ui原创 2021-04-04 07:47:12 · 3167 阅读 · 3 评论 -
pe文件格式
总的来说 pe文件结构 比elf全面多了 dos头 pe nt头 file头 可选头, 区块表开头IMAGE_DOS_HEADER_STRUCT{ +0 e_imagic "MZ" +2 e_cblp +4 e_cp +6 e_crlc +8 e_cparhdr +0a e_minalloc +0c e_maxalloc +0e e_ss +原创 2021-03-11 20:33:10 · 112 阅读 · 0 评论 -
HWS计划2021硬件安全冬令营线上选拔赛 re wp
感觉这比赛比较简单。。。花了一天时间做,直接ak逆向了decription弱智题,爆破就行a = [ 0x12, 0x45, 0x10, 0x47, 0x19, 0x49, 0x49, 0x49, 0x1A, 0x4F, 0x1C, 0x1E, 0x52, 0x66, 0x1D, 0x52, 0x66, 0x67, 0x68, 0x67, 0x65, 0x6F, 0x5F, 0x59, 0x58, 0x5E, 0x6D, 0x70, 0xA1, 0x6E, 0x70, 0xA3]b原创 2021-02-01 12:25:07 · 2304 阅读 · 1 评论 -
安卓文件分析-ODEX&OAT
ODEX在android5.0之前,主要使用Dalvik,Dalvik对apk的dex文件进行一定程度的优化,解析dex文件并生成ODEX文件比dex多了以下内容DexOptHeader:ODEX文件头,描述了ODEX文件的基本信息Dependences:依赖库列表,描述了ODEX文件加载时可能使用的依赖库classlookups:优化数据块的类索引列表信息registerMaps:优化数据块的寄存器图信息struct DexOptHeader{ u1 magic[8];//固定为d原创 2021-01-22 16:41:46 · 474 阅读 · 2 评论 -
安卓文件分析-androidmanifest.xml&resources.arsc&META-INF目录
androidmanifest.xmlAXML文件格式:(apk的配置信息):xml->AXMLResFileheaderResStringpoolResIDsResXMLTreestruct ResChunk_header{ uint16_t type; uint16_t headersize;//当前ResChunk_header的大小 uint32_t size;//该chunk结构体数据的长度,它包涵当前Reschunk_header前两个字段的8字节}原创 2021-01-22 14:16:10 · 418 阅读 · 0 评论 -
1-21 安卓文件分析-dex
库文件:jar包 ,aar包dex文件:dex header头string_idstype_idsproto_ids 索引结构区field_idsmethod_idsclass_defdata 数据区linked_data 静态链接数据区struct DesFile{ const DexOptHeader* pOptHeader;//这是啥? const DexHeader * pHeader; const D原创 2021-01-21 23:00:39 · 227 阅读 · 0 评论 -
2021-1-19(idapython学习 主要是)
主要学习了下idapython,理解夜影师傅的去花指令脚本(正则nb)idapython脚本学习:https://gitee.com/it-ebooks/it-ebooks-2018-04to07/raw/master/IDAPython%20%E5%88%9D%E5%AD%A6%E8%80%85%E6%8C%87%E5%8D%97.pdffor segs in idautils.Segments(): print idc.SegName(seg),idc.SegStart(seg),idc.原创 2021-01-19 22:46:43 · 182 阅读 · 0 评论 -
1-18
今天复现了kctf-3 链表成的vm太nb了,完全看不懂,看wp,x32才调出来的,顺便安卓逆向看完了第2章,感觉就是apktool解包,修改数据再装包,没什么特别的,apktool d -o 解包apktool b 装包oncreate()监听,发消息第3章看了个头 dalvik虚拟机(寄存器 参数),比java快指令格式:梅16个字用 隔开每个字母表示4位A~z 4位操作码 op 8位操作码指令有3个字符构成第一个数字 几个16位的字2 几个寄存器3字母原创 2021-01-19 00:49:17 · 112 阅读 · 1 评论 -
kctf2 复现
今天主要是复现了kctf的第2题,x32安装了两个插件,将核心代码dump了下来,(太菜了),ida看时候甚至看不出来它有壳,用strongod脱下来后,就主要看它的算法,不得不说看雪的逆向真的是体力活,还设置了许多数学知识,真的是好题目。主要是用了线性同余发生器和hex编码,而正的idx生成的种子,要与我写的hex编码一样,我最多写道90个,所以在0~90内找12个两两做差互不相等的数字,因而最后得到flag,同时今天配好了anroid的环境,明天开始学习安卓逆向,明日计划:争取看anroid安全核心原创 2021-01-18 00:39:14 · 164 阅读 · 1 评论 -
huaweictf-re
期末考试终于考完了,逆向之旅要重新开始了,复现和写当时huaweiwp,复现kctf,以及学长让我学安卓逆向,那么也要开始了,不过安卓逆向要怎么学,希望师傅能给位指点一下weird_lua这道题,拿到手,用ida查看lua,发现是5.3.3,尝试用luadec(5.3)来试试,发现不行,盲猜虚拟机指令进行了修改,然后就不会了。。。看wp,还修改了头,我按照它的,修改了loadbyte,发现还是不行,哪个师傅能告诉我一下怎么处理阿。。。。它的版本号还是没有^0xff,只要完成这个,之后都十分顺利了。。。原创 2021-01-16 21:28:24 · 194 阅读 · 0 评论 -
纵横杯 -re部分
friednly resub413590sub4120c0sub412040sub411db0sub41123f是关键函数main函数中先nop掉几个指令,能够输入然后手动hook messageboxw,因为main函数前尝试程序自己失败了,hook成函数sub411370,然后注册了异常,异常有注册了异常,经过整理明白,按顺序整理sub4120c0 sm4密钥初始化然后sub412040 sm4对我们输入加密sub411db0 对比的答案移位 对sm4加密后的结果进行改base64原创 2020-12-27 00:22:15 · 353 阅读 · 5 评论 -
针对vmp和ollvm的解决方法
自我总结1.angr2.gdb脚本测试3.pin插桩(目前的学习经历知道这几种方法,如果有别的,欢迎师傅们补充,其中pin还没用过,angr就只会写模板,gdb还写不来。一般都动调。。。有待学习,补充)...原创 2020-11-25 09:46:12 · 1057 阅读 · 6 评论 -
祥云杯-re复现 (未完待续)
周末祥云杯没打,主要是自己想摸了。。(就是这么直白)还有就是nctf举办,我出题,我到比赛那天还没出完。。。(太咕了。。)比赛后就想来复现这比赛,看解题人数,感觉满难的,应该很有质量,就跟着null的wp复现吧,一天复现一题re1动态调试,发现对flag的每一位进行相同的操作,慢慢看太多了,因此可以gdb脚本爆破,null的脚本写错了把。。程序开了pie,第一句就不对。。。而且while也没让程序重新启动,这里给出我写的pwndbg> define f1Type commands for原创 2020-11-23 19:58:23 · 683 阅读 · 7 评论 -
c++异常处理
以vc++6.0 为例使用_cxxframehandler时,传入一个全局地址,funcinfo函数信息表,透入了c++异常的一些消息funcinfo :magicnumber : 魔数,固定数字maxstate : 最大栈展开数的下标值punwindmap : 指向栈展开函数表的指针dwtrycount : try块数量ptryblockmap : tr原创 2020-11-12 11:54:39 · 253 阅读 · 0 评论 -
radare2学习(间断更新)
rax2数值转换rax2 -s 414141 “AAA” -a show ascii table ; rax2 -a -b bin -> str ; rax2 -b 01000101 01110110 -B str -> bin ; rax2 -B hello -d force integer ; rax2 -d 3 -> 3 instead of 0x3 -原创 2020-11-04 20:07:04 · 322 阅读 · 0 评论 -
湖湘杯-re
re1ibm s/390 看逻辑就是个解方程,z3试一下,原本用bitvec,发现看上去就不怎么对,用int 就好了,真奇怪from z3 import *table = [0x00, 0x00, 0xB2, 0xB0, 0x00, 0x00, 0x6E, 0x72, 0x00, 0x00, 0x60, 0x61, 0x00, 0x00, 0x56, 0x5D, 0x00, 0x00, 0x94, 0x2D, 0x00, 0x00, 0xAC, 0x79, 0x00, 0x00, 0x39, 0x1原创 2020-11-02 16:45:20 · 1189 阅读 · 17 评论 -
今日学习(五)
昨天 西湖论剑被打爆了,逆向做了flow,感觉像srop,就一个xor tea没了,第一个迷宫不会爆破,太菜了。。loder后面没时间看了,tcl今天看了c++反汇编pwn做了两个签到题入口函数是maincrtstartup()初始化堆,环境变量什么的,感觉不重要堆变量申请堆空间时调用_heap_alloc_dbg.其中使用——CRTMEMBLOCKHEADER結構描述堆空间的各个成员,在内存中,堆结构的每个节点都是用双向链表存储typedef struct _CrtMenBlockHead原创 2020-10-10 10:05:41 · 163 阅读 · 0 评论 -
2020sctf-orz
马的,我的密码学是真的弱阿,就这个题我都要看一天,是真的服了,不过是真的学到好多,主要说一下程序流程,首先输入32个数字,然后用其中的三个数字,作为种子,使用线性同余发生器生成伪随机数在此说一下线性同余发生器,因为我是真的不知道就是这玩意,(记住这个是四个字节)然后与flag xor ,生成64个方程,每个都是4个字节,然后传进4个方程,des加密,前面两个(8个字节)合并组成密钥,后面两个是明文(8个字节),后面再放回原处,进行比较,其中des加密 还是分奇偶的,要当心溢出,//2 |原创 2020-10-07 12:14:08 · 215 阅读 · 0 评论 -
逆向-反调试技术总结-1(源于加密与解密)
Beingdebugged原创 2020-05-12 00:48:19 · 434 阅读 · 0 评论