当前位置:网站首页>[buuctf.reverse] 103_ [CFI-CTF 2018]powerPacked
[buuctf.reverse] 103_ [CFI-CTF 2018]powerPacked
2022-06-09 11:33:00 【Shi Shi Shi Shi Shi Shi Shi Shi Shi Shi Shi Shi Shi Shi Shi Shi】
powerPC Things that are , If IDA It's really hard to do without plug-ins . I didn't have
But it can be used Retdec Decompilation can be implemented
py \tools\retdec\bin\retdec-decompiler.py powerPackerAnd then to get c Code of language , Find the main encryption logic
int main(int argc, char ** argv) {
char * v1 = (char *)0x45484b7d; // bp-48, 0x100006f0
int32_t v2; // 0x100006bc
printf("Insert password : ", (int32_t)argv, v2, 0x45484b7d, 0x6b616e71, 0x78676172, L"mg", 0x7265);
int32_t v3; // bp-80, 0x100006bc
scanf("%31s", &v3, v2, 0x45484b7d, 0x6b616e71, 0x78676172, L"mg", 0x7265);
for (int32_t i = 0; i < 21; i++) {
char * v4 = (char *)(i + (int32_t)&v1); // 0x10000760
*v4 = (char)((0x1000000 * (int32_t)*v4 - 0x2000000) / 0x1000000); // Subtract... From a given string 2 Compare again
}
// 0x10000798
if (strcmp(&v3, (int32_t *)&v1) == 0) {
// 0x100007b8
puts("Password is correct. Submit this as the flag.");
} else {
// 0x100007c8
puts("Wrong password.");
}
// 0x100007d4
return 0;
}
The encryption method is to subtract... From a given string 2 Then compare with the input , Note that the string given here is in the form of 32 Bit shaping gives , It is not clear whether it is the program itself or the decompiler . But it's good to see .
a = b'EHK}kanqxgarqygtre'
print(bytes([i-2 for i in a]))
#CFI{i_love_powerpc
#flag{i_love_powerpc}
Subtract a given string 2 And then deal with the package .1 It's incredible that there will be such a simple problem after the partition .
边栏推荐
- Openkruise v1.2: add persistentpodstate to realize stateful pod topology fixation and IP reuse
- Baidu post-90s programmers were sentenced for deleting and modifying databases, saying they were dissatisfied with their leaders
- 关于CSRF及其防御
- redis中数据结构的学习笔记
- Ref reference usage
- PHP redis common operation manual
- How does the IOT low code platform use operation logs?
- TiDB Cloud 上线 Google Cloud Marketplace,以全新一栈式实时 HTAP 数据库赋能全球开发者
- Analysis on self defined attributes of sub components
- [buuctf.reverse] 111_[b01lers2020]chugga_chugga
猜你喜欢

Jingzhida rushes to the scientific innovation board: the annual revenue is 458million, and the SME fund is the shareholder
![[advanced MySQL] optimize SQL by using the execution plan explain (2)](/img/46/993bdcfc92a76178a4b81427169a37.png)
[advanced MySQL] optimize SQL by using the execution plan explain (2)

MySQL 学习笔记-第五篇-数据备份与恢复、MySQL 日志

一文详解光场深度估计

At last someone explained the law of large numbers

Simple example of C # picture verification code

企评家用杜邦分析法剖析:华东建筑集团股份有限公司企业财务状况

第二章应用层

How does the IOT low code platform use operation logs?

最全知识总结,初学者必看
随机推荐
Protobuf介绍以及简单使用
MKS H3615NS 直流电机驱动 使用说明书
第四讲:数据仓库搭建(二)
P5482 [jloi2011] inequality system, cckk
10 个派上用场的 Flutter 小部件
力扣(LeetCode)159. 至多包含两个不同字符的最长子串(2022.06.08)
Flink CDC + Hudi 海量数据入湖在顺丰的实践
Cookies在XSS和CSRF防御中的作用
Amazing SQL query experience, group by slow query optimization!
Comparison and evaluation of code on cloud - devcloud
数据资产管理:企业的数据资产怎么盘?
Perfdog releases new indicators, tailored to the game
[SystemVerilog data type] ~ data type, logic type, array
Shutter popup shutter shutter_ easyloading
Execution engine - (compiler, JIT)
Actual combat of Nacos configuration center, standard components of Pangu microservice development
flutter setState() called after dispose()
Monomer mode
Listing of tengya precision industry on Shenzhen Stock Exchange: the market value was 2.6 billion, and the net profit decreased by 42% in the first quarter after deducting non-profit
[buuctf.reverse] 107_[FlareOn4]greek_to_me