逆向工程
未读
逆向攻防世界CTF系列30-re2-cpp-is-awesome
逆向攻防世界CTF系列30-re2-cpp-is-awesome 64位无壳,c++代码,根据shift+f12得flag定位到这,直接看到if(V8!=xx)可以猜测是在验证,跟进sub_400B56也验证了我们的猜测 初始化和字符串分配: std::allocator<char>::alloca
逆向工程
未读
逆向攻防世界CTF系列29-secret-galaxy-300
逆向攻防世界CTF系列29-secret-galaxy-300 32位无壳,扔进IDA,main函数包括 int __cdecl main(int argc, const char **argv, const char **envp)
{
__main();
fill_starbase((i
逆向工程
未读
逆向攻防世界CTF系列28-1000Click
逆向攻防世界CTF系列28-1000Click 题目名1000Click,点进exe看看,发现点一次Click会+1我猜测,要点1000次 解法1: import pyautogui
import time
# 等待几秒,以便你有时间切换到1000Click.exe应用窗口
time.sleep(
逆向工程
未读
逆向攻防世界CTF系列27-200simple-check-100
逆向攻防世界CTF系列27-200simple-check-100 巨难受的一题,gdb环境配了半天 32位无壳 这里要check,先跟进下面的interesting_function看看 putchar,这里就是输出,那我们只需要动调将check_key那修改为正确就行
逆向工程
未读
逆向攻防世界CTF系列25-EasyRE
逆向攻防世界CTF系列25-EasyRE 32位无壳,ida看main,简单异或 跟进 上面那个flag迷惑人用的 先做了一个反转,然后做一个 -1 然后^ 6 enc =[
0x78, 0x49, 0x72, 0x43, 0x6A, 0x7E, 0x3C, 0x72, 0x7C, 0x32,
逆向工程
未读
逆向攻防世界CTF系列26-parallel-comparator-200
逆向攻防世界CTF系列26-parallel-comparator-200 #include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#define FLAG_LEN 20
void * checking(void *arg) {
逆向工程
未读
逆向攻防世界CTF系列23-re1-100
逆向攻防世界CTF系列23-re1-100 64位无壳,无聊的题 shift+f12定位到 必须{}开头结尾,前十位和后十位给出,最后必须={daf29f59034938ae4efd53fc275d81053ed5be8c} 看看confuseKey 就是中间换了顺序1234变成3412 53fc2
逆向工程
未读
逆向攻防世界CTF系列24-lucknum
逆向攻防世界CTF系列24-lucknum 简单至极 64位无壳 打开main函数,F5反汇编 flag{c0ngr@tul@ti0n_f0r_luck_numb3r}
逆向工程
未读
逆向攻防世界CTF系列22-Guess-the-Number
逆向攻防世界CTF系列22-Guess-the-Number jadx打开 import java.math.BigInteger;
public class Test05 {
static String XOR(String _str_one, String _str_two) {
逆向工程
未读
逆向攻防世界CTF系列21-answer_to_everything
逆向攻防世界CTF系列21-answer_to_everything 无聊的题,扔进IDA __int64 __fastcall not_the_flag(int a1)
{
if ( a1 == 42 )
puts("Cipher from Bill \nSubmit without