Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

我(在reverse题中)最讨厌的语言——go。 被ida里出现的奇怪结构体吓晕。 main函数在cutter里怎么是runtime.text啊(不过在sym.runtime.main里被调用了)。 首先,整个程序被包裹在一个大大的死循环中,然后不断scanf %d。当读到EOF的时候停止,判断是不是13个数字(表面上,实际上是12个)数字。 如果当前数字不是eof,就会被append到数组...

当你在main中找不到程序逻辑的时候,如何考虑? 有没有注册异常处理程序。还有像__cxa_atexit 这样退出时执行的函数。 __lib_start_main的参数中有用于初始化的函数。顺便贴一下它的定义: int __libc_start_main( int (*main) (int, char * *, char * *), int argc, char * * u...

(附件在这里https://github.com/R0IS/RCTF2021/blob/main/Recv/Harmony/Harmony/liteos) 随机到了Hi!Harmony!这道,在xctf上。为什么要强调在xctf上呢?因为xctf上没有附件。只有题目描述里的一句: Hello, hackers! Have you ever heard of pangu, the creat...

题目:xctf MFC程序,使用xspy查看窗口信息。 check按钮的id为03e9,同时窗口存在OnCommand: notifycode=0000 id=03e9,func= 0x00C72420(Junk_Instruction.exe+ 0x002420 )函数。 进入该函数(sub_402420),可以看到有一个条件判断:if ( (unsigned __int8)sub_402...

64位PE无壳。打开main函数。 题目来源:xctf 首先判断输入长度是不是31位。不是的话就卡死。 scanf("%s",input); lVar5 = -1; do { str_len = lVar5 + 1; lVar4 = lVar5 + 1; lVar5 = str_len; } while (input[lVar4] != '\0'); if (str...

Level 1跳过 静态分析发现假装是Level 2的那个函数里面什么都没有。动态调试也是到那直接退出了 然后查阅wp发现是使用AddVectoredExceptionHandler注册了异常处理,然后利用int 3触发异常。如果要调试,需要修改调试器设置,让被调试程序处理异常。 暂时不需要调试,观察注册的异常处理函数,可以发现是和一段字节异或2,但是那段内存是运行时生成的,调试一下。注意...

有这么一道题,它检验输入,并把输入里的空白删掉后取md5作为flag。它的输入非常神奇,用scanf读入一堆整数。放进数组里后要经过两个函数的检验。 (下面请ghidra发言) int check1(int *nums) { int j; int s; int i; int res; res = 0; i = 0; while( true ) &#...