本帖最后由 cattie 于 2024-5-20 17:50 编辑
过程
首先启动CM:
CM释放到了C:\Users\Administrator\AppData\Local\aardio\std\electron\v12.2.3
electron 嘛,肯定会在本地设置一个服务器。
直接利用netstat -na 看本地端口连接情况
发现一个怪异的端口,就是它了:
然后直接打开开发人员面板就行了。
下断点,关掉反调试(把[_0x17a01d(0xc2)]("debu" + "gger") 改成[_0x17a01d(0xc2)]("debu" + "ger")) ,然后步进至return,发现这个:
_0x26e2f5:'document.addEventListener('keydown',function(event){if(event.ctrlKey&&event.shiftKey&&event.key==='I'){event.preventDefault()}});document.addEventListener('keydown',function(event){if(event.key==='F12'){event.preventDefault()}});var fl1="flag{";var fl2="pj52}";var pa1="collinchen1218";var pa2="crackme_";var nu1=5555*5555;var pa3=nu1+"_";var nu2=8888*8888;var pa4=nu2+"_";var nu3=5222*5222;var pa5=nu3+"_";var pa6="cm_";var pa7="horry_";var pa8="52pojie_";var pa9="magic_";var rd1=fl1+pa2+pa3+fl2;var rd2=fl1+pa7+pa2+fl2;var rd3=fl1+pa8+pa6+fl2;var rd4=fl1+pa9+pa7+fl2;var rd5=fl1+pa8+pa1+fl2;var rd6=fl1+pa4+pa8+fl2;var rd7=fl1+pa6+pa5+fl2;var rd8=fl1+pa8+pa1+fl2;var rd9=fl1+pa4+pa9+fl2;var rd10=fl1+pa5+pa4+fl2;function verifyPassword(){var inputPassword=document.getElementById("inputPassword").value;var correctPassword="flag{52pojie_Ha5py_M8y_cr6ckme_qwer56uiop_ht01_N9w@2024}";var correctPassword2="flag{52p0ji5_Ha58y_M8y_cr6c1me_qwer56ulkp_ht01_N9w@2024}";if(inputPassword==="flag{asdedfgh_cm_9999}"){}if(inputPassword===rd7+rd3){document.getElementById('editable-div').innerHTML="密码正确"}else{document.getElementById('editable-div').innerHTML="密码错误"}}'
格式化一下:
document.addEventListener("keydown", function (event) {
if (event.ctrlKey && event.shiftKey && event.key === "I") {
event.preventDefault();
}
});
document.addEventListener("keydown", function (event) {
if (event.key === "F12") {
event.preventDefault();
}
});
var fl1 = "flag{";
var fl2 = "pj52}";
var pa1 = "collinchen1218";
var pa2 = "crackme_";
var nu1 = 5555 * 5555;
var pa3 = nu1 + "_";
var nu2 = 8888 * 8888;
var pa4 = nu2 + "_";
var nu3 = 5222 * 5222;
var pa5 = nu3 + "_";
var pa6 = "cm_";
var pa7 = "horry_";
var pa8 = "52pojie_";
var pa9 = "magic_";
var rd1 = fl1 + pa2 + pa3 + fl2;
var rd2 = fl1 + pa7 + pa2 + fl2;
var rd3 = fl1 + pa8 + pa6 + fl2;
var rd4 = fl1 + pa9 + pa7 + fl2;
var rd5 = fl1 + pa8 + pa1 + fl2;
var rd6 = fl1 + pa4 + pa8 + fl2;
var rd7 = fl1 + pa6 + pa5 + fl2;
var rd8 = fl1 + pa8 + pa1 + fl2;
var rd9 = fl1 + pa4 + pa9 + fl2;
var rd10 = fl1 + pa5 + pa4 + fl2;
function verifyPassword() {
var inputPassword = document.getElementById("inputPassword").value;
var correctPassword =
"flag{52pojie_Ha5py_M8y_cr6ckme_qwer56uiop_ht01_N9w@2024}";
var correctPassword2 =
"flag{52p0ji5_Ha58y_M8y_cr6c1me_qwer56ulkp_ht01_N9w@2024}";
if (inputPassword === "flag{asdedfgh_cm_9999}") {
}
if (inputPassword === rd7 + rd3) {
document.getElementById("editable-div").innerHTML = "密码正确";
} else {
document.getElementById("editable-div").innerHTML = "密码错误";
}
}
console.log(rd7 + rd3) 得到:
密码:flag{cm_27269284_pj52}flag{52pojie_cm_pj52}
总结:
这个CM最大的难点在于那个jsjiami.com.v7混淆以及携带的反调试,反F12按键之类的没啥用,只要是Web端的都能用浏览器调试。
|