攻防世界 reverse 进阶 15-Reversing-x64Elf-100
15.Reversing-x64Elf-100
这题非常简单,
1 signed __int64 __fastcall sub_4006FD(__int64 a1)
2 {
3 signed int i; // [rsp+14h] [rbp-24h]
4 const char *v3; // [rsp+18h] [rbp-20h]
5 const char *v4; // [rsp+20h] [rbp-18h]
6 const char *v5; // [rsp+28h] [rbp-10h]
7
8 v3 = "Dufhbmf";
9 v4 = "pG`imos";
10 v5 = "ewUglpt";
11 for ( i = 0; i <= 11; ++i )
12 {
13 if ( (&v3)[i % 3][2 * (i / 3)] - *(char *)(i + a1) != 1 )
14 return 1LL;
15 }
16 return 0LL;
17 }
wp:
1 v3 = "Dufhbmf";
2 v4 = "pG`imos";
3 v5 = "ewUglpt";
4 v3=v3+v4+v5
5 x=''
6 for i in range(12):
7 t=v3[(i%3)*7+(2*int(i/3))]
8 x+=chr(ord(t)-1)
9
10 print(x)
Code_Talkers
攻防世界 reverse 进阶 15-Reversing-x64Elf-100的更多相关文章
- 攻防世界 reverse 进阶 APK-逆向2
APK-逆向2 Hack-you-2014 (看名以为是安卓逆向呢0.0,搞错了吧) 程序是.net写的,直接祭出神器dnSpy 1 using System; 2 using System.Diag ...
- 攻防世界 reverse 进阶 10 Reverse Box
攻防世界中此题信息未给全,题目来源为[TWCTF-2016:Reverse] Reverse Box 网上有很多wp是使用gdb脚本,这里找到一个本地还原关键算法,然后再爆破的 https://www ...
- 攻防世界 reverse 进阶 8-The_Maya_Society Hack.lu-2017
8.The_Maya_Society Hack.lu-2017 在linux下将时间调整为2012-12-21,运行即可得到flag. 下面进行分析 1 signed __int64 __fastca ...
- 攻防世界 reverse 进阶 12 ReverseMe-120
程序流程很清晰 1 int __cdecl main(int argc, const char **argv, const char **envp) 2 { 3 unsigned int v3; // ...
- 攻防世界 reverse 进阶 9-re1-100
9.re1-100 1 if ( numRead ) 2 { 3 if ( childCheckDebugResult() ) 4 { 5 responseFalse(); 6 } 7 else if ...
- 攻防世界 reverse 进阶 notsequence
notsequence RCTF-2015 关键就是两个check函数 1 signed int __cdecl check1_80486CD(int a1[]) 2 { 3 signed int ...
- 攻防世界 reverse 进阶 easyre-153
easyre-153 查壳: upx壳 脱壳: 1 int __cdecl main(int argc, const char **argv, const char **envp) 2 { 3 int ...
- 攻防世界 reverse 进阶 -gametime
19.gametime csaw-ctf-2016-quals 这是一个小游戏,挺有意思的 's'-->' ' 'x'-->'x' 'm'-->'m' 观察流程,发现检验函 ...
- 攻防世界 reverse 进阶5-7
5.re-for-50-plz-50 tu-ctf-2016 流程很简单,异或比较 1 x=list('cbtcqLUBChERV[[Nh@_X^D]X_YPV[CJ') 2 y=0x37 3 z= ...
随机推荐
- soft tab
soft tab hard-tabs 是硬件 tab,就是按一个 tab 键; soft-tabs 是软件 tab,通过按 4个 space 键实现; refs Tabs vs. Spaces, FR ...
- npm fetch All In One
npm fetch All In One fetch for TypeScript { "compilerOptions": { "lib": ["D ...
- Electron Security All In One
Electron Security All In One https://www.electronjs.org/docs/tutorial/security CSP Content-Security- ...
- React Hooks 内部实现原理
React Hooks 内部实现原理 源码分析 // 链表 React Hooks 原理剖析 refs https://reactjs.org/docs/hooks-intro.html https: ...
- css grid layout in practice
css grid layout in practice https://caniuse.com/#search=grid subgrid https://caniuse.com/#search=cal ...
- SMS OTP 表单最佳做法 (短信验证)
<form action="/verify-otp" method="POST"> <input type="text" ...
- golang官方嵌入文件到可执行程序
目录 前言 示例程序 嵌入文件直接访问 嵌入文件列表 总结 前言 在go官方出嵌入文件的方法前我在网上找过,并且自己还研究过,虽然没有问题,但是既然官方支持还是用起来吧. 看了下go源码embed/e ...
- Jupyter notebook操作技巧
学习笔记:Jupyter notebook操作技巧 一.jupyter notebook简介.用途.优势和缺点 二. 单元Cell: 三.操作技巧 - 给Jupyter换主题 - 笔记本扩展(nbex ...
- dotnet core TargetFramework 解析顺序测试
dotnet core TargetFramework 解析顺序测试 Intro 现在 dotnet 的 TargetFramework 越来越多,抛开 .NET Framework 不谈,如果一个类 ...
- vue中v-model的学习
v-model在表单元素input.radio.checkBox.textarea创建双向数据绑定,他会根据类型选取正确的方法来更新元素,本质不过是语法糖,负责监听用户的输入操作以更新数据并对一些极端 ...