Coder Social home page Coder Social logo

watoi's People

Contributors

felizolinha avatar ludufre avatar residentsummer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

watoi's Issues

Database migration error: missing/ not a dir!

After some time of trial and error, I proceeded to the second last step of the tutorial. Then, I encountered this problem.
I inputted:
build/Release/watoi /Users/hays/Downloads/msgstore.db ChatStorage.sqlite app/Payload/WhatsApp.app/WhatsAppChat.momd
Output:

2018-11-03 02:34:08.503 watoi[2384:359422] Probing msgstore.db at path: /Users/hays/Downloads/msgstore.db
2018-11-03 02:34:08.503 watoi[2384:359422]     ok.
2018-11-03 02:34:08.503 watoi[2384:359422] Android store loaded
2018-11-03 02:34:08.504 watoi[2384:359422] Probing WhatsAppChat.momd at path: app/Payload/WhatsApp.app/WhatsAppChat.momd
2018-11-03 02:34:08.504 watoi[2384:359422]     missing/not a dir!

Terminating app due to uncaught exception 'NSInvalidArgumentException'

Im running into an error which sounds very similar to #4

2019-11-30 04:14:38.163 watoi[6690:431437] missing sender

2019-11-30 04:14:38.164 watoi[6690:431437] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unacceptable type of value for attribute: property = "memberJID"; desired type = NSString; given type = NSNull; value = .'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff341e49b3 __exceptionPreprocess + 250
1 libobjc.A.dylib 0x00007fff6a369562 objc_exception_throw + 48
2 CoreData 0x00007fff33c66d72 _PFManagedObject_coerceValueForKeyWithDescription + 3234
3 CoreData 0x00007fff33c42868 _sharedIMPL_setvfk_core + 232
4 watoi 0x0000000108d8da24 -[Importer addMissingMember:toChat:asAdmin:] + 311
5 watoi 0x0000000108d8f51d -[Importer importMessages] + 1790
6 watoi 0x0000000108d8c9de main + 346
7 libdyld.dylib 0x00007fff6b6c02e5 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

I think it's just a NULL check missing, same as in #4 but I have absolutely no idea of objective C, so I am completely lost in trying to fix it myself.
Any change you can help me?

Thank a lot and keep up the great work!!

Boot loop after restoring

Hi! Just followed the instructions, did not modify anything like in this issue, and here it is, the boot loop. Any ideas what could go wrong?

My device is iPhone 8, iOS 14.3.

Failed to load NSManagedObjectModel with URL

error: Failed to load NSManagedObjectModel with URL 'app/Payload/WhatsApp.app/WhatsAppChat.momd -- file:///Users/timojansen/Downloads/watoi/'
2018-09-08 16:36:27.608 watoi[3588:485626] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff2c4a043d __exceptionPreprocess + 256
1 libobjc.A.dylib 0x00007fff582ea720 objc_exception_throw + 48
2 CoreData 0x00007fff2bf27a8e -[NSPersistentStoreCoordinator initWithManagedObjectModel:] + 430
3 watoi 0x0000000106843c71 -[Importer initializeCoreDataWithMomd:andDatabase:] + 211
4 watoi 0x0000000106843b44 main + 324
5 libdyld.dylib 0x00007fff593b70a1 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

Basic tutorial please, thank you so so much (:

Hi all, I want to switch from my Huawei P20 to iPhone XR. I'm looking to transfer all the whatsapp backup from my android to iOS device.

I have very very basic coding and terminal experience on my Macbook Pro so would really appreciate it if someone can do a video tutorial or even just an in-depth basic tutorial as to how we can transfer the files over..

Currently Watoi seems very promising but I have no idea how to even start.

Pleaee assist!!

Thank you so much!

Yan

Media files support

Hi, this is a pretty interesting project. Especially for me as I am currently making the switch ;-)

I understand that media files are not supported yet. I am interested in contributing but before I set up my xcode I would like to know what exactly is the problem for media files? Do you think its possible (w/ ease)?

Unable to copy updated database

Hi,
I am unable to copy the updated database back into the backup folder. Each time I run the command (with the correct path identified in earlier stages) its says no such directory found

I have copied the 7cxxxxxxxxxxxx file to desktop and then tried to do the step but terminal says the same thing

here is the terminal error message
Ranjeets-iMac:watoi hackintosh$ cp ChatStorage.sqlite “~/Library/Application Support/MobileSync/Backup/b57c35e867319d59df7a6b4d7458bc306f35b2f5/7c/7c7fba66680ef796b916b067077cc246adacf01d”
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory
Ranjeets-iMac:watoi hackintosh$

Please help

Noob here

I want to transfer my WA chats from an S6 Edge to an iPhone, love your guide, I have my backup unencrypted and my Android Db but i really do not understand this step. I do however know where the backup is located, I just don't know what the path for the sqlite file is. Any help pls? :(

Locate Whatsapp database file inside the backup and copy it somewhere:

$ sqlite3 /Manifest.db "select fileID from Files where relativePath = 'ChatStorage.sqlite' and domain like '%whatsapp%';"
abcdef01234567890
$ cp /ab/abcdef01234567890 ~/Downloads/watoi/ChatStorage.sqlite

ChatStorage.sqlite generated is 0kb size?

Hi, so the problems I had is similar to what mcmuffin posted on his issues

#5

I tried replacing with my current backup location

$ sqlite3 ~Library/Application Support/MobileSync/Backup/Manifest.db "select fileID from Files where relativePath = 'ChatStorage.sqlite' and domain like '%whatsapp%';"
abcdef01234567890

But I'm just getting invalid error or something like 'no such table: files'

