2009 (2)
2010 (1)
2014 (58)
2015 (74)
2016 (71)
2017 (67)
2018 (37)
2020 (57)
2021 (47)
2022 (69)
2023 (45)
1
2
3
4
5
6
7
|
ver=4.2.0.100 code=YH23U-R65WC-CKPA2-RN2JB-XENVZ name=MistHill email=misthill%40easycompany.com mid=mOD_CDOcD^OFHLOHLHLL%1A%1A%1A%1A%1A%1CL%1C appname=DiskGenius diskinfo1=XCyo|kXg|z{obGJKFo|jJ|gxkQ>%3F>>>>>>>>>>>>>>>>>%3FQ:%3F7:%3D>:> |
1
2
3
4
5
6
7
|
[license] user = "MistHill" email = "misthill@easycompany.com" regcode = "YH23U-R65WC-CKPA2-RN2JB-XENVZ" key = "9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA" [LicenseInfo] Show = "N" |
这里注册码(regcode)目前看来是“有效的”;激活码(key)是我手工敲的,显然无效,不能通过验证。但已足够让程序去掉Title里的“未注册”字样和“关于”对话框的“立即注册”按钮:
貌视已注册成功,此为“暗桩”之一。
五.注册码兮,注册码
将key的内容改回注册机(DiskGenius Keygen)里"Activation Key"的内容,这下能通过重启验证,应该是“完美激活”了吧?
No, No, No..., Something wrong! 试图恢复大于64KB的文件时失败,错误类型表明还是“未注册”!
看来还有玄机。重新审查激活码验证通过后的代码,发现确实有调用对注册码再次进行验证,当前这个regcode没有通过!
在仔细研究了那段代码后,我才恍然大悟,它还真是跟MSFT的CDKEY学来的,注册码由三部分组成:序列号(SerialNumber) + 签名(Signature) + 校验位(Hash)。签名由序列号按签名算法得到,校验位为根据前两部分计算出的结果。
同时也搞清楚了哪几个关键标志DWORDs的值应该是什么才表明它是真正注册成功了。
回到第一节的"regcode Generator for DiskGenius"页面,"Phase I"解决了Hash的问题,接下来"Phase II"解决签名的问题。先随机生成一个RegCode,得到序列号部分,根据它的逆算法得到签名部分,最后计算校验位部分。
这样整个DiskGenius的注册过程分为两个步骤:1) 用HTML页面产生有效的注册码;2) 用注册机生成激活码。Webster只是分析问题时的一个工具,不再需要了。
再试一试恢复大于64KB的文件,这次当然不会再有问题:
最后,感谢DiskGenius的作者,很好的工具,希望它更加强大!我从分析它代码的过程中得到乐趣。
谢谢您阅读此文!谬误之处,请批评指正。
win10如何彻底清理电脑?
http://www.w10zj.com/Win10xy/Win10yh_7025.html
Linux下Undelete
https://www.maketecheasier.com/recover-files-ext3-ext4-linux/
For example, I deleted a folder named /home/joe/mytest.
To restore deleted files, the files partition mush be unmounted, or else as restore recreate files it will overwrite so only partial of them would be restored. If you have only one partition, get ready a Ubuntu live USB and boot from there click Try Ubuntu.
To install s/w on Ubuntu live, each time you need manuall choose “software & Updates” and check the button of “Community...(universe)” then close.
$ sudo apt-get undate
$ sudo apt-get install ext4magic
$ sudo fdisk –l
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1126399 1124352 549M 7 HPFS/NTFS/exFAT
/dev/sda2 1126400 217266175 216139776 103.1G 7 HPFS/NTFS/exFAT
/dev/sda3 217268222 468860927 251592706 120G 5 Extended
/dev/sda5 217268224 466862079 249593856 119G 83 Linux
/dev/sda6 466864128 468860927 1996800 975M 82 Linux swap / Solaris
Live USB is now sdb1. /dev/sda3 is a MS Windows partition, so /home/joe is in /dev/sda5
$ sudo ext4magic /dev/sda5 -a $(date -d "-3hours" +%s) -f /home/amcclab/mytest -l
Filesystem in use: /dev/sda5
Using internal Journal at Inode 8
Activ Time after : Thu Dec 20 16:11:47 2018
Activ Time before : Thu Dec 20 19:11:47 2018
Inode found "/home/amcclab/mytest" 917869
100% /home/amcclab/mytest/S4/sensor_parsing.sh
…
$ sudo ext4magic /dev/sda5 -f /home/amcclab/mytest -r -d recovered
"recovered" accept for recoverdir
Filesystem in use: /dev/sda5
Using internal Journal at Inode 8
Inode found "/home/amcclab/mytest" 917869
-------- recovered/home/amcclab/mytest/S4/sensor_parsing.sh
......
ext4magic : EXIT_SUCCESS
ubuntu@ubuntu:~$ sudo chown -R ubuntu:ubuntu recovered
ubuntu@ubuntu:~$ ls recovered/home/amcclab/mytest/
S22 S3 S4
The limitation is the recovered files are on live disk and after reboot, files and installed ext4magic are disappear. You had better have a separate large enough partition – not same partition of deleted files, or copy the recovered files to original partition if you are sure all are restored correctly.
If you click install on live USB then something else and choose another USB say sdc, click + to add partition as 472M-ext4-/boot,1022M-swap,rest as ext4-/ and install, you will get a OS on USB.
**
Following example has /dev/sda2 that can be used to restore files in /dev/sda1:
[amcclab@s01 scripts]$ sudo fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000bf394
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2040 16384000 83 Linux
/dev/sda2 2040 2550 4096000 83 Linux
/dev/sda3 2550 2678 1024000 82 Linux swap / Solaris
/dev/sda4 2678 121602 955257560 5 Extended
/dev/sda5 2678 121602 955255808 83 Linux
[amcclab@s01 scripts]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 16126920 6932128 8375592 46% /
tmpfs 1993260 8 1993252 1% /dev/shm
/dev/sda5 940265216 789078016 103424412 89% /state/partition1
/dev/sda2 4031680 514172 3312708 14% /var
tmpfs 973276 60800 912476 7% /var/lib/ganglia/rrds
[amcclab@s01 board_sampling]$ du -sh 4_08_17-val/
1.5G 4_08_17-val/
/home/amcclab/test/skylark/soldered_board/board_sampling/4_08_20-val
sudo ext4magic /dev/sda5 -a $(date -d "-30hours" +%s) -f /home/amcclab/test/skylark/soldered_board/board_sampling/4_08_20-val -l
Filesystem in use: /dev/sda5
Using internal Journal at Inode 8
Activ Time after : Wed Dec 19 09:21:58 2018
Activ Time before : Thu Dec 20 15:21:58 2018
Inode found "/home/amcclab/test/skylark/soldered_board/board_sampling/4_08_20-val" 19906565
Inode 19906565 is allocated
ext4magic : EXIT_SUCCESS
amcclab@E6400SSD-1:~$ sudo ext4magic /dev/sda5 -f /home/amcclab/test/skylark/soldered_board/board_sampling/4_08_20-val -r -d recovered
"recovered" accept for recoverdir
Filesystem in use: /dev/sda5
Using internal Journal at Inode 8
Inode found "/home/amcclab/test/skylark/soldered_board/board_sampling/4_08_20-val" 19906565
Inode 19906565 is allocated
ext4magic : EXIT_SUCCESS
This time actually failed as restored folder is empty, now time to try sub-folder name.