文章分类 -  『CTFer & RE』

CTF!!! 冲冲冲!!!
摘要:HWS 和QWB撞了,导致这次比赛晋级比较简单,一共做了六道题,也是成功晋级,忝列其中... 硬件(Crypto侧信道) 侧信道第一题 1010110100101100 转16进制即为:ad2c flag即为ad2c MISC misc2 random 做逆向题的感觉... py文件中好多随机函数不 阅读全文 »
posted @ 2022-08-01 22:29 TLSN 阅读(416) 评论(0) 推荐(0) 编辑
摘要:隐藏的角落 Go语言逆向签到题,RC4加密,密钥是 thisiskkk 直接给出解密脚本 aaa = [ 0xFB, 0xC6, 0xA6, 0x9D, 0xC4, 0xDB, 0x7B, 0x56, 0xB6, 0x46, 0xA6, 0xC0, 0x85, 0x64, 0x7A, 0x9A, 0 阅读全文 »
posted @ 2022-07-27 15:14 TLSN 阅读(94) 评论(0) 推荐(0) 编辑
摘要:一、环境搭建 frida框架分为两部分: 一部分是运行在系统上的交互工具frida CLI。 另一部分是运行在目标机器上的代码注入工具 frida-serve。 环境安装 https://github.com/frida/frida/releases #windows pip install fri 阅读全文 »
posted @ 2022-07-26 23:40 TLSN 阅读(395) 评论(0) 推荐(0) 编辑
摘要:一、工具准备 1、官网下载apktool.bat脚本 2、下载apktool.jar 并重命名为apktool.jar 3、jadx-gui.exe 二、apktool.bat解包 反编译 apktool.bat d -o <output_dir> test.apk 其中<output_dir>指定 阅读全文 »
posted @ 2022-07-26 23:31 TLSN 阅读(497) 评论(0) 推荐(0) 编辑
摘要:一、天堂之门 输入字符串并进行校验后,有一处远跳,看其硬编码,发现cs段寄存器变成了0x33,天堂之门无疑, 并且,我们通过硬编码发现,IDA解析的函数跳转有误,应该是 jmp far ptr 0x405310才对 0x0405315地址的位置,显然是天堂之门切换为了32位 我们修改exe的PE结构 阅读全文 »
posted @ 2022-07-23 12:05 TLSN 阅读(269) 评论(0) 推荐(0) 编辑
摘要:一、天堂之门基础知识 天堂之门(Heaven's Gate) 是一种在32位WoW64进程中执行64位代码以及直接调用64位WIN32 API函数的技术。 天堂之门自带反调试,使IDA不能正常解析 CS段寄存器存放的是段描述符在GDT的索引,CS为0x33在GDT表对应的段描述符为64位,CS为0x 阅读全文 »
posted @ 2022-07-21 12:45 TLSN 阅读(482) 评论(0) 推荐(0) 编辑
摘要:安卓程序执行前会运行.init_arry段中的代码,然后运行JNI_OnLoad中的代码,可以使用这一特性实现.so层的反调试. 我们之前做的安卓逆向题的.so文件大多都是静态注册,动态注册和静态注册的方法如下: https://blog.csdn.net/fengliang191/article/ 阅读全文 »
posted @ 2022-07-21 01:05 TLSN 阅读(75) 评论(0) 推荐(0) 编辑
摘要:IDA动态调试dll文件的话,我暂时知道两个办法 一、attach到exe文件 我们先运行exe文件,然后再用IDA进行attach,再开启一个IDA打开要调试的dll文件,下好断点,直接attach 二、设置IDA参数,直接运行 我们用IDA载入dll文件下好断点,设置好调试参数,直接运行即可 d 阅读全文 »
posted @ 2022-07-19 23:19 TLSN 阅读(634) 评论(0) 推荐(0) 编辑
摘要:网上正常调试的流程都是这样的: adb connect 127.0.0.1:21503 //逍遥默认21503 夜神默认 62001/52001 SDK默认为5037 MuMu为7555 adb devices adb push android_server64 /data/local/tmp ad 阅读全文 »
posted @ 2022-07-19 23:16 TLSN 阅读(143) 评论(0) 推荐(0) 编辑
摘要:异常 + AES和md5加密算法 题目中利用 try / except 语句对AES加密算法和md5哈希摘要进行了魔改 题目中有很多异常,如除0异常,越界异常、 未知指令异常等等,我们一般都可以通过patch来把程序的真面目显示出来 一共四处异常 一、md5中的除0异常 一般的try / excep 阅读全文 »
posted @ 2022-07-17 20:28 TLSN 阅读(70) 评论(0) 推荐(0) 编辑
摘要:打开文件后的文件是这样的: 我们根据run.sh的提示运行一下文件 一、尝试运行 可以看到三个提示 二、应用层分析 IDA不能识别这种架构的文件,需要使用到Ghidra工具 代码逻辑还算清晰,大体主要是先分割输入,然后用某种算法进行了明文扩展,其次使用了魔改后的tea加密,最后与数据段中的数据作比较 阅读全文 »
posted @ 2022-07-14 23:59 TLSN 阅读(58) 评论(0) 推荐(0) 编辑
摘要:rust编写的vm虚拟机保护 不知道为什么,我在动态调试的时候感觉好卡... 这道题虽然300分,但我感觉比400分的gocode要难一些...难度真就倒着来... 一、一些关键函数 字符串转整形: 二、SSE指令 程序中使用了大量的SSE指令 我找到了一份不错的解释资料: https://blog 阅读全文 »
posted @ 2022-07-12 18:49 TLSN 阅读(45) 评论(0) 推荐(0) 编辑
摘要:一、基本概念 VEH,向量化异常处理,它优先于SEH执行 当VEH处理了异常就不会提交给SEH VEH是全局链表,每个VEH按顺序被调用,VEH可返回两个值:EXCEPTION_CONTINUE_SEARCH、EXCEPTION_CONTINUE_EXECUTION EXCEPTION_CONTIN 阅读全文 »
posted @ 2022-07-12 18:46 TLSN 阅读(704) 评论(0) 推荐(0) 编辑
摘要:两处异常,一处SEH,一处VEH SEH: 过滤函数,对应: VEH: VEH异常被设置在callback 回调中: 其回调函数Hander对应解密代码如下: 这两处算法都挺简单 解密脚本: # import idaapi # # begin = 0x03EF290 # end = 0x03EF29 阅读全文 »
posted @ 2022-07-12 18:44 TLSN 阅读(30) 评论(0) 推荐(0) 编辑
摘要:算法分析题... 从上往下分析 零、显示中文字符串 option -> general ->strings ->Default 8-bits ->点击键盘上的insert 然后输入GBK即可 一、CRC8校验算法 标准的 二、魔改crc32查表法 魔改的部分是无符号数被改成了有符号数 三、3n+1猜 阅读全文 »
posted @ 2022-07-12 18:35 TLSN 阅读(31) 评论(0) 推荐(0) 编辑
摘要:一、dump出shellcode并修复PE 下载并用IDA打开程序,发现这是一个标准的shellcode加载器 我们用脚本dump出shellcode import idaapi import struct begin = 0x000000140003040 end = begin + 213360 阅读全文 »
posted @ 2022-07-10 19:20 TLSN 阅读(61) 评论(0) 推荐(0) 编辑
摘要:一、定位到异常处理函数 1、_NT_TIB Teb结构体前四个字节对应_NT_TIB结构体,_NT_TIB的结构体成员如下: kd> dt _NT_TIB nt!_NT_TIB +0x000 ExceptionList : Ptr32 _EXCEPTION_REGISTRATION_RECORD + 阅读全文 »
posted @ 2022-07-08 18:48 TLSN 阅读(123) 评论(0) 推荐(0) 编辑
摘要:根据父进程patch完子进程代码后,可以找到这里: 向下翻其汇编代码,发现下面好像存在密文 int 3断点触发异常后,父进程的处理是unhandle,也就是不接管,但通过IDA查看伪代码我们可以发现,程序自己接管了异常,如图 __try { //__except at loc_A784A 这行代码的 阅读全文 »
posted @ 2022-07-07 23:41 TLSN 阅读(28) 评论(0) 推荐(0) 编辑
摘要:dfs算法题 关键逻辑全部在这和函数里 经过我的观察发现,dfs每个节点地址都在heap段中 我直接IDApython dump heap段,进行dfs暴力搜索 代码如下: # # import idc # # # begin = 0x000000001E66000 # end = 0x1e8900 阅读全文 »
posted @ 2022-07-06 18:43 TLSN 阅读(27) 评论(0) 推荐(0) 编辑
摘要:前面是换表的base64加密,后面是复杂的加密算法 关键函数就是这: 一个大循环框着5个本质一样的小while循环,但算法求逆有点困难,我是没思路,这里尝试直接爆破 脚本如下: import base64 strr = [ 0x33, 0x34, 0x2C, 0x36, 0x1D, 0x12, 0x 阅读全文 »
posted @ 2022-07-06 18:41 TLSN 阅读(16) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示