So I used IExplorer to grab the ChatStorage.sqlite and I followed the rest of the steps.
However, the new ChatStorage.sqlite generated is only 0kb.
I'm not exactly sure what went wrong here since there's no error in terminal and the process took less than a second?

Btw, the msgstore.db file size from my android phone is around 100mb & the whatsapp.ipa version is 2.18.61 which is a cracked version that I found when googling.

More updates, apparently I didn't decrypt the msgs.db.crypt12 files yet. Manage to decrypt the chat backup file but I'm getting this error instead

watoi KeeliumMAC$ build/Release/watoi ~/Downloads/msgstore.db ChatStorage.sqlite app/Payload/WhatsApp.app/WhatsAppChat.momd
2018-06-03 18:47:23.429 watoi[69237:11700545] Android store loaded
CoreData: annotation:  Failed to load optimized model at path '/Users/KeeliumMAC/Downloads/watoi/app/Payload/WhatsApp.app/WhatsAppChat.momd/WhatsAppChat_2.18.10.omo'
CoreData: warning: no NSValueTransformer with class name 'WAMessageReceiptInfoTransformer' was found for attribute 'receiptInfo' on entity 'WAMessageInfo'
2018-06-03 18:47:23.461 watoi[69237:11700545] CoreData loaded
2018-06-03 18:47:23.468 watoi[69237:11700545] [email protected]: not found
CoreData: warning: Unable to load class named 'WAChatSession' for entity 'WAChatSession'.  Class not found, using default NSManagedObject instead.
CoreData: warning: Unable to load class named 'WAGroupInfo' for entity 'WAGroupInfo'.  Class not found, using default NSManagedObject instead.
2018-06-03 18:47:23.477 watoi[69237:11700545] 	 is group chat
2018-06-03 18:47:23.478 watoi[69237:11700545] 	 not found member (null)
CoreData: warning: Unable to load class named 'WAGroupMember' for entity 'WAGroupMember'.  Class not found, using default NSManagedObject instead.
2018-06-03 18:47:23.480 watoi[69237:11700545] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: key cannot be nil'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff995b257b __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x00007fffae8161da objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff994b2cc5 -[__NSDictionaryM setObject:forKey:] + 1061
	3   watoi                               0x0000000101cd4c6c -[Importer addMissingMember:toChat:asAdmin:] + 614
	4   watoi                               0x0000000101cd557f -[Importer importChats] + 2267
	5   watoi                               0x0000000101cd3f41 -[Importer import] + 27
	6   watoi                               0x0000000101cd3b86 main + 354
	7   libdyld.dylib                       0x00007fffaf0f7235 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

Boot loop when trying to restore just some of the chats

Hey, this is a bit off topic because I tried to modifie the code, but maybe you guys can help

I tried to modify line 276 by changing

NSArray * androidChats = [self executeQuery:@"SELECT * FROM chat_list"];

to

NSArray * androidChats = [self executeQuery:@"SELECT * FROM chat_list WHERE key_remote_jid == '[email protected]' OR "key_remote_jid == '[email protected]' OR (subject IS NOT NULL AND length(subject) > 0)];

where NUMBER is the jid of my contacts, for about 100 contacts
I tested the query before on the Android db file and it worked just as expected

It seemed like working just fine until I actually went to restore the backup and then got stuck in a boot loop
I had the exact same amount of "Imported chats XXX" logs as the amount of contacts+groups
When I tried to restore without the code modification it worked fine, not great - but fine (it didnt order the contacts by last activity)
Using latest Whatsapp with the corresponding IPA

Any suggestions on how to achieve what I want?
Basically I want to restore groups and contacts only, and I got a list of contacts.

Where to download Whatsapp.ipa

Hi,

Been trying to get this to work.
Stuck at this step -

Download Whatsapp.ipa

I tried to look for it but I am unable to find something that I can download to my mac.
Rest all the steps prior to this are done.

Any pointers ?

Thanks in advance!

-Mandy

Partially transferred Messages

Hello,
as the title says my WhatsApp chats only got partially transferred.

After it I noticed the following in the console

2021-07-21 08:23:34.654 watoi[14109:361761] CoreData loaded
CoreData: warning: Unable to load class named 'WAChatSession' for entity 'WAChatSession'. Class not found, using default NSManagedObject instead.
CoreData: warning: Unable to load class named 'WAGroupInfo' for entity 'WAGroupInfo'. Class not found, using default NSManagedObject instead.
CoreData: warning: Unable to load class named 'WAGroupMember' for entity 'WAGroupMember'. Class not found, using default NSManagedObject instead.
2021-07-21 08:23:34.669 watoi[14109:361761] REMOVED-REMOVED@g.us: found
2021-07-21 08:23:34.669 watoi[14109:361761] is group chat
2021-07-21 08:23:34.669 watoi[14109:361761] not found member REMOVED@s.whatsapp.net
CoreData: warning: Unable to load class named 'WAMessage' for entity 'WAMessage'. Class not found, using default NSManagedObject instead.

2021-07-21 08:23:34.685 watoi[14109:361761] REMOVED-REMOVED@g.us: found
2021-07-21 08:23:34.685 watoi[14109:361761] is group chat
2021-07-21 08:23:34.685 watoi[14109:361761] REMOVED@s.whatsapp.net: not found
2021-07-21 08:23:34.685 watoi[14109:361761] REMOVED-REMOVED@g.us: found
2021-07-21 08:23:34.685 watoi[14109:361761] is group chat
2021-07-21 08:23:34.685 watoi[14109:361761] not found member REMOVED@s.whatsapp.net

Can somebody please help me?
Thank youuu

trying to make a simple whatsapp filter.

