Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wechat6.5? #42

Closed
pxss opened this issue Apr 12, 2017 · 27 comments
Closed

wechat6.5? #42

pxss opened this issue Apr 12, 2017 · 27 comments
Labels

Comments

@pxss
Copy link

@pxss pxss commented Apr 12, 2017

wechat6.5 how to decrypt ?

@rom1504
Copy link

@rom1504 rom1504 commented Apr 12, 2017

still the same

@ppwwyyxx
Copy link
Owner

@ppwwyyxx ppwwyyxx commented Apr 28, 2017

@ChiChou Thanks very much for the details!! I'll try your method and update the code.

@ChiChou
Copy link

@ChiChou ChiChou commented Apr 29, 2017

@ppwwyyxx Damn I was fooled. WeChat 6.5 uses the same password generator.

ced409b5-762a-4b5b-b397-3809604d1937

Sorry for misleading.

@ppwwyyxx
Copy link
Owner

@ppwwyyxx ppwwyyxx commented Apr 29, 2017

So I only need to change the device id (previously IMEI number), right?

@ChiChou
Copy link

@ChiChou ChiChou commented May 23, 2017

This may work:
https://gist.github.com/ChiChou/36556fd412a9e3216abecf06e084e4d9

It invokes JNI to unserialize the MicroMsg/CompatibleInfo.cfg file, which stores the actual device id (IMEI or whatever it generates).

@ppwwyyxx ppwwyyxx added the bug label Jun 16, 2017
@ppwwyyxx
Copy link
Owner

@ppwwyyxx ppwwyyxx commented Nov 29, 2017

Decryption works for me after I tried other methods to get IMEI.

@tony-zdl
Copy link

@tony-zdl tony-zdl commented Jan 18, 2018

@ppwwyyxx which method did you try to get IMEI?

@ppwwyyxx
Copy link
Owner

@ppwwyyxx ppwwyyxx commented Jan 18, 2018

In the README.

@8enet
Copy link

@8enet 8enet commented Feb 6, 2018

@ChiChou Thanks, it work fine for me!
get the IMEI unexpectedly is 1234567890ABCDEF. 😂

@cs-usst
Copy link

@cs-usst cs-usst commented Feb 17, 2018

@8enet How does that file work? I don't understand.

@ChiChou
Copy link

@ChiChou ChiChou commented Feb 23, 2018

@cs-usst

The device id that WeChat uses does not always match IMEI. But WeChat will always store this id in file /data/data/com.tencent.mm/MicroMsg/CompatibleInfo.cfg, which contains a HashMap<Integer, Object> serialized with ObjectOutputStream. I wrote the gist with C to call Java runtime (void device_id(char *id, size_t len)).

Anyways, Java serialized string still looks as is, so simply pull this file from device and strings CompatibleInfo.cfg to pick it.

@ChiChou
Copy link

@ChiChou ChiChou commented Feb 23, 2018

Tried deserialize that with python, but the javaobj from pypi looks buggy

@QiangF
Copy link

@QiangF QiangF commented Apr 26, 2018

I get :

q@debian wechat-dump$ strings CompatibleInfo.cfg
java.util.HashMap
loadFactorI
    thresholdxp?@
java.lang.Integer
valuexr
java.lang.Number
java.lang.Boolean
valuexp
ZUKZUK Z1: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt: ARMv7 Processor rev 1 (v7l): 7: Qualcomm MSM8974PRO-AC: 0000000000000000sq
AXKXESIIOBTUPLVJsq
867695023349383x

use the imei as 867695023349383x
still not working!

@prusswan
Copy link

@prusswan prusswan commented Aug 23, 2018

