算法 还原

常见编码:

hex

https://www.baidu.com
68 74 74 70 73 3a 2f 2f 77 77 77 2e 62 61 69 64 75 2e 63 6f 6d

URL encode

https://www.baidu.com&it=[]
https://www.baidu.com&it=%5B%5D

Base64

https://www.baidu.com1
当字符集是 :A-Za-z0-9+/=
aHR0cHM6Ly93d3cuYmFpZHUuY29tMQ==

HTML Entry

https://www.baidu.com

https://www.baidu.com

HASH算法

CRC32-4个字节的int

https://www.baidu.com
b369f4b3

MD5- 长度为32的字符串或者为0x10大小的buffer

https://www.baidu.com
f9751de431104b125f48dd79cc55822a

SHA1-长度为40的字符串或者为0x14大小的buffer

https://www.baidu.com
354abe0fccb2fb8cf553b6eef2ce24b2f3db80d1

00000000  33 35 34 61 62 65 30 66 63 63 62 32 66 62 38 63  |354abe0fccb2fb8c|
00000010  66 35 35 33 62 36 65 65 66 32 63 65 32 34 62 32  |f553b6eef2ce24b2|
00000020  66 33 64 62 38 30 64 31                        				   |f3db80d1|

SHA256 - 长度为64的字符串或者为0x20大小的buffer

https://www.baidu.com
bc5c3283cae3c6567656b6a52bd8b31a806da655336169b611ad9ab790581364

HMAC(和其他hash算法进行组合) - 在MAC的基础上加了key,长度还是原先的hash长度

输入:https://www.baidu.com
Key : 1234
hash算法 :SHA256
结果:f8302cfeb33852538b05738b2acaaf344dd69ae821ba0662ca4dc4e918f234ad 长度是64

对称算法

RC4

输出结果有可不见字符
输入 : https://www.baidu.com
输出 -> to hex :

00000000  b6 6c fd 31 d0 0d 72 15 fd 71 69 49 35 0f fb 09  |¶lý1Ð.r.ýqiI5.û.|
00000010  b2 34 1c cc 9d                                  					   |²4.Ì.|

DES

输入:https://www.baidu.com
KEY 8个字节(UTF8) 12345678
IV 8个字节 (UTF8) 12345678
mod : CBC
输出 : fce91c20c338e9644d4f685c22775c8869fda677a4e8e9da

3-DES

输入:https://www.baidu.com
KEY 24个字节(UTF8) 123456781234567812345678
IV 16个字节 (UTF8) 12345678
mod : CBC
输出 : 6ecac81813caabfa18fce47abc20fda55b3714dade778d29

AES

key

  16 bytes = AES-128
  24 bytes = AES-192
  32 bytes = AES-256

输入:https://www.baidu.com
KEY 16个字节(hex) 1234567812345678
IV 16个字节 (hex) 1234567812345678
mod : CBC
输出 : 015a0f4745a1d9b1427116dc994d319c437c4a19bfc7ab0746548520d2c4291d

国密SM4 - 强度相当于(略低于) AES-128

gmssl

非对称算法

RSA

https://8gwifi.org/rsafunctions.jsp

Generate RSA Key Size : 1024 bit
RSA Ciphers : RSA
Public Key

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHfhIAZen9QvX2iK6krE92sNYK
8BFfb1auHrTsnAqsSjR7UO41FoC7G2WhYlaiT3B73vnspb2vwLCf7WRACx1jPyHQ
HKKRdPLLgQWCwmvExFsVi76SlL2wrwjXc1XviGT9GAAaVbjEmkPXVTSKElXsW870
AtPdqSm0vaFdiwdEvQIDAQAB
-----END PUBLIC KEY-----

Private Key

-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCHfhIAZen9QvX2iK6krE92sNYK8BFfb1auHrTsnAqsSjR7UO41
FoC7G2WhYlaiT3B73vnspb2vwLCf7WRACx1jPyHQHKKRdPLLgQWCwmvExFsVi76S
lL2wrwjXc1XviGT9GAAaVbjEmkPXVTSKElXsW870AtPdqSm0vaFdiwdEvQIDAQAB
AoGAJhLXHCWHSxO16kEeUkfZTJEElK5BM4Al62fVj2eJ2EBB3yUuytw38FwSgvcP
QSzxft15fXZVhz2uZEJhGV4GM6AUJdSCVNUAs4ZsWQIZ6mZAJqO55yJFSauo/6r7
wP2MXxpFXChj7Lw7MhQlVC+R61lpkKC85ruqyF22FBq0eAECQQD6Q+Af5dFOkUOL
lW3YtbJ6aNUGUJn7S1YGjcGSZ253oEJ83edXFiXM2L9wX5B3Pgbw6uiAmh3VbMRb
8R7zxtldAkEAipjoFRbr3SEicDZ76auqpBmpq3R+Gg1vG26x9XUfEs6Pz1bSf2mc
WoqzJh56ieHrfNaPeuuT5GXrJeFff1WC4QJBAIv8P3dYI3WhB3kiQmk/aO/Th6Sa
nSbVAu9zh10PAdlkCQyzSt2Jg+dLLfn7WmF4joVfwGF+00U4K7WJ79hH1/kCQAHz
KMCzM9pGjw95FMEy0xG/8q0g1G1VZwzBv+suHKPNGCTYmdmFCNgVP3P31c1+yitV
cWtPSSNbc7VyuD84WsECQEpW/50SLW5qc84BHxYwYuoSkOIBLP9JF0y6p6OU4dUZ
bfhYuSVpNrpS9i49RwyHeSPJxyDai+3hSdJuTe7TaPs=
-----END RSA PRIVATE KEY-----

明文:
https://www.baidu.com

密文

caFkORvCt4z+mkaczZfcS5cmFovoAhnaXWlic/uNXAx1rPAotF8YOMpH81cFeJy4dpdogyPbHoXVwDg7KYXRtilunVmYhlUpShgqbNen9QGRbh+4KsbV2YaJ2mTzKIM8wwvQJHhzcnFwVo1tRVRy0Sq/2JGPiYJKNpJvqeKCyKA=

ECC (椭圆曲线加密)

https://8gwifi.org/ecfunctions.jsp

压缩算法

gzip

1f 8b

zlib

78 9c

zip

50 4b

tar

开头是文件名

7z

开头 : 37 7A
7z

加密库

openssl

cryptopp 编译比较方便

chilkat 收费的

工具:
在线网站 :https://gchq.github.io/CyberChef/

例子

Base64

2-1

03-07 15:00:14.580  9448  9448 E   : LUSw2f"u$crfZN!~ -> TFVTdzJmInUkY3JmWk4hfg==
03-07 15:00:14.926  9448  9448 E   : 4(BRi:]HmLr2*D1W -> NChCUmk6XUhtTHIyKkQxVw==
03-07 15:00:15.139  9448  9448 E   : pVKz-#1S*l!N{{Qh -> cFZLei0jMVMqbCFOe3tRaA==
03-07 15:00:17.051  9448  9448 E   :  6rwx\$EPg*?a3rH -> IDZyd3hcJEVQZyo/YTNySA==
03-07 15:00:17.237  9448  9448 E   : zS>~qz6\gu~G@6u3 -> elM+fnF6NlxndX5HQDZ1Mw==
03-07 15:00:17.406  9448  9448 E   : `\sltOF@W-2^SJ"r -> YFxzbHRPRkBXLTJeU0oicg==
03-07 15:00:17.550  9448  9448 E   : q|L*SS0%|vCq(>#  -> cXxMKlNTMCV8dkNxKD4jIA==

从输出看是Base64,验证也是Base64

2-2

03-07 15:02:41.982  9804  9804 E   : H1NS0mbu`D@_`VM{ -> iaFeksYqEVl5hbYUEF1dTI==
03-07 15:02:42.232  9804  9804 E   : R}u% J Rx@H_Wf9& -> kVuu0iYczF0Ogb6UlvEP05==
03-07 15:02:42.452  9804  9804 E   : )8SCkdhx4^YK,hbk -> cj6jgvq9KH5tD++mmG67KI==
03-07 15:02:42.620  9804  9804 E   : %l&gz"6B'l?h>xK2 -> 0CI/1wW7d9zVLaxWfV6mB5==
03-07 15:02:42.764  9804  9804 E   : ^.vRsq,gl}TUDG:N -> D7PvkVdJmGNpUlhlhbMQj5==
03-07 15:02:42.891  9804  9804 E   : 1A&<T(@J%;'kt`Bj -> Bkb/fFgWgbW+erNoNGYZK5==

看结果是base64,但是验证时候不是正确
看so 分析后,开发实现的base64使用的字符集与原始base64的不同
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2-3

03-07 15:15:38.556 10033 10033 E : Mbzi&\}{@[pPtpI!;-:hJT]Q=FYJ/<' -> \.mNrsR{kT~^.pFuzVFmU\h~wW*KZ-Gtv[RRs)LLm&==
03-07 15:15:38.759 10033 10033 E : W6dq^H|ih?CPhj>yY9W_>l>mk}p -> ^MV#^KQo(\+rL|qv(+bh^#K^CHbYkKzvtC"
03-07 15:15:38.920 10033 10033 E : ng#t(uj_94}7]{-D=Ql(WA -> T^r!sL#N{QEFq_Ay]]aw}fN}TL#]||==
03-07 15:15:39.071 10033 10033 E : Bfs/J\9C)shOZl.G#9 -> xZ_DTEqvzVtqv|'{#Z+py=tB
03-07 15:15:39.215 10033 10033 E : 6U4h1sa%lvhl"'mp}MqwWH -> qQRA{f$@ZzSas^#a\ swr_Nqr]s]zW==
03-07 15:15:39.367 10033 10033 E : !cb0x.nAF{v]+ylO!~U_BuNi -> R).~QMzZ *+kwU}Lw_o[7*a]]`B}\H{
03-07 15:15:39.502 10033 10033 E : mb>UlHat```.joo~.xH}v{R;7~>jE'^ -> ].UfZ.4USTtJS,^}rWgQk)OPsVGqlGUMxpPfr'[eTJ==
03-07 15:15:39.638 10033 10033 E : 4[DXMJ=JJd/5h\1`="&z<T=8SKn:#we -> x-~n.nGKv[|KRELGr-&4SoH)me/LZoHP[H~}w)xpRu==

看起来还是Base64的,因为结尾是 == ,但是有特殊符号,字符集应该是被换掉了
找到字符集被替换掉了
在这里插入图片描述
同时还对字符集进一个步异或
在这里插入图片描述

2-4

03-07 15:27:04.716 10225 10225 E   : rt^#kgG(mJquBk=gb*a:(@@4%}I -> dakhJuaak45zla2CjSwcMuJnLX0+jjALrPXi
03-07 15:27:05.875 10225 10225 E   : 6I;5ej_fhXM.s#myf -> g)8Cg EdKM!1`Wsd>gpb ]=
03-07 15:27:06.070 10225 10225 E   : H3o"eWr?Cli^N}!%g=b8' -> leg[J]E^d"xeB&GfCoW r$dmL"Uo
03-07 15:27:06.231 10225 10225 E   : #BK)&;3FX7h/uW"YfAH&&!CZn{eVx9 -> JIrXTrLLfIMRgpUPe[d(1/MGlDLVJZgsBdaYEdUN
03-07 15:27:06.400 10225 10225 E   : b 9kcFyc+[Ot3D"J47b!>sL&$ZH% -> L*ALmrg/s-fj1KxKfKj*l+jsL*qedK9Tr.cVnv==
03-07 15:27:06.569 10225 10225 E   : iK{]@\:TI=FVBbBu51!Dc1n=qF -> m^aHK^Y~h]khi^M+jRr@eYD1J^k-f+Ob~^V=
03-07 15:27:06.713 10225 10225 E   : Egxp+8qMN}c=G-w[Q\l@"{; -> k&eXdMwXdSXt&fok8Xx1O2sBfA!dA`=
03-07 15:27:06.832 10225 10225 E   : p;;*^*?qZQ*fOddcYH<u?LQ&_f}p -> dlwNT[Oiis2qDpcTCrk$LDGViUD(C.qTKrMdx]==

看起来还是Base64的,因为结尾是 == ,但是有特殊符号,字符集应该是被换掉了
在这里插入图片描述
同时修改了算法中的一个异或
在这里插入图片描述

CRC32

3-1

03-07 15:46:27.949 10506 10506 E : GUkUBWTdkVGrLgUHVFbaTYTGgVkAz -> 375ede52
03-07 15:46:28.092 10506 10506 E : txppliIKqXzMARNGBSHO -> f131ab1e
03-07 15:46:28.236 10506 10506 E : ESTYyfPSmperYJHL -> 94e64387
03-07 15:46:28.388 10506 10506 E : yZCCYkScIsQJHjeRQ -> 8760400a
03-07 15:46:28.540 10506 10506 E : LPTWaSaZdfBwvKwUKvkBm -> 4b36cbdf
03-07 15:46:28.760 10506 10506 E : qNgArdUjvEzQMRWbJpPJwqDYf -> 6714d7bf

结果是4个字符,看起来是CRC32 ,校验之后,是CRC32

看so文件,这里CRC32使用一个常量表实现的

.rodata:00016974 dword_16974     DCD 0, 0x77073096, 0xEE0E612C, 0x990951BA, 0x76DC419, 0x706AF48F
.rodata:00016974                                         ; DATA XREF: .text:00008D1A↑o
.rodata:00016974                                         ; .text:off_8D20↑o ...
.rodata:00016974                 DCD 0xE963A535, 0x9E6495A3, 0xEDB8832, 0x79DCB8A4, 0xE0D5E91E
.rodata:00016974                 DCD 0x97D2D988, 0x9B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91
.rodata:00016974                 DCD 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D
.rodata:00016974                 DCD 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0
.rodata:00016974                 DCD 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63
.rodata:00016974                 DCD 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172
.rodata:00016974                 DCD 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA
.rodata:00016974                 DCD 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75
.rodata:00016974                 DCD 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A, 0xC8D75180
.rodata:00016974                 DCD 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F
.rodata:00016974                 DCD 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87
.rodata:00016974                 DCD 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190, 0x1DB7106
.rodata:00016974                 DCD 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x6B6B51F, 0x9FBFE4A5
.rodata:00016974                 DCD 0xE8B8D433, 0x7807C9A2, 0xF00F934, 0x9609A88E, 0xE10E9818
.rodata:00016974                 DCD 0x7F6A0DBB, 0x86D3D2D, 0x91646C97, 0xE6635C01, 0x6B6B51F4
.rodata:00016974                 DCD 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B
.rodata:00016974                 DCD 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA
.rodata:00016974                 DCD 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65
.rodata:00016974                 DCD 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541
.rodata:00016974                 DCD 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A, 0x346ED9FC
.rodata:00016974                 DCD 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F
.rodata:00016974                 DCD 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086
.rodata:00016974                 DCD 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 0x5EDEF90E
.rodata:00016974                 DCD 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81
.rodata:00016974                 DCD 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, 0x3B6E20C
.rodata:00016974                 DCD 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x4DB2615, 0x73DC1683

3-2

03-07 15:48:05.074 10607 10607 E : GtoBDCkJQMVjIzKz -> 3d2f76f
03-07 15:48:05.237 10607 10607 E : qdOrzEsWeVZnpTrTkVXxbWExcD -> 2f4a9c29
03-07 15:48:05.379 10607 10607 E : DflTSrmokDsnJxcvNBSxlhzvuQr -> c376459
03-07 15:48:05.514 10607 10607 E : zJCTEpEkbIIPNEwOQtMsBnxPH -> a4658bab
03-07 15:48:05.650 10607 10607 E   : zgIJZWDPDAjUTIUCyRFbVu -> b546a51f
03-07 15:48:05.769 10607 10607 E : GcajlQAEMOCSHeJWGhvekwdCTVlf -> 22210b4f
03-07 15:48:05.846 10607 10607 E : WKlSIyjjRjptQGibYhBCRT -> 287c8bcc
03-07 15:48:05.963 10607 10607 E : DuxjnrFzDJNpdGNvVgHsfcdXdLNGUa -> 993fa282

结果是4个字符,看起来是CRC32 ,校验之后,是CRC32

看so文件,CRC的常量使用代码实现的

  for ( i = 0; i != 256; ++i )
  {
    v1 = 8;
    v2 = i;
    while ( v1 )
    {
      v3 = (v2 >> 1) ^ 0xEDB88320;
      if ( !(v2 << 31) )
        v3 = v2 >> 1;
      --v1;
      v2 = v3;
    }
    dword_1B064[i] = v2;
  }

3-3

03-07 15:55:29.335 10765 10765 E   : bKtRXBHjvVjxjpoSqL -> 9979b87c
03-07 15:55:29.513 10765 10765 E   : aiGqAkJWyVjSFDjSXYvabI -> 1fb3752
03-07 15:55:29.674 10765 10765 E   : gYkYtrnVKIXMIXAzXCxPbWdrGPS -> 8326bb40
03-07 15:55:29.817 10765 10765 E   : hidceunCubaQGjzhARAZCSPirb -> f105cbcd
03-07 15:55:29.996 10765 10765 E   : skkwBazFSWNJmEyygwDTBqYu -> a866fb26
03-07 15:55:30.147 10765 10765 E   : HAHOSvGzwAsxsUGgdbfaRwFgY -> 45168ca5
03-07 15:55:30.334 10765 10765 E   : OtotgIwKBQPprfWMFqVwisj -> aee9d1be
03-07 15:55:30.452 10765 10765 E   : YiNcqLfSdPkuhesREsSAPmCBEaQb -> 67bda576

结果是4个字符,看起来是CRC32 ,校验之后,不是,看so文件
生成常量的值是自定义的

  for ( i = 0; i != 256; ++i )
  {
    v1 = 8;
    v2 = i;
    while ( v1 )
    {
      v3 = (v2 >> 1) ^ 0xEDB88310; //这个值和标准CRC32不一样
      if ( !(v2 << 31) )
        v3 = v2 >> 1;
      --v1;
      v2 = v3;
    }
    dword_1B064[i] = v2;
  }

3-4

03-07 15:59:05.377 10890 10890 E : GRqWFUSuwBJbQvQFUlrDGbItNGkiuQl -> f9e8402
03-07 15:59:05.521 10890 10890 E : EREXKssTnjEfOlbofNzsGJifufpjdf -> b1075595
03-07 15:59:05.665 10890 10890 E : QGmObPRWWyLWfewdWFpwFT -> 7eaaa64c
03-07 15:59:06.013 10890 10890 E : lJWFBLCeXfCehGdVXfsbEQiBIA -> 84c0d09d
03-07 15:59:06.182 10890 10890 E : zLBrwTVucdBmuhGwmyYDg -> 6516b297
03-07 15:59:06.335 10890 10890 E : MylVCCpzCJCNPvUeEVKpMkErEIuQ -> 1c413ae8
03-07 15:59:06.478 10890 10890 E : TYocdoDIiEZHNHCRpNzqzXTkwxAJ -> 29e838ea

结果是4个字符,看起来是CRC32 ,校验之后,不是,看so文件
在这里插入图片描述
自定义的CRC32,在计算时多了一个异或 ^ 0x29

MD5

4-1

03-07 16:05:26.982 11049 11049 E   : uwgXILMiMQdDpHLnbKySgsCTcAzuBu -> bd710db8323a893701e5553720c46491
03-07 16:05:27.125 11049 11049 E   : rWSgQHVDfUpQofzpwzPnujfmGOMbU -> aef2973473764ebfcf1ee77e9bf0436d
03-07 16:05:27.277 11049 11049 E   : JqwrblkPEPkGwPMmCTkqkDcUnpVY -> a812bf30fb96ba51611bfae8d8eec35d
03-07 16:05:27.413 11049 11049 E   : vSZcRVqpQuljMWiednLKjrFhsDRG -> 9e2f11977c78ec3836d2b4891f14d1c1
03-07 16:05:27.625 11049 11049 E   : gYPvmSuxazxCBZwqOyULPPOFTyicuX -> 7a639e25c83bf973dc3783020bc101b0
03-07 16:05:27.751 11049 11049 E   : VwWykdeOoSbENTcfLNRzQHs -> 4adf1921a8c58f419d9190f50682aa7c
03-07 16:05:27.895 11049 11049 E   : bHWnSQjIwAMuHyVkYHpJwIKVeqpuHrb -> 7d5e0f3576d9f989bdf0eb86171b722d

输出为32个数字,看起来是md5,但是验证之后不是md5,看so文件
存在几个常量 ,这些常量是md5中的

  v9 = 0x98BADCFE;
  v10 = 0x10325476;
  v7 = 0x67452301;
  v8 = 0xEFCDAB89;

后又发现又updata了一些字符:意思就是把需要加密的字符串和一些常量字符串拼接在一起加密了

4-2

03-07 16:16:09.408 11258 11258 E : qORLfRMuSTNGxRbqzDdnkTSAifxn -> 3d26f6a1e5af04c261ae7df66671fee7
03-07 16:16:09.755 11258 11258 E : FeJbFSXypIpDYuLKEbpMJvwsX -> e3edabb6b76c733ec6e57bd26e092789
03-07 16:16:09.889 11258 11258 E : CekTQsHJgeWtutiDZYpemraFuc -> e45fe8beaf128a849695f8fed3e36268
03-07 16:16:10.042 11258 11258 E : AmQEdZGttcplkEJX -> 89574977806dfba081ddb8758b819ca1
03-07 16:16:10.195 11258 11258 E : ZAYUZBmfXpLevSqGNO -> 582a93de56b83a41a578725b2ef16161
03-07 16:16:10.337 11258 11258 E : LHIXtsDVmplIRrYqnLCBnddyQ -> 798077d428f1a71833f2cd20f4855875
03-07 16:16:10.473 11258 11258 E : RBAFzCxRlqGcufHDeVuUNRng -> afcc707c74aa89355a5a8a642e7aa3f9
03-07 16:16:10.592 11258 11258 E : vLokJerUXhvtNhqrHiBHI -> 9e1044298c7773255da716041c19d18f

输出为32个数字,看起来是md5,但是验证之后不是md5,看so文件,发现常量值被替换了

  v9 = 0xBA98FEDC;
  v10 = 0x32107654;
  v7 = 0x45670123;
  v8 = 0xCDEF89AB;

4-3

03-07 16:26:02.722 11539 11539 E   : PkOyuirVoMmUxXfXxwarslgoBJxO -> c31c0eacb40fa259b2f8704313718fe7
03-07 16:26:02.875 11539 11539 E   : TBkBfVZyqZinvxaKkEQpwGPBu -> 7097fbdff813b69d05595d163d347333
03-07 16:26:03.018 11539 11539 E   : FUkDTpKnCSRpOYGqSmonJMDkl -> d5928921638bbb7b20fb66ed0736f833
03-07 16:26:03.171 11539 11539 E   : ApTxYSaCVSGbPIsRMTrAhzwn -> e817ee9af0c30697b11f424b72095799
03-07 16:26:03.298 11539 11539 E   : BsVWpeSfXbCeHcRRYqfZmUsr -> 30dec6fe01f2a4e5c69d09833af4d4cb
03-07 16:26:03.441 11539 11539 E   : HSkMvHvkYpodxKLJsZxFnEfjqT -> 650e89afc08cbff257fb5b7c83cc52e8
03-07 16:26:03.619 11539 11539 E   : wGUjlxvgoYjBodOHMHwdPSED -> f9403133c6acf212501104bff1ef286e

输出为32个数字,看起来是md5,但是验证之后不是md5,看so文件,发现是ollvm混淆的
通过 frida(指定输入)和ida trace ,运行两个,通过文件对比工具,看差异部分

4-4

md5的常量值被替换了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Reese84 算法通常指的是一种用于图像处理的技术,特别是在音频信号的增强、降噪以及恢复方面有着广泛的应用。它是由一个名为 Reese 的研究者在一系列论文中提出的,具体指的是针对某些特定类型的噪声环境下的信号处理算法。 在实际应用中,Reese84 算法的核心思想是对输入的信号进行分析,识别并去除干扰部分,同时保留或增强原始信号的信息。这一过程可能涉及到频域分析、滤波操作等技术手段,目的是为了提高音频质量或增强特定信息。 对于具体的算法步骤,由于 Reeseman 或该算法的具体细节并未在公开文献中有详细的描述,所以很难提供精确的操作流程。然而,一般来说,这类算法可能会包括以下几个基本步骤: 1. **信号预处理**:首先对输入信号进行预处理,如采样、标准化等,确保数据适合后续的算法处理。 2. **特征提取**:从信号中提取关键特征,比如频率成分、能量分布等。这一步骤有助于理解和区分信号的不同部分。 3. **噪声分析与分离**:利用统计模型或机器学习方法来分析和识别噪声模式,并将其从信号中分离出来。 4. **信号修复**:基于对信号的理解,针对性地修正或替换已经分析出的噪声部分。 5. **结果合成**:将处理后的信号片段重新组合成完整的、更高质量的输出信号。 6. **后处理**:最后可能还包括进一步优化音质的过程,比如调整均衡、消除剩余杂音等。 请注意,尽管 Reese84 算法可能在特定领域内有其独特的贡献和用途,但它并非是最广为人知或最常用的音频信号处理技术之一。对于更普遍的音频处理需求,如降噪、音效增强等,可能存在更为成熟且广泛应用的算法和技术,例如基于深度学习的端到端音频处理方法等。 -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值