hello brother sorry if i posted this here but i had no info of you to contact you anyhow. i am trying to make a simple whatsapp filter and i came across an old code which was like https://v.whatsapp.net/v/code?=+919xxxxx something like this and if the result comes ok then the number is on whatsapp if it comes as other then its not. problem is that since the api was changed by whatsapp long time ago the new server wasnt known. but it seems now its https://pps.whatsapp.net/ something like this. please let me know if you can help me out.

Only Group Messages are imported

Hello,

at first I would like to thank you all for this cool tool!
I followed the README and went through the process relatively fast. However, as soon as I restored the backup with the Apple Configurator 2, I only see the messages of group chats. The "individual" chats are not included.

Do you have a guess on why this could be happening?

Systems:
iPhone 6s
iOS 14.2
macOS Catalina

Need help with migration

Hello. For the most part I've been using @needs-coffe tutorial on how to do it on a virtual machine.

Now the problem is, this migration command:
watoi/build/Release/watoi ./msgstore.db ./ChatStorage.sqlite app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd

It outputs me this:
Natnaels-Mac:WhatsApp-Migration natnael$ watoi/build/Release/watoi ./msgstore.db ./ChatStorage.sqlite app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd 2022-02-12 19:36:59.970 watoi[1660:50816] Probing msgstore.db at path: ./msgstore.db 2022-02-12 19:36:59.996 watoi[1660:50816] ok. 2022-02-12 19:36:59.998 watoi[1660:50816] Android store loaded 2022-02-12 19:36:59.998 watoi[1660:50816] Probing WhatsAppChat.momd at path: app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd 2022-02-12 19:37:00.014 watoi[1660:50816] missing/not a dir! Abort trap: 6

Sadly I have no idea what to do or what this even means, so help would be appriciated.

senderJID null check needed

Converting my android database I get this error:

2020-11-17 16:26:15.904 watoi[7944:253518] missing sender
2020-11-17 16:26:15.904 watoi[7944:253518] -[NSNull componentsSeparatedByString:]: unrecognized selector sent to instance 0x7fff80047290
2020-11-17 16:26:15.904 watoi[7944:253518] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull componentsSeparatedByString:]: unrecognized selector sent to instance 0x7fff80047290'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff204976af __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007fff201cf3c9 objc_exception_throw + 48
2 CoreFoundation 0x00007fff20519c85 -[NSObject(NSObject) __retain_OA] + 0
3 CoreFoundation 0x00007fff203ff06d forwarding + 1467
4 CoreFoundation 0x00007fff203fea28 _CF_forwarding_prep_0 + 120
5 watoi 0x0000000105729ac2 -[Importer addMissingMember:toChat:asAdmin:] + 504
6 watoi 0x000000010572b54e -[Importer importMessages] + 1794
7 watoi 0x00000001057289e7 main + 343
8 libdyld.dylib 0x00007fff20340631 start + 1
9 ??? 0x0000000000000004 0x0 + 4
)

Apparently when a member is nil, the code still attempts to add the missing member to the group chat:

            if (isGroup) {
                NSString *senderJID = [amsg objectForKey:@"remote_resource"];
                NSManagedObject *member = [members objectForKey:senderJID];
                if (member == nil) {
                    NSLog(@"\tmissing sender %@", senderJID);
                    member = [self addMissingMember:senderJID toChat:chatJID asAdmin:@NO];
                }

However in my case the missing sender is null, which results in the crash after the log line. I fixed it as follows:

            if (isGroup) {
                NSString *senderJID = [amsg objectForKey:@"remote_resource"];
                NSManagedObject *member = [members objectForKey:senderJID];
                if (member == nil) {
                  if ([senderJID isEqual:[NSNull null]]) {
                      NSLog(@"\tcan't add missing sender %@", senderJID);
                    }
                    else {
                      NSLog(@"\tadding missing sender %@", senderJID);
                      member = [self addMissingMember:senderJID toChat:chatJID asAdmin:@NO];
                    }

                }

Terminating app due to uncaught exception 'NSInvalidArgumentException'

Thanks for this super nifty-seeming tool.

Right at the end, when actually running it, I get a whole bunch of output which makes it seem like it's working. The last of which is:

2018-01-07 01:57:34.725 watoi[9470:32807909] 	 is group chat
2018-01-07 01:57:34.725 watoi[9470:32807909] 	 not found member [email protected]
2018-01-07 01:57:34.728 watoi[9470:32807909] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unacceptable type of value for attribute: property = "isAdmin"; desired type = NSNumber; given type = NSNull; value = <null>.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff8fce1452 __exceptionPreprocess + 178
	1   libobjc.A.dylib                     0x00007fff97286f7e objc_exception_throw + 48
	2   CoreData                            0x00007fff8350411c _PFManagedObject_coerceValueForKeyWithDescription + 2892
	3   CoreData                            0x00007fff834db5a1 _sharedIMPL_setvfk_core + 177
	4   watoi                               0x0000000103ebcdd6 -[Importer addMissingMember:toChat:asAdmin:] + 353
	5   watoi                               0x0000000103ebd708 -[Importer importChats] + 2067
	6   watoi                               0x0000000103ebc208 -[Importer import] + 27
	7   watoi                               0x0000000103ebbe6e main + 326
	8   libdyld.dylib                       0x00007fff980ba5ad start + 1
	9   ???                                 0x0000000000000004 0x0 + 4
)
libc++abi.dylib: terminating with uncaught exception of type NSException
[1]    9470 abort      ./build/Release/watoi ./path/to/msgstore.db

New WhatsApp version errors

Here are a few errors that come when I transfer my database(>>4GB) over using the tool

CoreData: warning: Unable to load class named 'WAChatSession' for entity 'WAChatSession'.  Class not found, using default NSManagedObject instead.
CoreData: warning: Unable to load class named 'WAGroupInfo' for entity 'WAGroupInfo'.  Class not found, using default NSManagedObject instead.
CoreData: warning: Unable to load class named 'WAGroupMember' for entity 'WAGroupMember'.  Class not found, using default NSManagedObject instead.

And

2021-03-27 20:16:52.439 watoi[33199:173729] -[NSNull doubleValue]: unrecognized selector sent to instance 0x1f30eb780
2021-03-27 20:16:52.439 watoi[33199:173729] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull doubleValue]: unrecognized selector sent to instance 0x1f30eb780'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000018d61a320 __exceptionPreprocess + 240
	1   libobjc.A.dylib                     0x000000018d348c04 objc_exception_throw + 60
	2   CoreFoundation                      0x000000018d6a9020 -[NSObject(NSObject) __retain_OA] + 0
	3   CoreFoundation                      0x000000018d57c184 ___forwarding___ + 1444
	4   CoreFoundation                      0x000000018d57bb30 _CF_forwarding_prep_0 + 96
	5   watoi                               0x000000010220cc0c -[Importer convertAndroidTimestamp:] + 36
	6   watoi                               0x000000010220d3f0 -[Importer importChats] + 1312
	7   watoi                               0x000000010220c2a4 -[Importer import] + 28
	8   watoi                               0x000000010220bdcc main + 364
	9   libdyld.dylib                       0x000000018d4bdf34 start + 4
)
libc++abi.dylib: terminating with uncaught exception of type NSException
zsh: abort      build/Release/watoi /Volumes/T7/msgstore.db ./ChatStorage.sqlite 

