Hertürlü Web tabanlı Saldırı Taktik ve Stratejileri
Bu Şifreleme Algoritması Sizce Nedir? (Adaffix İle İlgili)
Bu Şifreleme Algoritması Sizce Nedir? (Adaffix İle İlgili)
-
RSA li requestin base64 ü o. birkaç request örneği üzerinden çözemezsiniz source code dan public keyi çıkarmak gerekiyor.
-
HolyOne bunu yazdı
RSA li requestin base64 ü o. birkaç request örneği üzerinden çözemezsiniz source code dan public keyi çıkarmak gerekiyor.
tek tek her koda baktım ama bulamadım hatta sende bakmıştın şeyhim .
-
herkes birinin çözmesini bekliyor.
Android uygulamalarda apk decompile eden bi program vardı. onu ben xperia play da çalıştıramadım. iyi bir telefonu olan onu çalıştırsada apk sini decompile edip kodu okusak. :D
aklıma gelmişken apk yi tablette çözmeye çalışayım :D bakalım yiyecek mi :D
-
Ben akşam decompile edip atarım isteyin bakar artık
http://www.tahribat.com/Forum-Apk-Decompile-Etmenin-En-Basit-Yolu-200549/
-
çözen adam niye paylaşsın ki
max 1 haftaya patlatırsınız, belki o kadar bile sürmez
-
Şifreleme algoritması RSA değil AES hacı. Yani simetrik bir algoritma. http://tr.wikipedia.org/wiki/AES
Dosyaları apkdan ayrıştırıp içinde gezmeyi bırakıp, dinamik olarak debug edip, fonksiyonların işlevlerini saptayıp/analiz ederseniz daha kolay sonuç alırsınız.
https://www.google.com.tr/search?q=android+reverse+engineering
--------Editorial--------
http://tr.wikipedia.org/wiki/A%C3%A7%C4%B1k_anahtarl%C4%B1_%C5%9Fifreleme
http://tr.wikipedia.org/wiki/Simetrik_anahtar_algoritmalar%C4%B1
--------Editorial--------
Cipher: Cipher-block chaining (CBC) - PKCS#5 padding (AES/CBC/PKCS5Padding)
Derivasyon Fonksiyonu: PBKDF2
+http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#SecretKeyFactory
Routine (IDA Pro https://www.hex-rays.com/products/ida/support/tutorials/debugging_dalvik.pdf);
package com.adaffix.a.a; import android.util.Log; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.SecretKeySpec; public final class a { private static int a; private static int b; private static SecretKeyFactory c; private String d; private SecretKey e; private Cipher f; static { a.a = 256; a.b = 128; a.c = null; } public a() { super(); this.d = null; this.e = null; this.f = null; } static a a(String arg3, byte[] arg4, byte[] arg5, int arg6) { a v0 = new a(); new StringBuilder("Crypt = ").append(v0).append(" : iv = ").append(arg5).append(" : mode= ") .append(arg6).append(" : salt").append(arg4).toString(); v0.b(arg3, arg4, arg5, arg6); return v0; } private static SecretKey a(String arg5, byte[] arg6) { SecretKey v0_2; SecretKey v1 = null; try { SecretKeySpec v0_1 = new SecretKeySpec(a.b().generateSecret(new PBEKeySpec(arg5.toCharArray (), arg6, a.b, a.a)).getEncoded(), "AES"); } catch(Exception v0) { Log.e("getSecretKey", v0.getLocalizedMessage()); v0_2 = v1; } return v0_2; } static void a(a arg3, byte[] arg4, int arg5) { new StringBuilder("Crypt = ").append(arg3).append(" : iv = ").append(arg4).append(" : mode= " ).append(arg5).toString(); if(arg4 == null) { goto label_16; } try { arg3.f.init(arg5, arg3.e, new IvParameterSpec(arg4)); return; label_16: arg3.f.init(arg5, arg3.e); } catch(Exception v0) { Log.e("init", v0.getLocalizedMessage()); } } public final String a() { return this.d; } public final byte[] a(byte[] arg4) { byte[] v0; try { v0 = this.f.doFinal(arg4); } catch(Exception v1) { Log.e("execute", v1.getLocalizedMessage()); } return v0; } private boolean b(String arg4, byte[] arg5, byte[] arg6, int arg7) { boolean v0_1; try { this.d = arg4; this.e = a.a(arg4, arg5); this.f = Cipher.getInstance("AES/CBC/PKCS5Padding"); if(arg6 != null) { this.f.init(arg7, this.e, new IvParameterSpec(arg6)); } else { this.f.init(arg7, this.e); } v0_1 = true; } catch(Exception v0) { Log.e("getCipher", v0.getLocalizedMessage()); v0_1 = false; } return v0_1; } private static SecretKeyFactory b() { SecretKeyFactory v0_2; Class v1 = a.class; __monitor_enter(v1); try { if(a.c != null) { goto label_7; } a.c = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1"); goto label_7; } catch(Throwable v0) { } catch(Exception v0_1) { try { Log.e("createSecretKeyFactory", v0_1.getLocalizedMessage()); label_7: v0_2 = a.c; } catch(Throwable v0) { __monitor_exit(v1); throw v0; } } __monitor_exit(v1); return v0_2; } }