-
-
[原创]第一题流浪者解析
-
2019-3-12 18:06 2339
-
分析工具:
IDA x32dbg
一、代码分析:
(一)、定位关键字符串
(二)、IDA查看
定位到了关键字符串的位置,利用IDA的交叉引用查找其核心代码,也就是其算法
核心算法:
二、解密算法
逆推得到解密算法:
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<stdio.h> #include<Windows.h> int _tmain( int argc, _TCHAR* argv[] ) { char Str1[ 26 ] = "KanXueCTF2019JustForhappy"; char Str2[ 26 ] = { 0 }; char str[] = "abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ"; for ( int j = 0; Str1[ j ]; j++ ) { for ( int k = 0; str[ k ]; k++ ) { if ( str[ k ] == Str1[ j ] ) { if ( k + 48 > 57 || k + 48 < 48 ) // ‘9’=57 ‘0’=48 { if ( k + 87 > 122 || k + 87 < 97 ) // 'z' 'a' { if ( k + 29 > 90 || k + 29 < 65 ) // 'Z' 'A' { printf( "ERROR" ); break; } else { Str2[ j ] = k + 29; break; } } else { Str2[ j ] = k + 87; break; } } else { Str2[ j ] = k + 48; break; } } } } for ( int j = 0; j < 26; j++ ) { printf( "%c", Str2[ j ] ); } system( "pause" ); return 0; }
逆推,写出解密算法。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
赞赏
他的文章
看原图
赞赏
雪币:
留言: