It should.Does the latest version works with 4.4.4 with software number 3.28.401.7? I saw the name of the zip file and it stated wp_mod_3.28.401.6.zip and not .7.
Sure you can try it. But it likely won't work without a hex edit. That's easy enough to do, though.
Hey flar2, i saved you some time by using your instructions to create a write protection mod for GPE 4.4.4
i tested it and it works fine.
https://mega.co.nz/#!eQ1GSLBY!bJM60SKWiKcwvDZa_9j6OB4AdOyvay0W4x8QaF10o6Y
YesDoes the 4.4.4 module work for the T-Mobile US variant? Thanks
Sent from my HTC One_M8 using Xparent Blue Tapatalk 2
To anyone out here who is on the latest MaximusHD or to anyone who knows, does this kernel module included in the ROM? Or do i have to flash this module separately?
Sent from my HTC One_M8 using XDA Premium 4 mobile app
I'm new to HTC and just got this M8. Now it is by far the hardest to both root, unlock bootloader and install custom roms of the 3 high end androids I've had, but what exactly is happening that caused the need for this particular work-around? I've had root for several days throughout flashing a few different roms so are people losing root each time the flash a new rom? Is this something that perhaps can solve my S-off issue-that being nothing I try at this point will give me S-off. Otherwise, what am I missing here in this thread?
I bit the bullet and paid $25 for Sunshine to get the s-off. One click and boom, no hassle.
Ah, smart then I think. I've been trying Sunshine but their website didn't mention the $25. Was trying lucky patcher some on it to patch that but nothing yet there :crying:
Hex edit it to match the stock modules from your ROM.I tried to insmod the module but I got error:
can'tinsert '/system/lib/modules/wp+mod.ko" : invalid module format1.
In dmesg, I can see wp_mod: disagrees about version of symbol module_layout.
any idea?
http://xdaforums.com/showthread.php?p=56202807Thanks for the reply. I'll appreciate if you can help me to know what I must change in the module.
Dude I'll say it nicely since from your profile, it appears your kinda new here... Don't EVER SAY YOUR TRYING TO USE LUCKY PATCHER ON AN APP HERE ON XDA, ESPECIALLY ON AN APP THAT COMES FROM 1 OF XDA'S MOST WELL KNOWN DEVELOPERS... It's a good way to get yourself banned pretty quickly.... Xda doesn't support the use of Warez apps or any app that can be used to screw a developer out of money... This IS a DEVELOPERS forum, after all.
su
insmod /location-where-you-copied-it/wp_mod.ko
AWESOME work flar2.
After examining the source, it is indeed *much* more complicated than it has been in the past. Just curious, if you have the kernel source, what is to stop you from just rewriting the hooked functions instead of hijacking them with this code, which appears to be proof of concept code for ARM rootkits?
Second question, the very informative page you linked to, and based this on, says this about ARM instruction caching:
http://poppopret.org/2013/01/07/suterusu-rootkit-inline-kernel-function-hooking-on-x86-and-arm/#arm
Any reason why you do not use this approach in your module?
Last and possibly most important question. The page also says this:
The code uses this approach only to avoid detection by rootkit detectors, something that we should have zero concerns about. Why not use the other approach, system call hooking by swapping out function pointers in the system call table?
THANK YOU.
static noinline_for_stack bool
generic_make_request_checks(struct bio *bio)
{
......
#ifdef CONFIG_MMC_MUST_PREVENT_WP_VIOLATION
sprintf(wp_ptn, "mmcblk0p%d", get_partition_num_by_name("system")); //hardcoded to look for system partition
if (!strcmp(bdevname(bio->bi_bdev, b), wp_ptn) && !board_mfg_mode() && //wp_ptn == mmcblk0p45 (/system)
(get_tamper_sf() == 1) && (bio->bi_rw & WRITE)) {
pr_info("blk-core: Attempt to write protected partition %s block %Lu \n",
bdevname(bio->bi_bdev, b), (unsigned long long)bio->bi_sector);
err = 0;
goto wp_end_io;
} else if (atomic_read(&emmc_reboot) && (bio->bi_rw & WRITE)) {
pr_info("%s: Attempt to write eMMC, %s block %Lu \n", current->comm,
bdevname(bio->bi_bdev, b), (unsigned long long)bio->bi_sector);
err = -EROFS;
goto wp_end_io;
}
#endif
..............
}