首页
社区
课程
招聘
[讨论]记,第一次暴力破解软件成功,Linux下的一个可以虚拟真实硬件的虚拟机软件,请教各位注册机如何编写??
发表于: 2018-11-12 19:19 15183

[讨论]记,第一次暴力破解软件成功,Linux下的一个可以虚拟真实硬件的虚拟机软件,请教各位注册机如何编写??

2018-11-12 19:19
15183

       先上这次学习破解的参考文章链接:

                         《LINUX的crackme的逆向小记(全文完) 采臣·宁》 https://bbs.pediy.com/thread-11315.htm 

                         《MAC使用IDA PRO远程调试LINUX程序》https://www.cnblogs.com/wanyuanchun/p/5117553.html

       破解所需软件

                           操作平台: Debian 版本7.11(wheezy)64位,内核Linux 3.2.0-6-amd64,使用的桌面GNOME 3.4.2
           逆向工具:
                           反汇编 -- objdump 、lida( http://lida.sourceforge.net/ )、windows下的ida
                           压缩工具 -- upx  (http://upx.sourceforge.net)

     

说到破解这个软件的原因,很狗血,前一段时间在某宝上购买了一个Linux下的可以虚拟出真实硬件的虚拟机软件,一个激活码要50块,没错,是一个激活码,呐,遂购买了一个激活码,但是因为一次手残,把Linux系统搞坏了,然后修复了几天一直无法修复,后来就使用万能大法重装。。。,装好之后安装这个虚拟机软件,发现每一次打开激活码都是动态的。。。没错,想要用这个软件还需要掏50块钱激活。。。遂 以学习的心态尝试破解试试看

     上图,打开软件后是下面的界面


机器码是动态变化的,每次启动软件动态码都不同。。。。激活码自然也不同~

在Linux下 打开控制台,切换到程序所在目录。运行“ objdump -x ema ”,显示下图:



根据参考文章《LINUX的crackme的逆向小记(全文完)  采臣·宁》    使用十六进制工具 hexedit 查看程序信息。安装 hexedit ,并运行命令:hexedit ema ,显示如下:


软件使用UPX进行了压缩

安装upx,并运行命令“ upx -d ema ”把程序解压缩 ,如下图



再运行“ objdump -x ema ” 查看程序


解压完成,下一步,直接把解压后的程序拷贝进windows下,在windows下打开IDA进行静态分析,当然也可以从windows的IDA连接到Linux进行动态分析。

使用IDA打开解压后的ema文件



使用F5~~~

int __cdecl main(int argc, const char **argv, const char **envp)
{
  char **v3; // ST08_8
  const char *v4; // rbx
  char *v5; // rax
  unsigned int v6; // eax
  __int64 v7; // rdi
  __int64 v8; // rbx
  __int64 v9; // rax
  __int64 v10; // rbx
  __int64 v11; // rax
  __int64 v12; // rbx
  __int64 v13; // rax

  v3 = (char **)envp;
  gtk_init(0LL, 0LL);
  g_envp = v3;
  v4 = *argv;
  v5 = getcwd(0LL, 0LL);
  g_root_dir = abs_dir(v5, v4);
  check_relative_dir("conf");
  check_relative_dir("disk");
  scan_cfg();
  v6 = time(0LL);
  v7 = v6;
  srandom(v6);
  g_builder = gtk_builder_new(v7);
  gtk_builder_add_from_string(g_builder, &g_guistr, -1LL, 0LL);
  v8 = gtk_window_get_type();
  v9 = object("win_top");
  g_window = g_type_check_instance_cast(v9, v8);
  if ( !g_window )
    __assert_fail("g_window", "single.c", 0x6B9u, "main");
  g_signal_connect_data(g_window, "destroy", &gtk_main_quit, 0LL, 0LL, 0LL);
  v10 = gtk_window_get_type();
  v11 = object("win_acode");
  g_win_acode = g_type_check_instance_cast(v11, v10);
  if ( !g_win_acode )
    __assert_fail("g_win_acode", "single.c", 0x6BDu, "main");
  g_signal_connect_data(g_win_acode, "destroy", &gtk_main_quit, 0LL, 0LL, 0LL);
  v12 = gtk_window_get_type();
  v13 = object("win_auth");
  g_win_auth = g_type_check_instance_cast(v13, v12);
  if ( !g_win_auth )
    __assert_fail("g_win_auth", "single.c", 0x6C1u, "main");
  g_signal_connect_data(g_win_auth, "destroy", &gtk_main_quit, 0LL, 0LL, 0LL);
  if ( (unsigned int)verify_acode_from_file() )
    prompt_acode();
  else
    setup_main_win();
  gtk_main();
  return 0;
}

程序的主流程就是这个样子,下面使用VMware搭建虚拟机安装这个程序,以便远程调试这个程序

VMware搭建虚拟机  略。。。拷贝程序啥的可以用UltraISO把文件做成光盘镜像载入虚拟机的光驱内

具体IDA配置远程调试过程

1:在IDA目录下找到linux_server程序,把它拷贝传到LINUX的某个文件目录下。

 2:修改文件访问权限。chmod a+x 命令将文件改成所有用户可执行。

 3:启动./linux_server IDA,Linux程序 


 4:打开IDA  Debugger菜单下的Select  debugger。


 5:   选择Remote Linux  debugger,点击OK


 6: 打开IDA  Debugger菜单下的Process options,参照下图进行设置,然后点击OK






现在开始调试程序

首先观察main函数很幸运有这一句看起来很像验证是否激活。。。


下断点,按F5调试

调试至 if  语句,跟进,verify_acode_from_file(),发现该函数调用了“load_file_content_under_home()”函数读取了一个“.ema_sn”文件,然后调用“call_check_code()”进行验证


调试过程中由于没有 “.ema_sn”文件,该函数进行了返回。

返回后,经过  if 判断 ,调用prompt_acode()函数,继续跟进 prompt_acode() 函数



发现了这么一句“ text(" text("tbx_mcode", ptr);", ptr);”ptr变量是个字符串,根据"tbx_mcode”这个,判断ptr应该是机器码。。。跟进上面产生ptr的get_fp()函数


跟进 encrypt(),有两个随机数函数。。。每次打开软件机器码会变化是因为机器码产生过程中有随机数的参与,



 调试程序回到main函数,经调试可知,if ( (unsigned int)verify_acode_from_file() )是判断程序是否激活的关键,只需要修改if的流程,就可以达到免激活的目的,结束调试,查看这一句的汇编指令




jz      short loc_4088D2,将“jz      short loc_4088D2” 修改为 “jnz      short loc_4088D2”,修改方法:

鼠标点击这一行,然后点击下图菜单



再按下图修改,后点击OK:



接着,点击下图菜单,输出文件,


完成后,将破解后的二进制文件导入虚拟机中,调整权限为可执行,试运行,如图,暴力破解成功



至此,破解完成,在call_check_code((__int64)ptr)函数里有包含激活码的比对代码,如下图,对照着代码应该是可以写出注册机的, 但是由于水平太低,代码看得晕头转向。。。麻烦指教一下注册机如何编写。。。。









附当时购买的虚拟机软件及解压和破解后的程序,解压密码:123456


上传不了附件是什么情况???


==================================

由于千脑无法访问,于2020年10月8日重传附件

点击进入下载-IDA_Pro_v7.0_Portable.zip

提取码:1111 





[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-10-8 00:28 被转身~编辑 ,原因: 重传附件
上传的附件:
收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 8237
活跃值: (4097)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
啥软件,发个网盘链接也行啊
2018-11-12 22:48
0
雪    币: 12
活跃值: (423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个verify_code
直接扒出来 就行了
很简单的验证阿.........
最后于 2018-11-13 15:45 被MaMy编辑 ,原因:
2018-11-13 15:44
0
雪    币: 0
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
风_158566 啥软件,发个网盘链接也行啊
已添加网盘链接~~
2018-11-13 19:58
0
雪    币: 0
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
MaMy 这个verify_code 直接扒出来 就行了很简单的验证阿.........
关键是新手。。。IDA都是现学现卖的
连咋看内存都不知道。。。麻烦指教一下哈~
2018-11-13 20:00
0
雪    币: 348
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
可以联系一下我吗兄弟。。我需要安装一个 比较复杂的  软件 。。有偿  。。13738306847  VX825341108
2019-4-18 19:40
1
雪    币: 1250
活跃值: (3565)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习了 mark
2019-5-29 15:49
0
雪    币: 225
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
感谢楼主分享
2019-5-30 02:08
0
雪    币: 179
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢楼主无私分享
2019-8-26 23:41
0
雪    币: 124
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
 谢谢楼主的分享  qianniao 网盘  点不开, 请重新换个网盘链接阿
2019-10-12 15:08
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
11
感谢分享
2019-10-12 16:04
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
敢问兄台链接在哪里
2019-10-15 20:14
0
雪    币: 14
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我有个LINUX程序想要破解,有没有那有位大神有兴趣,Q 188#3054# 有偿
2019-10-20 17:24
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14
楼主,私信个联系方式呗。
2019-12-3 20:35
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
2121
2019-12-15 13:24
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
您好,破解后的ema文件.zip和vm.tar.gz可以发我下吗?谢谢,13790663657@163.com
2019-12-28 01:03
0
雪    币: 101
活跃值: (743)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
18
学习了,谢谢分享
2020-7-26 09:23
0
雪    币: 0
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
Aimo-yang [em_13] 谢谢楼主的分享 qianniao 网盘 点不开, 请重新换个网盘链接阿
已重传附件
2020-10-8 00:28
0
雪    币: 0
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
wx_Out Man 敢问兄台链接在哪里[em_13]
已重传附件
2020-10-8 00:29
0
雪    币: 0
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
wx_DGOJS 您好,破解后的ema文件.zip和vm.tar.gz可以发我下吗?谢谢,13790663657@163.com
已重传附件
2020-10-8 00:29
0
雪    币: 0
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
tcy027 学习了,谢谢分享
已重传附件
2020-10-8 00:29
0
雪    币: 101
活跃值: (743)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
23
转身~ 已重传附件
感谢!楼主有心了
2020-10-11 10:13
0
游客
登录 | 注册 方可回帖
返回
//