首页
社区
课程
招聘
[已解决] [求助]JPG 图片加密,求加密解密方法 100.00雪花
发表于: 2018-3-26 00:16 17710

[已解决] [求助]JPG 图片加密,求加密解密方法 100.00雪花

2018-3-26 00:16
17710
加密后的图片和原图大小是一致的,后缀也没有改还是jpg。用二进制打开看,已经是完全不一样的了。加密的程序是使用C++,加密后的图片会上传到java端的服务器。我就想知道它是如何加密的,怎么能把图片还原。
以下是二进制文件
未加密图片:
??JFIF  ` `  ?C  

 $.' ",#(7),01444'9=82<.342?C 

2!!22222222222222222222222222222222222222222222222222?XB" ?          
??   } !1AQa"q2亼?#B绷R佯$3br?
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz儎厗噲墛挀敃枟槞殺¥ウЖ┆渤吹斗腹郝媚牌侨墒矣哉肿刭卺忏溴骁栝犟蝮趱鲼??       
??  w !1AQaq"2?B憽绷 #3R?br?$4??&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz們剠唶垑姃摂晼棙櫄ⅲぅΗī炒刀犯购旅呐魄壬室釉罩棕仝忏溴骁栝牝篝貊鼬?   ? 驧/滦唛v鞑?塻缨9饡垛 強佯忈榤洈嶨埕璦?湨榆躔鴍R壧?hF 扲7?s牟侀]F9?岏S瓮精K鵑P?袨'楄E羦潶柡牸
………………………………………………………………………………………………
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
希望有大神能够解决,附件中是一张未加密的图片和一张已经加密的图片。



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2018-3-26 13:09 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 6682
活跃值: (1156)
能力值: ( LV5,RANK:158 )
在线值:
发帖
回帖
粉丝
2

信息量有点少呀!用aes-128,aes-256都可以达到类似的效果:

$ openssl enc -aes-256-cbc -k IDCARD_BACK < IDCARD_BACK.JPG > aes-256
$ openssl enc -aes-128-cbc -k IDCARD_BACK < IDCARD_BACK.JPG > aes-128
$ ls -l
total 160
-rw-rw-r-- 1 ubuntu ubuntu 38864 Mar 26 08:23 aes-128
-rw-rw-r-- 1 ubuntu ubuntu 38864 Mar 26 08:23 aes-256
-rw-rw-rw- 1 ubuntu ubuntu 38848 Feb  8 05:30 IDCARD_BACK_En.JPG
-rw-rw-rw- 1 ubuntu ubuntu 38846 Feb  8 05:30 IDCARD_BACK.JPG

只是加密后的结果比你那边的多16字节!你那边也是16字节对齐的,有可能用的aes-128加密的

2018-3-26 08:27
0
雪    币: 6682
活跃值: (1156)
能力值: ( LV5,RANK:158 )
在线值:
发帖
回帖
粉丝
3

下面是我个人加密的两个文件与你提供的一个加密文件末尾的160字节对比,都是一团乱码,楼主需要找到加密方法和密码才可能把文件解密出来!这就跟Wannacry比特币勒索软件加密文件后的效果一样,没有密码谁也帮不了你

