
昨天登录后台的时候,发现 loginpress 的设置界面挂了,所有的数据样式都是 hidden。让 deepseek 给分析了一通,都是废话,没什么卵用。
今天上午直接让 cursor 分析了一下代码,让给出解决方案,发现依然没什么效果:

不过查看页面元素的时候发现了一段提示:
<tr class="secret_key_v2_invisible" style="display: none;"><th scope="row"><label for="loginpress_setting[secret_key_v2_invisible]">Secret Key</label></th><td><input type="text" class="regular-text" id="loginpress_setting[secret_key_v2_invisible]" name="loginpress_setting[secret_key_v2_invisible]" value=""><p class="description">Get <a href="https://www.google.com/recaptcha/admin" target="_blank"> reCaptcha</a> secret key. <br> <span class="alert-note">Make sure you are adding right secret key for this domain. If it's incorrect may be you'r not able to access your website.</span></p></td></tr>
让 cusour 分析了一通,依然没什么效果:

不过此时已经基本确认还是授权的问题了,基于上面的废话改起来难度较大,搜索了一下,找了一个新版本的 loginpress pro。
https://wpe98.com/loginpress-pro-nulled/
按照文件的方法直接添加 hook 代码:
<?php
function bypass_license_verification() {
add_filter('loginpress_license_check', '__return_true');
add_action('admin_notices', function() {
echo '<div class="notice notice-success"><p>License successfully nulled for demonstration purposes!</p></div>';
});
}
add_action('init', 'bypass_license_verification');
?>
此时后台显示的确 ok 了,虽然功能已经激活了,但是页面看起来有些蛋疼,显示没授权: 


根据提示信息搜索就会发现代码位于loginpress-pro 2/classes/loginpress-main.php

大概浏览下代码,发现基本数据都在所谓的授权信息中license_data的结构内,直接让 cursor 给生成一个结构:

此时直接修改授权代码为:
public static function get_registration_data() {
$license_data = array(
'success' => true|false, // 布尔值,表示许可证验证是否成功
'license' => 'valid', // 字符串,许可证状态,可能的值包括: valid, invalid, expired, revoked, missing, site_inactive, item_name_mismatch, no_activations_left
'error' => '', // 字符串,如果有错误时的错误代码
'expires' => '2050-10-10', // 字符串,许可证过期日期,可以是具体日期或 'lifetime'
'price_id' => 4, // 整数,许可证价格ID,用于确定许可证类型:
// 1 = Personal
// 2 = Small Business
// 3 或 6 = Agency
// 4 = Ultimate
// 7 = Startup
);
return $license_data;
}
测试了一下没效果,继续看代码,发现外面还套嵌了一层,cursor 给继续处理一下:

继续调整代码为:
$result = array(
'license_key' => '', // 字符串,许可证密钥
'license_data' => array( // 数组,许可证详细数据
'success' => true|false, // 布尔值,表示许可证验证是否成功
'license' => 'valid', // 字符串,许可证状态,可能的值包括: valid, invalid, expired, revoked, missing, site_inactive, item_name_mismatch, no_activations_left
'error' => '', // 字符串,如果有错误时的错误代码
'expires' => '2050-10-10', // 字符串,许可证过期日期,可以是具体日期或 'lifetime'
'price_id' => 4, // 整数,许可证价格ID,用于确定许可证类型:
// 1 = Personal
// 2 = Small Business
// 3 或 6 = Agency
// 4 = Ultimate
// 7 = Startup
),
'error_message' => '', // 字符串,错误信息
);
return $result;
此时再看效果,就完美啦:

The post Cursor 另类应用 — 逆向分析 appeared first on obaby@mars.