2019-i-SOON-CTF re

2020-01-11  本文已影响0人  hefengzeng

main函数两个关键函数:

sub_4111F4(a1, &Str, (int)v9)和sub_4112B7(a1, v9)

sub_4112B7(a1, v9) :

sub_4112B7

得到sub_4111F4的结果应为artqkoehqpkbihv

sub_4111F4里的函数sub_413650无法F5,改sp

先找到对应汇编码

sub_413650

通过ALT + k 修正堆栈,选中text:004138AB处的call

ALT+k

改好后即可F5反汇编,如下:

改了sp后

F5后:


sub_413650内容 sub_413650内容

按逻辑写脚本

#include <stdio.h>
#include <math.h>
int main()
{
    char v9[] = "artqkoehqpkbihv";
    char base[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    char v16[64] = {0};
    char flag[16] = {0};
    int i,tmp,k;
    for(i=0;i<64;++i)
    {
        tmp = base[i] - 'a';
        v16[i] = abs(tmp);
    }
    for(k=0;k<15;++k)
    {
        flag[k] = v9[k]-v16[k];
        while(flag[k]<97)flag[k]+=26;
        while(flag[k]>122)flag[k]-=26;
    }
    puts(flag);
}

flag{umpnineissogood}

上一篇 下一篇

猜你喜欢

热点阅读