cm一个,基于web(20240519)
本帖最后由 collinchen1218 于 2024-6-3 23:37 编辑web的cm,禁止f12,禁止开代{过}{滤}理
【Web逆向】基于Electron的CrackMe详细教程
https://www.52pojie.cn/thread-1926574-1-1.html
(出处: 吾爱破解论坛)
感谢@hualy 发布详细教程,其实我自己也不会做这道题{:301_1004:} 本帖最后由 cattie 于 2024-5-20 17:50 编辑
### 过程
首先启动CM:
CM释放到了`C:\Users\Administrator\AppData\Local\aardio\std\electron\v12.2.3`
`electron`嘛,肯定会在本地设置一个服务器。
直接利用`netstat -na`看本地端口连接情况
发现一个怪异的端口,就是它了:
然后直接打开开发人员面板就行了。
下断点,关掉反调试(把`("debu" + "gger")`改成`("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="密码错误"}}'`
格式化一下:
```js
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端的都能用浏览器调试。
https://img2.imgtp.com/2024/05/19/7IJEdW8p.png Arcticlyc 发表于 2024-5-19 22:39
作者22:19发布的贴子,你这22:39就破解完了。好不给面子{:1_932:} cnjn 发表于 2024-5-20 00:06
作者22:19发布的贴子,你这22:39就破解完了。好不给面子
碰巧了。{:301_1009:} 禁止F12 禁止代{过}{滤}理,其实你可以直接说禁止cm,哈哈哈 Arcticlyc 发表于 2024-5-19 22:39
这是什么工具 byh3025 发表于 2024-5-20 10:17
这是什么工具
谷歌浏览器呀 Arcticlyc 发表于 2024-5-20 11:16
谷歌浏览器呀
它 是exe可执行程序怎么用浏览器打开呢?以前没接触过web byh3025 发表于 2024-5-20 12:17
它 是exe可执行程序怎么用浏览器打开呢?以前没接触过web
好像是用的 electron 框架,这个框架可以把前端的东西打包成 exe。这个 html 是抓包抓到的 Arcticlyc 发表于 2024-5-20 12:20
好像是用的 electron 框架,这个框架可以把前端的东西打包成 exe。这个 html 是抓包抓到的
网上说electron框架的可以用winrar打开,这个却不能