@QiangF assuming your dump is correct, the IMEI should be AXKXESIIOBTUPLVJ (the sq bit is an artifact from improper deserialization - a proper way to do it can be found here: https://blog.csdn.net/jiezhi2013/article/details/22181771)

@amakuramio
Copy link

@amakuramio amakuramio commented Jan 16, 2020

How to run on windows?

@ChiChou
Copy link

@ChiChou ChiChou commented Jan 17, 2020

@amakuramio
Copy link

@amakuramio amakuramio commented Jan 18, 2020

Help me please
I tried to compile wechat xposed module (adamyi/AndroidWechatSQLiteDecrypt#1) to fetch pass but didnt work
Im stupid, I have a very old laptop so slow
I used imei of my first and second phone, fail
I cant decrypt!
https://drive.google.com/file/d/1fNYFBsIxBgCXZ4cywUe26KpSJeBHXxjY/view?usp=drivesdk
Please anyone can help me decrypt my compatibleinfo and send me the contents!

@amakuramio
Copy link

@amakuramio amakuramio commented Jan 18, 2020

@QiangF assuming your dump is correct, the IMEI should be AXKXESIIOBTUPLVJ (the sq bit is an artifact from improper deserialization - a proper way to do it can be found here: https://blog.csdn.net/jiezhi2013/article/details/22181771)

Tried to run in windows, said that maptest is missing

@amakuramio
Copy link

@amakuramio amakuramio commented Jan 26, 2020

Decryption works for me after I tried other methods to get IMEI.

i installed ubuntu, i also have compatibleinfo, now what do i do
which commands? what do i download? i only want the pragma key so i can open with sqlcipher

@amakuramio
Copy link

@amakuramio amakuramio commented Jan 26, 2020

This may work:
https://gist.github.com/ChiChou/36556fd412a9e3216abecf06e084e4d9

It invokes JNI to unserialize the MicroMsg/CompatibleInfo.cfg file, which stores the actual device id (IMEI or whatever it generates).

how do i use this one? add to the folder wechat_dump then strings .. cfg?

@amakuramio
Copy link

@amakuramio amakuramio commented Jan 27, 2020

ridiculous, it was the original phone, i registered with in 2016, plus uim, and the 7 md5 thingy
but i always used capital letters .................................................
i got it, decrypted... haha im so stupid

@altayhunter
Copy link

@altayhunter altayhunter commented Feb 25, 2020

When I deserialize the HashMap in my CompatibleInfo.cfg I get the following: {98305=false, 94209=0}
The bytes between the instances of sq are 00 7E 00 02 00 01 70 01. Any ideas?

@ppwwyyxx
Copy link
Owner

@ppwwyyxx ppwwyyxx commented Jun 27, 2020

The latest decryption script (

#!/usr/bin/env python3
) now implements the logic to obtain device id from CompatibleInfo.cfg automatically.

@ppwwyyxx ppwwyyxx closed this Jun 27, 2020
@wzyboy
Copy link

@wzyboy wzyboy commented Aug 31, 2020

Is anyone using Android 10? In Android 10, the IMEI is not available to third-party apps.

I tried to extract whatever WeChat gets by deserializing /data/data/com.tencent.mm/MicroMsg/CompatibleInfo.cfg file but it turned out that this file is empty (file size 0 byte).

@Admingyu
Copy link

@Admingyu Admingyu commented Jan 8, 2021

Is anyone using Android 10? In Android 10, the IMEI is not available to third-party apps.

I tried to extract whatever WeChat gets by deserializing /data/data/com.tencent.mm/MicroMsg/CompatibleInfo.cfg file but it turned out that this file is empty (file size 0 byte).

Me too, I got the imei in com.tencent.mm/shared_prefs/WLOGIN_DEVICE_INFO.xml

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <string name="imei">fb8da1fe1cb980202656xxxxxxxx</string>
</map>

But still not working

@ppwwyyxx
Copy link
Owner

@ppwwyyxx ppwwyyxx commented Jan 8, 2021

The above comment was already addressed in #70

@Admingyu
Copy link

@Admingyu Admingyu commented Jan 8, 2021

The above comment was already addressed in #70

Thanks a lot !!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet