爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1765|回复: 19
收起左侧

[其它] [S7Cv47]来电黑名单自定义号码版本

[复制链接]
发表于 2009-3-7 13:39:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
阿冰说不知道原作者是谁,但阿冰改进过的;
loquat也在努力学习移植,加油。我只是负责移植编译~
似乎有个收到短信提示“未成功”的Bug
这个帖子有源码大家研究去吧
http://mobile.0110.cn/viewthread.php?tid=401593&extra=page%3D1
使用说明:
将要放到黑名单的号码写在0:\Misc\BlackList.txt,一行一个号码。使用ANSI编码
带区号的老老实实写上,国家代码+86可以省略
需要ELFLOADER支持
增加功能:
以[Profile]:增加情景模式控制,不写或超出范围(1-8)为所有情景模式下都有效
以[Group]:增加群组黑名单,不写或超出范围(1-9)均为不设置群组

[Profile]:2
[Group]:9
10086

  1. ;S7Cv47
  2. ;RHOOKBLACKLIST
  3. 0x00359736: 20F786EB 56F3F2EB
  4. ;BLACKLIST_DUMP
  5. #pragma enable old_equal_ff
  6. 0x006AFF1C: 00C09FE5
  7. 0x006AFF20: 1CFF2FE109A053A1
  8. ;BLACK_LIST_BODY,CODE,DATA_C
  9. 0x0153A000: 80B5084FB84780BDFFB500F010E80128
  10. 0x0153A010: 02D1002066DF03E0FFBC034FB84700BD
  11. 0x0153A020: FFBD0000EF3398A0449E27A090119FE5
  12. 0x0153A030: F0402DE93CD04DE2DC1091E80050A0E1
  13. 0x0153A040: 24008DE2DC1080E80D30A0E18020A0E3
  14. 0x0153A050: 0010A0E30A0000EF0070B0E10200005A
  15. 0x0153A060: 0000A0E33CD08DE2F080BDE8400DA0E3
  16. 0x0153A070: 140000EF0040A0E10D30A0E1402DA0E3
  17. 0x0153A080: 0410A0E10700A0E10B0000EF0060A0E1
  18. 0x0153A090: 0D10A0E10700A0E10D0000EF24119FE5
  19. 0x0153A0A0: 0400A0E1180100EF0070B0E10900000A
  20. 0x0153A0B0: 0A00F7E5310050E30600003A390050E3
  21. 0x0153A0C0: 0400002AB60000EF0010D7E5311041E2
  22. 0x0153A0D0: 000051E1E1FFFF1AEC109FE50400A0E1
  23. 0x0153A0E0: 180100EF0070B0E10800000A0800F7E5
  24. 0x0153A0F0: 310050E30500003A3A0050E30300002A
  25. 0x0153A100: 280040E2000055E10100A0032900000A
  26. 0x0153A110: 000056E30000A0530400C6572000A0E3
  27. 0x0153A120: 250100EF0050A0E16E0000EF0510A0E1
  28. 0x0153A130: 260000EB2020A0E304108DE20500A0E1
  29. 0x0153A140: A30000EF04608DE20320A0E31B1F8FE2
  30. 0x0153A150: 04008DE2150100EF000050E307608D02
  31. 0x0153A160: 0610A0E10400A0E1180100EF0070A0E1
  32. 0x0153A170: 010047E2000057E30600000A000050E3
  33. 0x0153A180: 0600000A0000D0E5300050E30300003A
  34. 0x0153A190: 3A0050E30100002A0060A0E3000000EA
  35. 0x0153A1A0: 0160A0E30400A0E1150000EF0500A0E1
  36. 0x0153A1B0: 290100EF0600A0E13CD08DE2F080BDE8
  37. 0x0153A1C0: 2B383600DCA153A1F4A153A100A253A1
  38. 0x0153A1D0: 00C09FE51CFF2FE101A053A1303A5C4D
  39. 0x0153A1E0: 6973635C426C61636B4C6973742E7478
  40. 0x0153A1F0: 740000005B50726F66696C655D3A0000
  41. 0x0153A200: 5B47726F75705D3A00000000
  42. #pragma disable old_equal_ff
复制代码

评分

参与人数 1实力分 +1 收起 理由
askman_1 + 1 那就这样吧

查看全部评分

发表于 2009-3-7 14:15:59 | 显示全部楼层
本帖最后由 loquat 于 2009-3-7 14:24 编辑

Bug和以前的帖子里反应的一样。
下面的图片1,另外短信将会没有声音。我是使用的MySMSYS的短信提示音。所以无影响。
[Profile]:2
[Group]:9
13800000000
上面在情景模式2下阻止来自13800000000的来电,其他情景模式下不阻止。
以及,阻止在Group9的组员的来电。(当然此功能经测试实际上没有实现,希望有人来实现)
如果Group能实现的话,我们就可以放弃之前的那个黑名单V2,而给这个补丁命名为V3了