Is there anything that I am doing wrong. Thanks for your assistance

stuck at ld: unknown option: -target

I am trying to build the project on
MacOSX 11.2.3

Command: xcodebuild -project watoi.xcodeproj -target watoi
Error:

Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project watoi.xcodeproj -target watoi

User defaults from command line:
    IDEPackageSupportUseBuiltinSCM = YES

note: Using new build system
note: Planning build
note: Analyzing workspace
note: Using build description from disk
note: Build preparation complete
Ld /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/x86_64/Binary/watoi normal x86_64 (in target 'watoi' from project 'watoi')
    cd /Users/sharathg/Downloads/watoi-master
    /Users/sharathg/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-ld -target x86_64-apple-macos10.11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk -L/Users/sharathg/Downloads/watoi-master/build/Release -F/Users/sharathg/Downloads/watoi-master/build/Release -filelist /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/x86_64/watoi.LinkFileList -Xlinker -object_path_lto -Xlinker /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/x86_64/watoi_lto.o -fobjc-arc -fobjc-link-runtime -lsqlite3 -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/x86_64/watoi_dependency_info.dat -o /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/x86_64/Binary/watoi
ld: unknown option: -target

Ld /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/arm64/Binary/watoi normal arm64 (in target 'watoi' from project 'watoi')
    cd /Users/sharathg/Downloads/watoi-master
    /Users/sharathg/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-ld -target arm64-apple-macos10.11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk -L/Users/sharathg/Downloads/watoi-master/build/Release -F/Users/sharathg/Downloads/watoi-master/build/Release -filelist /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/arm64/watoi.LinkFileList -Xlinker -object_path_lto -Xlinker /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/arm64/watoi_lto.o -fobjc-arc -fobjc-link-runtime -lsqlite3 -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/arm64/watoi_dependency_info.dat -o /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/arm64/Binary/watoi
ld: unknown option: -target

** BUILD FAILED **


The following build commands failed:
	Ld /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/x86_64/Binary/watoi normal x86_64
	Ld /Users/sharathg/Downloads/watoi-master/build/watoi.build/Release/watoi.build/Objects-normal/arm64/Binary/watoi normal arm64
(2 failures)

Any ideas how to resolve this?

Error: no such table: Files

when trying to locate the whatsapp database files within my backup, I run into the error:

$ sqlite3 ~/Library/Application\ Support/MobileSync/Backup/Manifest.db "select fileID from Files where relativePath = 'ChatStorage.sqlite' and domain like '%whatsapp%';"

Error: no such table: Files

What could be the issue here?

Error: unable to open database "Manifest.db": unable to open database file

Trying to execute the sqlite3 [...] command the error stated above appears.
The full command I entered is:
sqlite3 <device-id here>/Manifest.db "select fileID from Files where relativePath = 'ChatStorage.sqlite' and domain like '%whatsapp%';"
Any ideas on what I could be doing wrong?

EDIT: Using
$sqlite3 <device-id here>/Manifest.db "select fileID from Files where relativePath = 'ChatStorage.sqlite' and domain like '%whatsapp%';"

the following is returned:

-bash: /Manifest.db: Permission denied

Cheers and thanks

Can this program be made working with encrypted iOS backups?

So, I have this kind-of specific situation. I have an iPhone from my employer and it has Remote Management enabled to force employees to set strong passwords and such. However, this 'security feature' also prevents my Mac from creating unencrypted back-ups, stating the administrator won't allow backups without encryption.

Is there a way to make this tool work with encrypted backups, of course providing the user knows the actual password used for encryption?

noob here "unable to open database file"

$ build/Release/watoi /Users/aliefpatria/Downloads/ ChatStorage.sqlite app/Payload/WhatsApp.app/WhatsAppChat.momd
2018-05-03 23:27:20.574 watoi[8054:390284] unable to open database file
2018-05-03 23:27:20.575 watoi[8054:390284] Android store loaded
2018-05-03 23:27:20.605 watoi[8054:390284] CoreData loaded
2018-05-03 23:27:20.605 watoi[8054:390284] unable to open database file
Abort trap: 6