$ xxd aes-128 | tail
00009730: 8815 34f7 9b82 78ba 6fc3 f449 b94f 4915  ..4...x.o..I.OI.
00009740: bea5 df05 283d db03 e41e b5d7 78d4 176c  ....(=......x..l
00009750: 6103 8424 f09d dc37 6124 0e82 2716 6f8f  a..$...7a$..'.o.
00009760: 7f1b 2d04 a42c 07cf 5ed9 2595 06f2 7e94  ..-..,..^.%...~.
00009770: 4fc6 5132 2891 f34b 4aee 7ed0 0c4d 3ce1  O.Q2(..KJ.~..M<.
00009780: 7ce6 a4c9 56ec 53b3 1a87 be86 6ee1 60ce  |...V.S.....n.`.
00009790: 7872 85c1 05f3 3caf cc6b c230 a9ab c347  xr....<..k.0...G
000097a0: 3754 84c3 7328 a069 d44d ee27 b599 810d  7T..s(.i.M.'....
000097b0: d262 d56f 7a12 7bce aeba 8755 b008 d53e  .b.oz.{....U...>
000097c0: cda2 141e debf f060 643c b0e4 7259 12c5  .......`d<..rY..

$ xxd aes-256 | tail
00009730: 9cee b129 5b9a 63ec f0b7 72ac 04c2 2296  ...)[.c...r...".
00009740: 6efd cfce 984c 9f29 5430 f8e6 5568 5d6b  n....L.)T0..Uh]k
00009750: 218d 5c6c 1a4b ba65 2222 7061 7400 14f3  !.\l.K.e""pat...
00009760: a238 9fce 0cce c4c9 43ee 3d03 6d36 df6f  .8......C.=.m6.o
00009770: 552d 6360 2041 3cf2 62bc 439b 6644 dc76  U-c` A<.b.C.fD.v
00009780: 9210 4b3b a21c 0ffa f21a cd26 69bd c1f4  ..K;.......&i...
00009790: 424f a012 cfa2 8c94 69e6 6c58 cee8 923c  BO......i.lX...<
000097a0: dc79 0a4d ab6c b869 0ca3 b818 3737 d95c  .y.M.l.i....77.\
000097b0: f26a f61f 11db 01d2 0ecf 0eae eee2 a820  .j............. 
000097c0: 2c58 5ae4 9492 6fdb 0043 0530 7076 0bd7  ,XZ...o..C.0pv..

$ xxd IDCARD_BACK_En.JPG | tail
00009720: 9dc8 0700 2ec7 4fd4 f52a 033e 7216 6355  ......O..*.>r.cU
00009730: 584a a8e3 d8f2 f067 9376 fcf7 0d1f f92e  XJ.....g.v......
00009740: e88d 7269 3e96 bdd7 a697 a572 c869 8da5  ..ri>......r.i..
00009750: acb6 10f9 01f0 2fa5 f82a bb85 1010 5788  ....../..*....W.
00009760: b889 1336 a0b5 07c7 11fa 31ad 8ca8 8c05  ...6......1.....
00009770: 52a2 32f8 6dbe 6616 ff22 40b2 a2ff 6551  R.2.m.f.."@...eQ
00009780: 4cbf 8171 d298 f3e3 30a7 8bfa 6dc1 e04d  L..q....0...m..M
00009790: 7190 6dba 21bc 33b6 c546 f861 29a8 b436  q.m.!.3..F.a)..6
000097a0: 4340 c019 e4f3 2fea cfa6 7982 b098 e1a3  C@..../...y.....
000097b0: b01c 8522 b09c 6b2b 629c 30ef 24ae aa81  ..."..k+b.0.$...
2018-3-26 08:40
0
雪    币: 184
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
图片加密是在一个OCX控件中加密的,OCX控件是使用C++编写。我对这方面的了解不是很深入,有些描述可能不到位。
附件中就是这个控件
2018-3-26 09:19
0
雪    币: 184
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
附件
上传的附件:
2018-3-26 09:24
0
雪    币: 1262
活跃值: (275)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6

看了一下导入函数,感觉是用DES加密算法。

 

图片描述

2018-3-26 10:31
0
雪    币: 6682
活跃值: (1156)
能力值: ( LV5,RANK:158 )
在线值:
发帖
回帖
粉丝
7

如楼上所言,加密方式可能是DES,加密解密相关的函数可能在一个名为EnDeTool.dll的文件中,看来楼主还需要把那个文件给发上来。

2018-3-26 10:49
0
雪    币: 184
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我也觉得是使用DES加密,开发这套系统的人,不管是WEB 还是APP 使用的都是 DES加密。EnDeTool.dll这个DLL会在什么位置呢?下图是安装文件的目录
2018-3-26 11:14
0
雪    币: 6682
活跃值: (1156)
能力值: ( LV5,RANK:158 )
在线值:
发帖
回帖
粉丝
9

可以全盘搜索系统盘,可能会慢一些。也可以去下面的位置挨个找

The directory where the executable module for the current process is located.

The current directory.

The Windows system directory. The GetSystemDirectory function retrieves the path of this directory.

The Windows directory. The GetWindowsDirectory function retrieves the path of this directory.

The directories listed in the PATH environment variable.

参考这些链接

Search Path Used by Windows to Locate a DLL
可执行程序dll的依赖分析,dll文件32/64区分,dll的搜索路径

最后于 2018-3-26 11:38 被Explorerl编辑 ,原因:
2018-3-26 11:33
0
雪    币: 184
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
是的,通过  FileLocator Pro 很快就搜索出这个文件了

下面附件就是该DLL
上传的附件:
2018-3-26 11:49
0
雪    币: 184
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
查看导出函数如图,我感觉就是加密函数了



2018-3-26 11:52
0
雪    币: 47147
活跃值: (20405)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
12
将1楼的帖子编辑了一下。这么长的图片乱码文本,没必要直接帖上来,可以用论坛附件上传。
最后于 2018-3-26 13:11 被kanxue编辑 ,原因:
2018-3-26 13:11
0
雪    币: 184
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
有没有大神能够相助呢?
2018-3-27 00:26
0
雪    币: 6682
活跃值: (1156)
能力值: ( LV5,RANK:158 )
在线值:
发帖
回帖
粉丝
14
神马不是神 有没有大神能够相助呢?
没看到已经有8个人下载了你的附件吗?想要解密图片,需要逆向分析两个动态链接库,看看是不是真正的DES加密,如果不是还要写出解密的程序。就算有兴趣,有能力的人至少也得两三天时间吧?再说大家还需要上班呢!我水平有限,楼主就不要指望我了。
2018-3-27 08:42
0
雪    币: 184
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
看了只能等真正的高手出现了,能做到图片加密后跟原来的一样,我也满足了。
2018-3-27 09:15
0
雪    币: 86
活跃值: (60)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
16
看着楼上的结果,加密算法几乎可以肯定是DES,楼主要努力去将密钥拿到才能解密,如果没有密钥想让看雪的帮你破解,估计得请国家级的算法破解专家了!如果写这个软件的人刚好将密钥写死在程序里,那恭喜你  破解比较容易。
最后于 2018-3-30 11:02 被zhansq编辑 ,原因:
2018-3-30 11:01
0
雪    币: 184
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
每次加密同一张图片,加密后的结果都是一样的,所以秘钥肯定是同一个,秘钥有可能写死在了ocx控件里面,但是我把整个反汇编的字符串都看了遍,都没有找到。不知道是不是我找的方式不对
2018-3-30 19:10
0
雪    币: 184
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
如何拿到秘钥,我其实有个想法,就是编写一个和EnDeTool.dll一样导出接口的dll,然后替换原本的EnDeTool.dll,把每个方法传入的参数打印出来,这样可能就能看到秘钥了,不知道这个想法能不能实现,对这方面了解不是很深
2018-3-30 19:17
0
游客
登录 | 注册 方可回帖
返回
//