貌似是先显示这个

                               
登录/注册后可看大图

再显示这个

                               
登录/注册后可看大图

我找到了让下面的图出现在前的方法,用MySMSYS的来短信提醒。
刷掉系统自带的来短信提醒。
但是也有一点,这样将会只显示姓名,不会显示来短信区号秀。



不知道有哪位懂汇编的高手修改下吧。
回复 支持 反对

使用道具 举报

发表于 2009-3-7 14:27:30 | 显示全部楼层
本帖最后由 loquat 于 2009-3-7 14:28 编辑
  1. #include "..\inc\swilib.h"

  2. //#pragma swi_number=0x0248
  3. //__swi void GetCalleeNumber(int index, WSHDR *ws);

  4. extern void GetCalleeNumber(int index, WSHDR *ws);

  5. int do_check(int group)
  6. {
  7.         char path[]="0:\\Misc\\BlackList.txt";
  8.         unsigned int err;
  9.         int f=fopen(path, A_ReadOnly, P_READ, &err);
  10.         if(f<0)
  11.                 return 0;//0,不在黑名单或者名单不存在
  12.         char *buf=malloc(4096);
  13.         int size=fread(f, buf, 4096, &err);
  14.         fclose(f, &err);
  15.         char *p;
  16.         p=strstr(buf, "[Profile]:");
  17.         if(p)
  18.         {
  19.                 p+=10;
  20.                 if((*p)>='1'&&(*p)<='8')
  21.                 {
  22.                         if((*p-'1')!=GetProfile())
  23.                                 return 0;
  24.                 }
  25.                 //int pf=GetProfile();
  26.         }
  27.         p=strstr(buf, "[Group]:");
  28.         if(p)
  29.         {
  30.                 p+=8;
  31.                 if((*p)>='1'&&(*p)<='9')
  32.                 {
  33.                         if(group==(*p)-0x28)
  34.                                 return 1;
  35.                 }
  36.         }
  37.         if(size>=0)
  38.                 buf[size]=0;
  39.         char num[32];
  40.         WSHDR *ws=AllocWS(32);
  41.         GetCalleeNumber(IsCalling(), ws);
  42.         ws_2str(ws, num, 32);
  43.         char *s=num;
  44.         if(strncmp(num, "+86", 3)==0)
  45.                 s+=3;
  46.         //char *
  47.         p=strstr(buf, s);
  48.         int rec;
  49.         s=p-1;
  50.         if(p)
  51.         {
  52.                 if(s)
  53.                 {
  54.                         if((*s)>='0'&&(*s)<='9')
  55.                                 rec=0;
  56.                         else
  57.                                 rec=1;
  58.                 }
  59.                 else
  60.                         rec=1;//拒接
  61.         }
  62.         else
  63.                 rec=0;
  64.         mfree(buf);
  65.         FreeWS(ws);
  66.         return rec;
  67. }
复制代码
  1. #ifdef E71Cv41
  2. #define ADDR_GetCalleeNumber 0xA094D15E+1
  3. #define ADR_PlaySound2  0xA05ABEA4
  4. #endif

  5.     CODE16
  6.     EXTERN do_check
  7.     RSEG BLACK_LIST_BODY
  8.     PUBLIC GetCalleeNumber
  9.    
  10. GetCalleeNumber:
  11.     PUSH    {R7,LR}
  12.     LDR     R7, =ADDR_GetCalleeNumber
  13.     BLX     R7
  14.     POP     {R7,PC}
  15.    
  16. BODY:
  17.     PUSH    {R0-R7,LR}
  18.     BLX     do_check
  19.     CMP     R0, #1
  20.     BNE     RP
  21.     MOV     R0, #0
  22.     SWI     0x66  //EndCallBusy
  23.     B       EXIT
  24. RP:
  25.     POP     {R0-R7}
  26.     LDR     R7,=ADR_PlaySound2
  27.     BLX     R7
  28.     //SWI     0x33 //PlaySound2
  29.     POP     {PC}
  30. EXIT:
  31.     POP     {R0-R7,PC}
  32.     /*
  33. NONAME:
  34.     PUSH    {R0-R7,LR}
  35.     MOV     R0, #1
  36.     BL      get_it
  37.     CMP     R0, #0
  38.     BEQ     EXITNOME
  39.     MOV     R0, #0
  40.     //LDR     R3, =ADR_EndCallBusy
  41.     //BLX     R3
  42.     SWI     0x66  //EndCallBusy
  43. EXITNOME:
  44.     POP     {R0-R7,PC}*/
  45.    
  46.     CODE32
  47.     RSEG BLACKLIST_DUMP
  48. BLACK_LIST_DUMP:
  49.     LDR     R12, =BODY
  50.     BX      R12
  51.    
  52.     CODE16
  53.     RSEG RHOOKBLACKLIST:CODE(1)
  54.     BLX     BLACK_LIST_DUMP
  55.    
  56.     END