I used 2 backups from iPhone but no success. Is it the iPhone's database that can't be opened?

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ' -[NSDictionaryM setObject:forKey:]: key cannot be nil'

@residentsummer any clue how to fix this one?

watoi % build/Release/watoi msgstore.db ./ChatStorage.sqlite app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd
2022-01-05 16:55:45.444 watoi[3269:124075] Probing msgstore.db at path: msgstore.db
2022-01-05 16:55:45.444 watoi[3269:124075] ok.
2022-01-05 16:55:45.445 watoi[3269:124075] Android store loaded
2022-01-05 16:55:45.445 watoi[3269:124075] Probing WhatsAppChat.momd at path: app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd
2022-01-05 16:55:45.445 watoi[3269:124075] ok.
2022-01-05 16:55:45.445 watoi[3269:124075] Probing ChatStorage.sqlite at path: ./ChatStorage.sqlite
2022-01-05 16:55:45.445 watoi[3269:124075] ok.
CoreData: error: addPersistentStoreWithType:configuration:URL:options:error: returned error NSCocoaErrorDomain (259)
CoreData: annotation: userInfo:
CoreData: annotation: NSFilePath : /Users/achaudhry/watoi/ChatStorage.sqlite
CoreData: annotation: NSSQLiteErrorDomain : 26
CoreData: annotation: storeType: SQLite
CoreData: annotation: configuration: (null)
CoreData: annotation: URL: ChatStorage.sqlite -- file:///Users/achaudhry/watoi/
CoreData: annotation: options:
CoreData: annotation: NSSQLitePragmasOption : {
"journal_mode" = DELETE;
}
2022-01-05 16:55:45.450 watoi[3269:124075] CoreData loaded
2022-01-05 16:55:45.452 watoi[3269:124075] 1430060208@broadcast: not found
CoreData: warning: Unable to load class named 'WAChatSession' for entity 'WAChatSession'. Class not found, using default NSManagedObject instead.
CoreData: warning: Unable to load class named 'WAGroupInfo' for entity 'WAGroupInfo'. Class not found, using default NSManagedObject instead.
2022-01-05 16:55:45.453 watoi[3269:124075] is group chat
2022-01-05 16:55:45.453 watoi[3269:124075] not found member [email protected]
CoreData: warning: Unable to load class named 'WAGroupMember' for entity 'WAGroupMember'. Class not found, using default NSManagedObject instead.
2022-01-05 16:55:45.453 watoi[3269:124075] not found member [email protected]
2022-01-05 16:55:45.453 watoi[3269:124075] [email protected]: not found
2022-01-05 16:55:45.453 watoi[3269:124075] is group chat
2022-01-05 16:55:45.453 watoi[3269:124075] not found member (null)
2022-01-05 16:55:45.453 watoi[3269:124075] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSDictionaryM setObject:forKey:]: key cannot be nil'
*** First throw call stack:
(
0 CoreFoundation 0x000000019a7a81cc __exceptionPreprocess + 240
1 libobjc.A.dylib 0x000000019a4f97b8 objc_exception_throw + 60
2 CoreFoundation 0x000000019a878488 -[__NSCFString characterAtIndex:].cold.1 + 0
3 CoreFoundation 0x000000019a885260 -[__NSDictionaryM setObject:forKey:].cold.2 + 0
4 CoreFoundation 0x000000019a6e1628 -[__NSDictionaryM setObject:forKey:] + 896
5 watoi 0x0000000104554e40 -[Importer addMissingMember:toChat:asAdmin:] + 608
6 watoi 0x00000001045555d8 -[Importer importChats] + 1876
7 watoi 0x0000000104554258 -[Importer import] + 28
8 watoi 0x0000000104553d80 main + 364
9 dyld 0x00000001046a90f4 start + 520
)
libc++abi: terminating with uncaught exception of type NSException
zsh: abort build/Release/watoi msgstore.db ./ChatStorage.sqlite

Can you help with this issue?

2018-02-27 20:30:00.463 watoi[40149:5054170] Android store loaded
CoreData: error: Attempt to add read-only file at path ChatStorage.sqlite -- file:///Users/lucasazevedo/Dev/_projects/whatsss/ read/write. Adding it read-only instead. This will be a hard error in the future; you must specify the NSReadOnlyPersistentStoreOption.
2018-02-27 20:30:00.472 watoi[40149:5054170] CoreData loaded
CoreData: warning: Unable to load class named 'WAChatSession' for entity 'WAChatSession'. Class not found, using default NSManagedObject instead.
2018-02-27 20:30:00.478 watoi[40149:5054170] [email protected]: not found
CoreData: warning: Unable to load class named 'WAGroupInfo' for entity 'WAGroupInfo'. Class not found, using default NSManagedObject instead.
2018-02-27 20:30:00.480 watoi[40149:5054170] is group chat
2018-02-27 20:30:00.480 watoi[40149:5054170] not found member (null)
CoreData: warning: Unable to load class named 'WAGroupMember' for entity 'WAGroupMember'. Class not found, using default NSManagedObject instead.
2018-02-27 20:30:00.481 watoi[40149:5054170] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSDictionaryM setObject:forKey:]: key cannot be nil'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff428f60fb __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fff691eac76 objc_exception_throw + 48
2 CoreFoundation 0x00007fff429375b4 _CFThrowFormattedException + 202
3 CoreFoundation 0x00007fff427f943a -[__NSDictionaryM setObject:forKey:] + 986
4 watoi 0x000000010b96ec6c -[Importer addMissingMember:toChat:asAdmin:] + 614
5 watoi 0x000000010b96f57f -[Importer importChats] + 2267
6 watoi 0x000000010b96df41 -[Importer import] + 27
7 watoi 0x000000010b96db86 main + 354
8 libdyld.dylib 0x00007fff69dd9145 start + 1
9 ??? 0x0000000000000004 0x0 + 4
)
libc++abi.dylib: terminating with uncaught exception of type NSException
[1] 40149 abort build/Release/watoi /Users/lucasazevedo/Dev/_projects/msgstore.db

