Exetools

Exetools (https://forum.exetools.com/index.php)
-   General Discussion (https://forum.exetools.com/forumdisplay.php?f=2)
-   -   Idenitfying a cryptographic algorithm (https://forum.exetools.com/showthread.php?t=19586)

wassim_ 07-15-2020 16:14

Idenitfying a cryptographic algorithm
 
I need help identifying this decryption algorithm, the argument "s" in the function d3 is the encrypted string.
If this is a known algorithm, I would like to get the algorithm to write the encrypted string "s" myslef.

Code:

function d3(s)
  {
      var _loc4_ = s.substr(0,11);
      var _loc9_ = Number(_loc4_.substr(10,1));
      var _loc3_ = Number(_loc4_.substr(_loc9_,2));
      var _loc7_ = s.substr(22,_loc3_);
      var _loc10_ = String(s.substr(11,11));
      var _loc8_ = Number(s.substr(21,1));
      var _loc6_ = Number(s.substr(11 + _loc8_,2));
      var _loc5_ = s.substr(22 + _loc3_,s.length - (22 + _loc3_));
      return this.d(_loc7_,_loc6_,_loc5_);
  }
  function d(a, k, s)
  {
      return this.t(a,- k,s);
  }
  function t(a, k, s)
  {
      var _loc8_ = undefined;
      var _loc3_ = "";
      var _loc4_ = s.length;
      var _loc2_ = 0;
      while(_loc2_ < _loc4_)
      {
        _loc3_ = _loc3_ + this.r(a,s.charAt(_loc2_),k);
        _loc2_ = _loc2_ + 1;
      }
      return _loc3_;
  }
  function r(a, c, k)
  {
      var _loc2_ = a.indexOf(c);
      var _loc1_ = a.length;
      if(_loc2_ != -1)
      {
        return a.charAt((_loc2_ + k + _loc1_) % _loc1_);
      }
      return c;
  }


chants 07-15-2020 22:15

I think if you rewrote and cleaned up that code, it would be easier. It appears not as a much of a cryptographic algorithm as some simple string manipulation code. It can be a single function with a loop having a single condition inside of it. After cleaning it up, figuring out how to invert the function should be somewhat straight forward.


All times are GMT +8. The time now is 15:12.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX