当前位置: 首页 > wzjs >正文

广州越秀网站建设精准客源

广州越秀网站建设,精准客源,手机浏览器网站开发,凡科做的网站真是免费吗crackme006 名称值软件名称aLoNg3x.1.exe加壳方式无保护方式Serial编译语言Delphi调试环境Win10 64位使用工具x32dbg,ida pro,PEid,DarkDe4破解日期2025-06-05 脱壳 1. 先用PEid查壳 查到无壳 寻找Serial 查询到编程语言为Delphi 导出Delphi符号表信息到x32dbg&#xff0c…

crackme006

名称
软件名称aLoNg3x.1.exe
加壳方式
保护方式Serial
编译语言Delphi
调试环境Win10 64位
使用工具x32dbg,ida pro,PEid,DarkDe4
破解日期2025-06-05

脱壳

1. 先用PEid查壳

01-PEid查壳
查到无壳

寻找Serial

  • 查询到编程语言为Delphi

  • 导出Delphi符号表信息到x32dbg,用IDA Pro 打开程序
    02-ida pro 打开程序

  • 添加常见Delphi库的符号

常见Delphi库
b32vcl
bds2006
delphi
d5vcl
d4vcl
c4vcl
bds
  • 快捷键Shift+F5,如下图所示
    03-IDA Pro Signatures

  • 导出map文件,File->Produce file->Create MAP file...
    04-导出map文件

  • 安装SwissArmyKnife插件,导入上一步生成的map文件。x32dbg中插件->SwissArmyKnife->Load->MAP file
    15-导入map文件

  • 用DarkDe4打开PE文件
    16-DarDe4查看Delphi程序

  • 查看窗体结构
    07-DarDe4查看Delphi窗体结构

  • 寻找flag,点击 About-Help按钮,发现Flag:隐藏Cancella和Ok两个按钮
    08-Find-Flag

  • 在DarkDe4中可以发现Cancella的id为:2D0,Ok按钮的id为:2CC
    09-DarDe4查看控件Id

  • 查找Cancella的调用 鼠标右键->搜索->当前模块->常数 输入2D0
    10-查找常数2D0

  • 选中地址=00442EF2反汇编=mov eax,dword ptr ds:[ebx+2D0] 跳转到SetVisible函数的调用处,发现关键函数调用call <along3x.1.sub_442AF4>
    11-SetVisible的调用处

  • 分析函数调用call <along3x.1.sub_442AF4>
    12-分析隐藏Cancella算法

mov eax,dword ptr ss:[ebp-4] ;取nome字符串首地址
call <along3x.1.unknown_libname_1145> ;获取nome字符串的长度
cmp eax,5 ;nome字符串长度与5比较
jle <along3x.1.loc_442B78> nome字符串长度小于等于5则字节,跳转到along3x.1.loc_442B78
mov eax,dword ptr ss:[ebp-4] ;取nome字符串首地址
movzx eax,byte ptr ds:[eax+4]; 取nome[4]的ASCII
mov ecx,7
xor edx,edx;情况edx
div ecx ;eax除以7,商存入eax,余数存入edx中
mov eax,edx;余数存入eax
add eax,2;eax = 余数+2
call <along3x.1.sub_442A20>;求eax的阶乘
mov esi,eax ;阶乘结果存入esi
xor ebx,ebx ;清空ebx
mov eax,dword ptr ss:[ebp-4];取nome字符串首地址
call <along3x.1.unknown_libname_1145>;nome字符串的长度
test eax,eax  ;eax按位与
jle <along3x.1.loc_442B65> ;nome长度为0跳转到along3x.1.loc_442B65
mov edx,1  ;索引初值为1
along3x.1.loc_442B54: mov ecx,dword ptr ss:[ebp-4] ;取nome字符串首地址
movzx ecx,byte ptr ds:[ecx+edx-1];取nome[edx-1]的ascii
imul ecx,esi ;nome[edx-1]的ascii乘以阶乘
add ebx,ecx;nome[edx-1]的ascii乘以阶乘结果累加到ebx中
inc edx;索引自增1
dec eax;字符串长度自减1
jne <along3x.1.loc_442B54>; eax不为0跳转到along3x.1.loc_442B54
sub ebx,dword ptr ss:[ebp-8];累加结果减去strToInt(codice)
cmp ebx,7A69;结果是否等于7A69
jne <along3x.1.loc_442B74>;不等于7A69跳出
mov bl,1
  • 综上分析出算法,写下c++代码注册机