复制代码
  1. -carm
  2. -Z(CODE)BLACK_LIST_BODY,CODE,DATA_C,ICODE,INITTAB,INTVEC,IRQ_STACK,CSTACK=A1359A00-FFFFFFFF
  3. -Z(CODE)BLACKLIST_DUMP=A08511F4-FFFFFFFF
  4. -Z(CODE)RHOOKBLACKLIST=A071DC0E-FFFFFFFF
  5. //-Z(CODE)NONAMEHOOK=A09DBC14-FFFFFFFF
复制代码
回复 支持 反对

使用道具 举报

发表于 2009-3-7 14:28:05 | 显示全部楼层
用bbs.0110.cn看图是xx?

还是期待支持群组+支持自定义号码
回复 支持 反对

使用道具 举报

发表于 2009-3-7 14:30:18 | 显示全部楼层
有自定义号码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-7 14:45:17 | 显示全部楼层
本帖最后由 DaiKangaroo 于 2009-3-7 14:58 编辑

源码int do_check(int group)需改为__arm int do_check(int group)否则编译不过~
群组无效可能是这句if(group==(*p)-0x28)有问题,我也不知道怎么算

IAR工程文件(套用了区号秀的,所以名字是CodeShow,呵呵,不影响使用)

BlackList IAR.rar

45.79 KB, 下载次数: 8

回复 支持 反对

使用道具 举报

发表于 2009-3-7 22:20:33 | 显示全部楼层
袋鼠辛苦了,如果我是版主我就给你加分。
如果我能加分我也给你加分啊。。。
回复 支持 反对

使用道具 举报

发表于 2009-3-8 00:00:28 | 显示全部楼层
本帖最后由 fengke 于 2009-3-8 13:09 编辑

需要在多个情景模式下阻止同一个号码或者不同的号码应该怎么办?是不是这样?
[Profile]:2
13511111111
[Profile]:3
13511111111
回复 支持 反对

使用道具 举报

发表于 2009-3-8 17:05:08 | 显示全部楼层
这个有用啊,谢谢了。
回复 支持 反对

使用道具 举报

发表于 2009-3-8 18:03:36 | 显示全部楼层
强大,就要接近完美了
回复 支持 反对

使用道具 举报

发表于 2009-3-8 19:46:30 | 显示全部楼层
本帖最后由 loquat 于 2009-3-8 23:08 编辑
强大,就要接近完美了
xclrk 发表于 2009-3-8 18:03


那个小bug都无所谓。
但是群组无法实现真的不爽啊。
楼上袋鼠已经指出了问题所在,可惜就是没有高手愿意动手了。
冰是要开发Elf肯定是没空
袋鼠说他不用这个,没有时间开发
现在啊,真想给论坛某个高手买太二手S75让他去开发。
回复 支持 反对

使用道具 举报

发表于 2009-3-8 20:33:12 | 显示全部楼层
辛苦了,期待优化
回复 支持 反对

使用道具 举报

发表于 2009-3-8 22:53:19 | 显示全部楼层
啥都不说了,加油
回复 支持 反对

使用道具 举报

发表于 2009-3-10 19:44:54 | 显示全部楼层
65的那个MP黑名单用惯了。
回复 支持 反对

使用道具 举报

发表于 2009-3-31 14:04:28 | 显示全部楼层
顶起来,期待完善啊。
白名单啊白名单
回复 支持 反对

使用道具 举报

发表于 2009-4-4 15:40:21 | 显示全部楼层
没有要的补丁我顶起
回复 支持 反对

使用道具 举报

发表于 2009-4-5 15:05:16 | 显示全部楼层
期待白名单~
回复 支持 反对

使用道具 举报

发表于 2009-4-5 18:56:22 | 显示全部楼层

白名单听袋鼠说挺好搞的,在现有代码的基础上很方便就能搞定。
不知道为什么这么长时间了还没动静。
回复 支持 反对

使用道具 举报

发表于 2009-4-7 10:25:10 | 显示全部楼层
辛苦了!

但如果过滤黑名单前还有那么一声"嘟"声,我就不会刷了!
回复 支持 反对

使用道具 举报

发表于 2009-4-7 12:55:07 | 显示全部楼层
辛苦了!

但如果过滤黑名单前还有那么一声"嘟"声,我就不会刷了!
sundey 发表于 2009-4-7 10:25

没有,bug我已经在沙发上说明过了。
短信音没了,我用Mss的代替。
那个显示bug我直接刷“来短信不提示”搞定
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-5-5 13:41

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表