zoukankan      html  css  js  c++  java
  • Smali Javirs

    Smali Javirs


    下载工具转化为java代码

    /**
      * Generated by smali2java 1.0.0.558
      * Copyright (C) 2013 Hensence.com
      */
    
    package net.bluelotus.tomorrow.easyandroid;
    
    import android.util.Base64;
    import java.io.PrintStream;
    import java.security.NoSuchAlgorithmException;
    import javax.crypto.NoSuchPaddingException;
    import java.security.InvalidKeyException;
    import javax.crypto.IllegalBlockSizeException;
    import javax.crypto.BadPaddingException;
    import javax.crypto.spec.SecretKeySpec;
    import javax.crypto.Cipher;
    import java.security.Key;
    import java.security.GeneralSecurityException;
    
    public class Crackme {
        private String str2 = "cGhyYWNrICBjdGYgMjAxNg==";
        
        public Crackme() {
            GetFlag("sSNnx1UKbYrA1+MOrdtDTA==");
        }
        
        private String GetFlag(String p1) {
            byte[] "content" = Base64.decode(p1.getBytes(), 0x0);
            String "kk" = new String(Base64.decode(str2.getBytes(), 0x0));
            System.out.println(decrypt("content", "kk"));
            return null;
        }
        
        private String decrypt(byte[] p1, String p2) {
            String "m" = 0x0;
            try {
                byte[] "keyStr" = p2.getBytes();
                SecretKeySpec "key" = new SecretKeySpec("keyStr", "AES");
                Cipher "cipher" = Cipher.getInstance("AES/ECB/NoPadding");
                "cipher".init(0x2, "key");
                byte[] "result" = "cipher".doFinal(p1);
                return "m";
            } catch(NoSuchPaddingException "e") {
                "e".printStackTrace();
            }
            return  "m";
        }
    }
    
    



    解AES需要导入一个模块(需下载)
    ModuleNotFoundError: No module named 'Crypto'

    解决方法:

    pip install pycryptodome

    当然有可能会出现这种情况:看到报错后是这么安装的:pip install crypto

    但是运行还是报错:ModuleNotFoundError: No module named 'Crypto';
    此时需要去环境中将安装的包crypto的名字改成Crypto,首字母大写;
    然后再次运行,出现这个错误:ModuleNotFoundError: No module named 'Crypto.Cipher'
    此时进入到安装的文件夹下,发现没有此文件:
    需要卸载刚才安装的包:pip uninstall crypto
    然后重新安装:pip install pycryptodome,即可!


    b'PCTF{Sm4liRiver}'

    import base64
    from Crypto.Cipher import AES
    
    key = 'cGhyYWNrICBjdGYgMjAxNg=='
    cipher = 'sSNnx1UKbYrA1+MOrdtDTA=='
    key = base64.b64decode(key)
    cipher = base64.b64decode(cipher)
    AES = AES.new(key,AES.MODE_ECB)
    print(AES.decrypt(cipher))
    
  • 相关阅读:
    .net winForm 实现类似qq 弹出新闻
    创业11年,我填过的5个大坑!(转)
    java中基本类型封装对象所占内存的大小(转)
    Java中如何创建进程(转)
    javac
    深入剖析Java中的装箱和拆箱(转)
    敏捷开发流程总结
    解决ccSvcHst.exe CPU占用超50%的问题,及其缘由
    JSP/ Servlet常见的中文乱码原因
    黑马程序猿-面向对象-多态
  • 原文地址:https://www.cnblogs.com/serendipity-my/p/13744225.html
Copyright © 2011-2022 走看看