#include<stdio.h>
#include<stdlib.h>
#include<string.h>int factorial(int n)
{if (n == 1)return 1;return n * factorial(n - 1);
}int serial1(char* name)
{int len = strlen(name);if (len <= 5){return -1;}int res = 0;int resA = (name[4] % 7 + 2);resA = factorial(resA);for (int index = 0; index < len; index++){res += name[index] * resA;}res -= 0x7A69;return res;
}
int main()
{char nome[1024]={0};printf("请输入Nome得出codice解锁Cancella:\n");scanf("%s", nome);int res = serial1(nome);if (res == -1){printf("字符串长度必须大于5\r\n");return 0;}printf("序列号为:%d\r\n", res);return 0;
}
  • 查找Ok的调用 鼠标右键->搜索->当前模块->常数 输入2CC
    在这里插入图片描述
  • 选中 地址=00442DCC反汇编=mov eax,dword ptr ds:[ebx+2CC] ,跳转到SetVisible函数的调用处,发现关键函数调用call <along3x.1.sub_442BA0>
    14-SetVisible的调用处
  • 分析call <along3x.1.sub_442BA0>
    15-分析隐藏Ok算法
mov eax,dword ptr ss:[ebp-8]; 取codice字符串首地址
call <along3x.1.unknown_libname_1145> ;取codice字符串长度
cmp eax,5 ; 比较字符串长度与5
jle <along3x.1.loc_442C4A> ;字符串长度小于等于5则跳转出去
mov eax,dword ptr ss:[ebp-8]; 取codice首地址
call <along3x.1.unknown_libname_1145> ; 取codice字符串长度
mov esi,eax
cmp esi,1 ; 字符串长度与1比较
jl <along3x.1.loc_442C28> ;字符串长度小于1跳转出去
along3x.1.loc_442BF9: lea eax,dword ptr ss:[ebp-C] ;取codice首地址
call <along3x.1.System::UniqueString(System::AnsiString &)>
lea eax,dword ptr ds:[eax+esi-1]; 取codice[esi-1]的地址
push eax ; codice[esi-1]的地址入栈
mov eax,dword ptr ss:[ebp-8] ; 取codice的首地址
movzx eax,byte ptr ds:[eax+esi-1] ; 取codice[esi-1]的ascci
imul eax ; eax = codice[esi-1]*codice[esi-1]
movsx eax,ax; 取积的低16位
imul esi ; 乘以当前索引
mov ecx,19
cdq 
idiv ecx; 除以19
add edx,41; 除以19的余数+0x41
pop eax ; 将codice[esi-1]的地址赋值给eax
mov byte ptr ds:[eax],dl; 将结果的低8位赋值给codice[esi-1]
dec esi ; esi 自减1
test esi,esi 判断esi是否为0
jne <along3x.1.loc_442BF9> ; esi不为零循环继续
  • 综上分析出算法,写下c++代码注册机
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char* serial2(char* codice)
{int len = strlen(codice);if (len <= 5){return NULL;}int res = len;char ans[1024] = {0};for (int index = len - 1; index >= 0; index --){ans[index] = (codice[index] * codice[index] * (index + 1) % 0x19) + 0x41;}return ans;
}
int main()
{char codice[1024] = { 0 };printf("请输入codice得出nome解锁Ok:\n");scanf("%s", codice);char* ans_str = serial2(codice);if (ans_str == NULL){printf("字符串长度必须大于5\r\n");return 0;}printf("序列号为:%s\r\n", ans_str);return 0;
}
http://www.dtcms.com/wzjs/222543.html

相关文章:

  • 昆明网站建设价位百度文库官网首页
  • 仙居做网站营销计划书7个步骤
  • wordpress封装小程序seo整体优化
  • 小公司做网站用哪种服务器巨量引擎广告投放
  • wordpress 页面url优化网站标题和描述的方法
  • 网站开发汇报产品推广哪个平台好
  • smt贴片加工网站建设百度禁止seo推广
  • 惠州做网站建设站长素材音效网
  • 王野天津音乐广播电台图片优化技术基础
  • 做网站用什么后台百度竞价排名查询
  • 网站设计就业怎么样数据查询网站
  • wordpress w按钮关系网站优化公司
  • 上海正规网站定制小程序开发教程
  • b2b电子商务网站调研报告word文档形式足球排行榜前十名
  • 做关于灯饰的网站品牌广告和效果广告的区别
  • 成都网站建制作网络营销推广公司
  • 安康公司做网站360站长工具
  • 网站效果图可以做动态的嘛百度贴吧的互动社区
  • 网站有死链接怎么办昆明seo
  • 网络组建毕业论文seo是什么意思电商
  • 德州做网站dzqifanb站视频推广app
  • 自己做的网站 网站备案流程阿里seo排名优化软件
  • 上海网站建设网站制百度指数的数值代表什么
  • 有哪些做司考真题的网站宁波网站制作设计
  • 微网站与手机网站免费seo网站自动推广
  • 沈阳网站制作思路竞价推广平台
  • dz网站自己做的模板放在哪里上海网络推广培训机构
  • 沈阳做网站建设小学生简短小新闻十条
  • 免费的推广网站有哪些人民网疫情最新消息
  • 做网站被骗算诈骗吗安徽建站