file is encrypted or is not a database

I have followed every steps provided but stuck on this line, appreciate your assistance in this matter.

2018-12-28 21:42:12.874 watoi[74428:2733765] file is encrypted or is not a database
Abort trap: 6

Thanks.

Improve migration instructions

The instructions I've initially wrote are hard to follow for newbies.

  • explain some basic things (like <environment specific paths> substitutions)
  • maybe provide a path with GUI-based backup editing?

Date Time Issue

Ok, this one is nothing serious, but an interesting curiosity. Instead of using an empty fresh iCloud backup, I accidentally used a 2 years old iCloud backup, which contained millions of messages. (from the time before I switched to an android phone). I noticed this, but wanted to see if it would still work.
For all the chats that were both in the old iCloud backup and the new Android backup, the chats did merge, but the ordering of messages was wrong. The old iCloud messages were displayed under (so as newer) than the new messages from the android script. even though all messages are labeled with the correct date and time.
So now I scroll back into the past, it starts with messages from 2017, then 2016, 2015, 2014, 2013 and then there is suddenly 2019 and 2018.

It's no problem for me, because it's still searchable, but still weird. I guess it's a bug somewhere in the ordering of how messages get added to the database.

Also I lost the messages of the past 2 days, but that's probably me messing up in extracting the unencrypted msgstore.db

Boot loop after restoring

After moving through all steps successfully.
I did last step of restore backup from iTunes. I see message Restore in progress ans in few seconds, phone went off and Apple logo is flashing. I had to go recovery mode and restore iphone :/ .

Unable to open database

Thanks for providing this tool, @residentsummer! I'd love to move my old Android chats to my new iPhone 4S (I'm new to iOS and iPhone...) but unfortunately I'm stuck at the step "Locate Whatsapp database file inside the backup and copy it somewhere". In my Backup folder there is no Manifest.db, only a file named Manifest.mbdb. Is there something I am missing? I deleted my backup several times and created a fresh one but that didn't change anything.
As I'm also new to gitHub I'm not sure if an issue is the correct way to address my question but I hope that's okay :)
Thanks in advance!

PS. My phone's on iOS 9.3.5 and WhatsApp 2.17.42 in case that's important. iTunes is on version 12.6.2.20

Question: migrating without a mac

Hey there, just a simple question, is there a way of avoiding the use of a mac? I don't have access to one, and I need to migrate my whatsapp chats to an iPhone.

Thanks in advance.

SQlite error code 14:'unable to open database file'

Hi, I've imported the chat.sqlite file using iExplorer
mgstore.db decrypted, and chat.sqlite placed in the same directory for watoi
But I'm getting this error, what could be the issue?
btw, using latest whatsapp v2.19.71

macs-MBP:watoi mac$ build/Release/watoi msgstore.db ChatStorage.sqlite app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd
2019-08-01 20:58:27.852 watoi[1022:43999] Probing msgstore.db at path: msgstore.db
2019-08-01 20:58:27.853 watoi[1022:43999]     ok.
2019-08-01 20:58:27.854 watoi[1022:43999] Android store loaded
2019-08-01 20:58:27.854 watoi[1022:43999] Probing WhatsAppChat.momd at path: app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd
2019-08-01 20:58:27.855 watoi[1022:43999]     ok.
2019-08-01 20:58:27.855 watoi[1022:43999] Probing ChatStorage.sqlite at path: ChatStorage.sqlite
2019-08-01 20:58:27.855 watoi[1022:43999]     ok.
2019-08-01 20:58:27.867 watoi[1022:43999] CoreData: warning: no NSValueTransformer with class name 'WAMessageReceiptInfoTransformer' was found for attribute 'receiptInfo' on entity 'WAMessageInfo'
2019-08-01 20:58:27.871 watoi[1022:43999] CoreData: error: (14) I/O error for database at /Users/mac/Downloads/watoi/ChatStorage.sqlite.  SQLite error code:14, 'unable to open database file'
2019-08-01 20:58:27.874 watoi[1022:43999] CoreData: error: -addPersistentStoreWithType:SQLite configuration:(null) URL:ChatStorage.sqlite -- file:///Users/mac/Downloads/watoi/ options:{
    NSSQLitePragmasOption =     {
        "journal_mode" = DELETE;
    };
} ... returned error Error Domain=NSCocoaErrorDomain Code=256 "The file couldn’t be opened." UserInfo=0x7fc8e070ec40 {NSSQLiteErrorDomain=14, NSUnderlyingException=I/O error for database at /Users/mac/Downloads/watoi/ChatStorage.sqlite.  SQLite error code:14, 'unable to open database file'} with userInfo dictionary {
    NSSQLiteErrorDomain = 14;
    NSUnderlyingException = "I/O error for database at /Users/mac/Downloads/watoi/ChatStorage.sqlite.  SQLite error code:14, 'unable to open database file'";
}
2019-08-01 20:58:27.874 watoi[1022:43999] CoreData loaded
2019-08-01 20:58:27.875 watoi[1022:43999] unable to open database file
Abort trap: 6
Macs-MBP:watoi mac$ 

NSInvalidArgumentException key cannot be nil

Thanks for building this app, it's the only safe way to migrate chats from Android to iPhone!

When trying to migrate my chats, I get the following error:

2021-11-14 22:22:46.122 watoi[7909:101018] 	 is group chat
2021-11-14 22:22:46.122 watoi[7909:101018] 	 not found member (null)
2021-11-14 22:22:46.122 watoi[7909:101018] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSDictionaryM setObject:forKey:]: key cannot be nil'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff204c01db __exceptionPreprocess + 242
	1   libobjc.A.dylib                     0x00007fff201f9d92 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff20576e0a _CFThrowFormattedException + 202
	3   CoreFoundation                      0x00007fff20582a1e -[__NSDictionaryM setObject:forKey:].cold.2 + 0
	4   CoreFoundation                      0x00007fff20402cbc -[__NSDictionaryM setObject:forKey:] + 917
	5   watoi                               0x00000001031fdb2f -[Importer addMissingMember:toChat:asAdmin:] + 575
	6   watoi                               0x00000001031fe40f -[Importer importChats] + 2216
	7   watoi                               0x00000001031fcef5 -[Importer import] + 27
	8   watoi                               0x00000001031fca1b main + 343
	9   libdyld.dylib                       0x00007fff20369f3d start + 1
	10  ???                                 0x0000000000000004 0x0 + 4
)
libc++abi: terminating with uncaught exception of type NSException
Abort trap: 6

It looks like a null check, is there a quick fix for this?

newbie confused

Hi, I'm trying to switch from Android to iOS, i'm new, and after rummaging a week without success (between guide or tutorial that bring to nothing) I find this guide, and people say it works ;)
I'm not in programming, I'm good at DOS and Windows, but they are not helping me right know, and I need help to use this app.
I pass the phase of building the migration utility, not easy for me, but i think i did it right.
I locate the iphone backup, but was unable to locate whatsapp database inside backup. I don't understand this command:
$ sqlite3 /Manifest.db "select fileID from Files where relativePath = 'ChatStorage.sqlite' and domain like '%whatsapp%';"

I have to erase the $ to have some result, I change with the actual name of the folder (ea43yh45...) and it does something, like create some copies of manifest.db (manifest.db-shm and manifest.db-wal) but than I don't know what to do with the abcdef01234567890. I stopped here

didn't try to go to the next step... $ cp /ab/abcdef01234567890 ~/Downloads/watoi/ChatStorage.sqlite
I know it's not so easy to help someone who doesn't know the basics, a noob tutorial should be the best, and I can do it, if you want, when I know how to do this...

Thank you

Snow.

EDIT UPDATE

I use a third party software to retrive the ChatStorage.sqlite from the backup, use your commands to transform msgstore.db in ChatStorage.sqlite and try to put the new ChatStorage.sqlite of 11MB (so your software works) but was unable to restore the backup. Actually as i try to put the new file in the backup, it say, in this third party app (iBackupBot), that putting this file, the restore process will fail, and it fails...

How to get an unencrypted message database from Android?

Where can I find this? Is it in some folder in my phone or do I need to obtain it using some programming commands?

The instructions say "Create an unencrypted backup to local computer (not iCloud) with iTunes." Could you please also elaborate on how I can transfer from my android to my computer using iTunes? Can't I just use a data transfer cable and copy paste? If so, where exactly do I paste?

No WhatsAppChat.momd in Whatsapp 2.18.91

I am trying to move Whatsapp vom Android to iOS by using watoi. Everything works until I need to extract WhatsAppChat.momd from my installed Whatsapp version. The problem is, that I cannot find the file in the version 2.18.91. I tried an older Version (v2.17.60) where the file is available but the tool is telling me that the version is incompatible to my one.

Any suggestion what I can do? Do I have to use an other file with my Version of Whatsapp?

Thanks in advance

aborting due to "no such table: legacy_available_messages_view"

Hi @residentsummer, thanks for this project.

I'm getting below error.

❯ build/Release/watoi msgstore.db ./ChatStorage.sqlite app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd
2021-12-26 02:36:30.753 watoi[92347:21851470] Probing msgstore.db at path: msgstore.db
2021-12-26 02:36:30.753 watoi[92347:21851470]     ok.
2021-12-26 02:36:30.755 watoi[92347:21851470] Android store loaded
2021-12-26 02:36:30.756 watoi[92347:21851470] Probing WhatsAppChat.momd at path: app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd
2021-12-26 02:36:30.756 watoi[92347:21851470]     ok.
2021-12-26 02:36:30.756 watoi[92347:21851470] Probing ChatStorage.sqlite at path: ./ChatStorage.sqlite
2021-12-26 02:36:30.756 watoi[92347:21851470]     ok.
2021-12-26 02:36:30.774 watoi[92347:21851470] CoreData loaded
CoreData: warning: Unable to load class named 'WAChatSession' for entity 'WAChatSession'.  Class not found, using default NSManagedObject instead.
CoreData: warning: Unable to load class named 'WAGroupInfo' for entity 'WAGroupInfo'.  Class not found, using default NSManagedObject instead.
....
....
....
2021-12-26 02:36:31.112 watoi[92347:21851470] Loaded 1206 chat(s)
2021-12-26 02:36:31.113 watoi[92347:21851470] no such table: legacy_available_messages_view
[1]    92347 abort      build/Release/watoi msgstore.db ./ChatStorage.sqlite

Many thanks,
VJ

unable to open database file

I have tried the following:

 sharathg@x86_64-apple-darwin13 watoi-master % build/Release/watoi ~/Dropbox/whatsapp_pixel_may2021/Databases ./ChatStorage.sqlite app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd

2021-05-05 19:29:56.974 watoi[30159:823228] Probing msgstore.db at path: /Users/sharathg/Dropbox/whatsapp_pixel_may2021/Databases
2021-05-05 19:29:56.974 watoi[30159:823228]     ok.
2021-05-05 19:29:56.974 watoi[30159:823228] unable to open database file
2021-05-05 19:29:56.974 watoi[30159:823228] Android store loaded
2021-05-05 19:29:56.974 watoi[30159:823228] Probing WhatsAppChat.momd at path: app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd
2021-05-05 19:29:56.974 watoi[30159:823228]     ok.
2021-05-05 19:29:56.974 watoi[30159:823228] Probing ChatStorage.sqlite at path: ./ChatStorage.sqlite
2021-05-05 19:29:56.974 watoi[30159:823228]     ok.
CoreData: annotation:  Failed to load optimized model at path '/Users/sharathg/Downloads/watoi-master/app/Payload/WhatsApp.app/Frameworks/Core.framework/WhatsAppChat.momd/WhatsAppChat_2.18.10.omo'
CoreData: warning: no NSValueTransformer with class name 'WAMessageReceiptInfoTransformer' was found for attribute 'receiptInfo' on entity 'WAMessageInfo'
2021-05-05 19:29:56.988 watoi[30159:823228] CoreData loaded
2021-05-05 19:29:56.989 watoi[30159:823228] unable to open database file
zsh: abort      build/Release/watoi ~/Dropbox/whatsapp_pixel_may2021/Databases  

WhatsApp is installed and activated on iOS 14.5.1. And using WhatsApp_v2.19.71_1.6r-105.ipa.
Any ideas on how to debug this? Thanks!

whatsapp crashes with the new file

whatsapp loads and if i am quick i can see the expected history in chats. after a few seconds, whatsapp crashes.

any idea what is going wrong?

libc++abi.dylib: terminating with uncaught exception of type NSException

Hi,
I've tried to run the migrator but got the following:

2018-02-01 19:59:10.152 watoi[14996:1898680] Android store loaded
2018-02-01 19:59:10.161 watoi[14996:1898680] CoreData loaded
2018-02-01 19:59:10.166 watoi[14996:1898680] [email protected]: not found
CoreData: warning: Unable to load class named 'WAChatSession' for entity 'WAChatSession'.  Class not found, using default NSManagedObject instead.
CoreData: warning: Unable to load class named 'WAGroupInfo' for entity 'WAGroupInfo'.  Class not found, using default NSManagedObject instead.
2018-02-01 19:59:10.169 watoi[14996:1898680] 	 is group chat
2018-02-01 19:59:10.169 watoi[14996:1898680] 	 not found member (null)
CoreData: warning: Unable to load class named 'WAGroupMember' for entity 'WAGroupMember'.  Class not found, using default NSManagedObject instead.
2018-02-01 19:59:10.171 watoi[14996:1898680] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSDictionaryM setObject:forKey:]: key cannot be nil'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff28c3cfcb __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x00007fff4f8dec76 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff28c7e264 _CFThrowFormattedException + 202
	3   CoreFoundation                      0x00007fff28b4049a -[__NSDictionaryM setObject:forKey:] + 986
	4   watoi                               0x000000010031cc80 -[Importer addMissingMember:toChat:asAdmin:] + 586
5   watoi                               0x000000010031d591 -[Importer importChats] + 2267
6   watoi                               0x000000010031bf71 -[Importer import] + 27
7   watoi                               0x000000010031bbb6 main + 354
8   libdyld.dylib                       0x00007fff504ce115 start + 1

)
libc++abi.dylib: terminating with uncaught exception of type NSException
[1] 14996 abort build/Release/watoi ~/Downloads/msgstore.db ChatStorage.sqlite

Suggestion: How to get the prerequisites done?

Thank you very much for the tool @residentsummer. Unfortunately I wasted pretty much time to get 2 of the prerequisites done. This was caused by many outdated tutorials that are no longer applicable to a current android version.
Therefore I suggest you to also describe how to get the prerequisites done:

Decrypted msgstore.db from Android

Due to the sandboxing of current android OS it is to my knowledge no longer possible to extract the Whatsapp decryption key from an unrooted device. I have tried many older solutions but none of them worked, due to security restrictions.

Download msgstore.db.cryptXY

Download the msgstore from your phone via Explorer or a tool like MyPhoneExplorer it is located at /data/data/com.whatsapp/databases/

Install Android SDK

To save you from rooting and eventually bricking your device I suggest to download the Android SDK and spin up an emulated device. Typically they allow already root access.

Install and verify WhatsApp on emulated device

Then install WhatsApp on this emulated device and verify your phone number. The verification message will be send to your old Android phone.

Download decryption key from emulated phone

/data/data/com.whatsapp/files/key
If you have the adb drivers installed with your sdk installation, you can now execute some of the commands they have used in the Whatsapp Key Extractor with e.g. PowerShell or you can access your rooted device via command line. If you have the key, you can reverify your old Android WhatsApp if you like.

Decrypt Androids MsgStore.db.cryptXY

Just use the tool from Andreas Mausch together with your freshly extracted decryption key.

Whatsapp.ipa of the same version (google will help)

Downloading the Whatsapp.ipa does not need the real Whatsapp IPA file, but it is sufficient enough to download an alternative like Whatsapp++ extract it and find the Core Data folder WhatsAppChat.momd.

chronological order of messages in groups

On a new install of whatsapp on the iPhone, it creates all the groups before you can restore a backup. The only content in these group is a message "you were added" or "you created this group". If you then use watoi to append the data, this message is appended at the end and shown as most recent, e.g.:

message
message
message
2015: you created this group.

I think the order of appended messages needs to be fixed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.