这篇文章接上一篇文章进一步升华:花了4个小时获得该信息的计算方式

比方在 chrome文件夹下的\Chrome\User Data\Default文件夹下的Secure Preferences,须要设置"startup_urls":["http://www.baidu.com/"]改參数时,chrome会在该文件里生成"startup_urls":"651507D384340BD7A56E3D3D7646C797AB1593B15400B397908EF95BD2D4CB16"该校验信息,该校验信息的解说在此:http://blog.csdn.net/basketwill/article/details/47663419

该校验信息就是上一篇文章中所计算的hash sha256值怎么计算呢



chrome会组合这种參数 ASCII "0A52ED0B71E75641568A87D0663A83205BA78F88FC2363B9D0session.startup_urls
["http://www.baidu.com/"]" ,对该字符窜计算sha256
就会生成 startup_urls":"651507D384340BD7A56E3D3D7646C797AB1593B15400B397908EF95BD2D4CB16"这种hash校验值。

注意  红色的字符窜中 0A52ED0B71E75641568A87D0663A83205BA78F88FC2363B9是怎样生成的呢

 计算方法例如以下:

 1.先获得用户电脑名称

2.然后对该用户去取的Security id 即sid

3.对获得sid进行标准的sha1 hash值

因为简单我直接贴代码: 代码相当简单

bool GetComputerSecurityId( wchar_t security_id[64] )
{
wchar_t account_name[MAX_PATH] = {0};
unsigned long account_len = MAX_PATH;
wchar_t sid[MAX_PATH] = {0};
char sid_buffer[24] = {0};
if ( GetComputerNameW( 
account_name,
&account_len ))
{
if( AddAccessRights( account_name , &sid , 2*MAX_PATH ))
{
ConvertSidToStringSidW( &sid,
  (LPWSTR *)sid_buffer );
if ( security_id && (*(unsigned long*)sid_buffer) )
{
memcpy( security_id , (const void *)(*(unsigned long*)sid_buffer) , MAX_PATH );

LocalFree( (HLOCAL)(*(unsigned long*)sid_buffer) );
}
}
}

return false;
}

bool AddAccessRights(wchar_t* lpAccountName,
PSID Sid,
unsigned long cb_sid_len )
{
wchar_t* account_name = (wchar_t*)HeapAlloc( GetProcessHeap(),0, 2*MAX_PATH );
unsigned long cchReferencedDomainName ;
SID_NAME_USE peUse;
unsigned long cbSid;
BOOLisSuccess = 0;

cbSid = cb_sid_len;
cchReferencedDomainName = 2*MAX_PATH;
if ( account_name )
{
isSuccess = LookupAccountNameW( 
NULL, 
lpAccountName,
Sid, 
&cbSid, 
account_name,
&cchReferencedDomainName, 
&peUse );



if ( !isSuccess )
{
if ( GetLastError() == 122 )
{
if ( cbSid <= cb_sid_len )
{
if ( cchReferencedDomainName > 128 )
{
cchReferencedDomainName = 2 * cchReferencedDomainName;
}

isSuccess = LookupAccountNameW(
NULL,
lpAccountName,
Sid,
&cbSid,
account_name,
&cchReferencedDomainName,
&peUse);
}
}
}
}


if ( account_name )
{
HeapFree( GetProcessHeap() , 0 , account_name );
account_name = NULL;
}

return isSuccess;
}

bool GetVolumeSerialNumber( unsigned long* serial )
{
char root_name[MAX_PATH] = {0};
char* root_disk = 0;
unsigned long VolumeSerialNumber = 0;
if( GetSystemDirectory( root_name ,
MAX_PATH ) && serial )
{
if ( root_disk = strstr( root_name, "\\") )
{
root_disk[1] = 0;
*serial = 0;
if ( GetVolumeInformation(
&root_name[0],
0,
0,
&VolumeSerialNumber,
0,
0,
0,
0) )
{
*serial = VolumeSerialNumber;
return true;
}

}
}

return false;
}


bool GetComputerHashSha1(char* hash_id )
{
wchar_t wcSid[200] = {0};
unsigned long SerialNumber = 0;

GetComputerSecurityId( wcSid );
GetVolumeSerialNumber(&SerialNumber);

char szhashId[40] = {0};
base::SHA1HashBytes( (const unsigned char *)wcSid , 2*lstrlenW(wcSid) , (unsigned char *)szhashId );
return true;

}


 字符串中D0的产生:
base::SHA1HashBytes( (const unsigned char *)wcSid , 2*lstrlenW(wcSid) , (unsigned char *)szhashId );

GetCrc(szhashId );
这个结果===D0,就是计算szhashId  的 8位crc



ULONG GetCrc( unsigned char* szhashId , int  len )
{
ULONG crc = 0;
if ( len )
{
for ( int i = 0 ; i < len ; i++ )
{
crc &= 0xFF;
crc ^= ( szhashId[i] & 0xFF);
crc = (g_crc_list[crc] ^ 0xFF);
}
}

crc ^= 0x0055;
}


那个 unsigned char  g_crc_list{    
0,7,0x0E,0x9,0x1C,0x1B,
0x12,
0x15,
0x38,
0x3F,
0x36,
31h,
24h ,
23h,
2Ah,
2Dh,
70h,
77h,
7Eh ,
79h,
6Ch,
6Bh,
62h,
65h,
48h,
 4Fh,
 46h,
41h,
54h,
53h,
5Ah,
5Dh,
0E0h,
0E7h,
0EEh,
0E9h,
0FCh,
0FBh,
0F2h,
0F5h ,
0D8h,
0DFh,
0D6h,
0D1h ,
0C4h ,
0C3h,
0CAh,
0CDh,
90h,
.rdata:03407FB1                 db  97h ; ?

.rdata:03407FB2                 db  9Eh ; ?
.rdata:03407FB3                 db  99h ; ?
.rdata:03407FB4                 db  8Ch ; ?

.rdata:03407FB5                 db  8Bh ; ?
.rdata:03407FB6                 db  82h ; ?
.rdata:03407FB7                 db  85h ; ?

.rdata:03407FB8                 db 0A8h ; ?
.rdata:03407FB9                 db 0AFh ; ?
.rdata:03407FBA                 db 0A6h ; ?
.rdata:03407FBB                 db 0A1h ; ?
.rdata:03407FBC                 db 0B4h ; ?
.rdata:03407FBD                 db 0B3h ; ?

.rdata:03407FBE                 db 0BAh ; ?
.rdata:03407FBF                 db 0BDh ; ?
.rdata:03407FC0                 db 0C7h ; ?

.rdata:03407FC1                 db 0C0h ; ?

.rdata:03407FC2                 db 0C9h ; ?
.rdata:03407FC3                 db 0CEh ; ?

.rdata:03407FC4                 db 0DBh ; ?

.rdata:03407FC5                 db 0DCh ; ?
.rdata:03407FC6                 db 0D5h ; ?
.rdata:03407FC7                 db 0D2h ; ?
.rdata:03407FC8                 db 0FFh
.rdata:03407FC9                 db 0F8h ; ?
.rdata:03407FCA                 db 0F1h ; ?
.rdata:03407FCB                 db 0F6h ; ?
.rdata:03407FCC                 db 0E3h ; ?
.rdata:03407FCD                 db 0E4h ; ?
.rdata:03407FCE                 db 0EDh ; ?
.rdata:03407FCF                 db 0EAh ; ?

.rdata:03407FD0                 db 0B7h ; ?
.rdata:03407FD1                 db 0B0h ; ?

.rdata:03407FD2                 db 0B9h ; ?

.rdata:03407FD3                 db 0BEh ; ?
.rdata:03407FD4                 db 0ABh ; ?
.rdata:03407FD5                 db 0ACh ; ?
.rdata:03407FD6                 db 0A5h ; ?
.rdata:03407FD7                 db 0A2h ; ?
.rdata:03407FD8                 db  8Fh ; ?

.rdata:03407FD9                 db  88h ; ?
.rdata:03407FDA                 db  81h ; ?
.rdata:03407FDB                 db  86h ; ?
.rdata:03407FDC                 db  93h ; ?
.rdata:03407FDD                 db  94h ; ?

.rdata:03407FDE                 db  9Dh ; ?

.rdata:03407FDF                 db  9Ah ; ?

.rdata:03407FE0                 db  27h ; '
.rdata:03407FE1                 db  20h
.rdata:03407FE2                 db  29h ; )
.rdata:03407FE3                 db  2Eh ; .
.rdata:03407FE4                 db  3Bh ; ;
.rdata:03407FE5                 db  3Ch ; <
.rdata:03407FE6                 db  35h ; 5
.rdata:03407FE7                 db  32h ; 2
.rdata:03407FE8                 db  1Fh
.rdata:03407FE9                 db  18h
.rdata:03407FEA                 db  11h
.rdata:03407FEB                 db  16h
.rdata:03407FEC                 db    3
.rdata:03407FED                 db    4
.rdata:03407FEE                 db  0Dh
.rdata:03407FEF                 db  0Ah
.rdata:03407FF0                 db  57h ; W
.rdata:03407FF1                 db  50h ; P
.rdata:03407FF2                 db  59h ; Y
.rdata:03407FF3                 db  5Eh ; ^
.rdata:03407FF4                 db  4Bh ; K
.rdata:03407FF5                 db  4Ch ; L
.rdata:03407FF6                 db  45h ; E
.rdata:03407FF7                 db  42h ; B
.rdata:03407FF8                 db  6Fh ; o
.rdata:03407FF9                 db  68h ; h
.rdata:03407FFA                 db  61h ; a
.rdata:03407FFB                 db  66h ; f
.rdata:03407FFC                 db  73h ; s
.rdata:03407FFD                 db  74h ; t
.rdata:03407FFE                 db  7Dh ; }
.rdata:03407FFF                 db  7Ah ; z
.rdata:03408000                 db  89h ; ?
.rdata:03408001                 db  8Eh ; ?
.rdata:03408002                 db  87h ; ?

.rdata:03408003                 db  80h ; €
.rdata:03408004                 db  95h ; ?

.rdata:03408005                 db  92h ; ?

.rdata:03408006                 db  9Bh ; ?

.rdata:03408007                 db  9Ch ; ?

.rdata:03408008                 db 0B1h ; ?
.rdata:03408009                 db 0B6h ; ?
.rdata:0340800A                 db 0BFh ; ?
.rdata:0340800B                 db 0B8h ; ?
.rdata:0340800C                 db 0ADh ; ?
.rdata:0340800D                 db 0AAh ; ?

.rdata:0340800E                 db 0A3h ; ?

.rdata:0340800F                 db 0A4h ; ?

.rdata:03408010                 db 0F9h ; ?
.rdata:03408011                 db 0FEh ; ?
.rdata:03408012                 db 0F7h ; ?

.rdata:03408013                 db 0F0h ; ?
.rdata:03408014                 db 0E5h ; ?

.rdata:03408015                 db 0E2h ; ?
.rdata:03408016                 db 0EBh ; ?
.rdata:03408017                 db 0ECh ; ?
.rdata:03408018                 db 0C1h ; ?

0C6h ; ?
0CFh ; ?

.rdata:0340801B                 db 0C8h ; ?
.rdata:0340801C                 db 0DDh ; ?

.rdata:0340801D                 db 0DAh ; ?
.rdata:0340801E                 db 0D3h ; ?
0D4h ; ?
69h ; i
6Eh ; n
 67h ; g
60h ; `
75h ; u
72h ; r
7Bh ; {
.rdata:03408027  
              db  7Ch ; |
.rdata:03408028  
              db  51h ; Q
.rdata:03408029  
              db  56h ; V
.rdata:0340802A
                db  5Fh ; _
.rdata:0340802B
                db  58h ; X
.rdata:0340802C
                db  4Dh ; M
.rdata:0340802D
                db  4Ah ; J
.rdata:0340802E
                db  43h ; C
.rdata:0340802F
                db  44h ; D
.rdata:03408030  
              db  19h
.rdata:03408031  
              db  1Eh
.rdata:03408032  
              db  17h
.rdata:03408033  
              db  10h
.rdata:03408034  
              db    5
.rdata:03408035  
              db    2
.rdata:03408036  
              db  0Bh
.rdata:03408037  
              db  0Ch
.rdata:03408038  
              db  21h ; !
.rdata:03408039  
              db  26h ; &
.rdata:0340803A
                db  2Fh ; /
.rdata:0340803B
                db  28h ; (
.rdata:0340803C
                db  3Dh ; =
.rdata:0340803D
                db  3Ah ; :
.rdata:0340803E
                db  33h ; 3
.rdata:0340803F
                db  34h ; 4
.rdata:03408040  
              db  4Eh ; N
.rdata:03408041  
              db  49h ; I
.rdata:03408042  
              db  40h ; @
.rdata:03408043  
              db  47h ; G
.rdata:03408044  
              db  52h ; R
.rdata:03408045  
              db  55h ; U
.rdata:03408046  
              db  5Ch ; \
.rdata:03408047  
              db  5Bh ; [
.rdata:03408048  
              db  76h ; v
.rdata:03408049  
              db  71h ; q
.rdata:0340804A
                db  78h ; x
.rdata:0340804B
                db  7Fh ;
.rdata:0340804C
                db  6Ah ; j
.rdata:0340804D
                db  6Dh ; m
.rdata:0340804E
                db  64h ; d
.rdata:0340804F
                db  63h ; c
.rdata:03408050  
              db  3Eh ; >
.rdata:03408051  
              db  39h ; 9
.rdata:03408052  
              db  30h ; 0
.rdata:03408053  
              db  37h ; 7
.rdata:03408054  
              db  22h ; "
.rdata:03408055  
              db  25h ; %
.rdata:03408056  
              db  2Ch ; ,
.rdata:03408057  
              db  2Bh ; +
.rdata:03408058  
              db    6
.rdata:03408059  
              db    1
.rdata:0340805A
                db    8
.rdata:0340805B
                db  0Fh
.rdata:0340805C
                db  1Ah
.rdata:0340805D
                db  1Dh
.rdata:0340805E
                db  14h
.rdata:0340805F
                db  13h
.rdata:03408060  
              db 0AEh ; ?
.rdata:03408061  
              db 0A9h ; ?
.rdata:03408062  
              db 0A0h ; ?
.rdata:03408063  
              db 0A7h ; ?
.rdata:03408064  
              db 0B2h ; ?
.rdata:03408065  
              db 0B5h ; ?

.rdata:03408066  
              db 0BCh ; ?
.rdata:03408067  
              db 0BBh ; ?
.rdata:03408068  
              db  96h ; ?
.rdata:03408069  
              db  91h ; ?
.rdata:0340806A
                db  98h ; ?

.rdata:0340806B
                db  9Fh ; ?

.rdata:0340806C
                db  8Ah ; ?
.rdata:0340806D
                db  8Dh ; ?
.rdata:0340806E
                db  84h ; ?
.rdata:0340806F
                db  83h ; ?
.rdata:03408070  
              db 0DEh ; ?
.rdata:03408071  
              db 0D9h ; ?

.rdata:03408072  
              db 0D0h ; ?
.rdata:03408073  
              db 0D7h ; ?

.rdata:03408074  
              db 0C2h ; ?
.rdata:03408075  
              db 0C5h ; ?
.rdata:03408076  
              db 0CCh ; ?

.rdata:03408077  
              db 0CBh ; ?
.rdata:03408078  
              db 0E6h ; ?
.rdata:03408079  
              db 0E1h ; ?
.rdata:0340807A
                db 0E8h ; ?
.rdata:0340807B
                db 0EFh ; ?

.rdata:0340807C
                db 0FAh ; ?
.rdata:0340807D
                db 0FDh ; ?
.rdata:0340807E
                db 0F4h ; ?

.rdata:0340807F
                db 0F3h ; ? 



2.第二个隐含数据

第二个隐含数据是在文件夹下resources.pak文件鼠标框的位置,取64个字节。放入sha256的计算第一个字符窜參数




 




算法例如以下

unsigned char* GetResourcePak()
{
//unsigned long source_id = 0x269;

//读取并映射resource pak 文件

//校验
//Resource.pak
/*
0x4CB0000--->0x4CB03D1

if( head == 4 )
{
if( 0x486*6 + 15 < size )
{
0x486++;
if( (heade += 0xB) ==  0x486*6 + 15 )
{
heade += 6;
}
}
}
}
*/
//31F5BD

//获得地址
chrome_resource_pak sb_pak;
sb_pak.sb_id = 0x269;
GetSourceId0(&sb_pak,
(unsigned char *)0x4cb00000+9,
0x486,
sizeof(chrome_resource_hash_pak));


return NULL;
}

chrome配置文件校验初始化隐含參数的逆向的更多相关文章

  1. 获取Oracle隐含參数信息

    Oracle数据库的初始化參数.主要来源于两个Oracle内部数据字典表:X$KSPPCV和X$KSPPI通常我们查询的V$Parameter视图或使用show parameter命令都是就来源于这两 ...

  2. shutdown abort模式丢失redo,使用隐含參数启库

    shutdown abort模式 丢失redo log 无法open数据库 通过告警报错ORA-00354: corrupt redo log block header 从该错误能够看出当前日志的re ...

  3. TestNG的參数化測试、共享线程池配置、參数默认值配置

    在使用TestNG进行測试时,常常会使用到一些參数化配置,比方数据库.连接池.线程池数. 使用TestNG的參数@Parameter注解进行自己主动化读取 原创文章,版权全部.同意转载,标明出处:ht ...

  4. 关于oracle db 11gR2版本号上的_external_scn_rejection_threshold_hours參数和scn headroom补丁问题

    关于oracle db 11gR2版本号上的_external_scn_rejection_threshold_hours參数和scn headroom补丁问题 来自于: Installing, Ex ...

  5. 如何获得(读取)web.xml配置文件的參数

    參考代码例如以下: com.atguigu.struts2.app.converters.DateConverter.java public DateFormat getDateFormat(){ i ...

  6. [Golang] 从零開始写Socket Server(4):将执行參数放入配置文件(XML/YAML)

    为了将我们写好的Server公布到server上.就要将我们的代码进行build打包.这样假设以后想要改动一些代码的话.须要又一次给代码进行编译打包并上传到server上.     显然,这么做过于繁 ...

  7. oracle官方文档_查看初始化參数(举例)

    原创作品,出自 "深蓝的blog" 博客.深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/46864217 记录 ...

  8. jQuery UI dialog 參数说明

    前段时间碰到个问题 jquery UI dialog弹出层 弹出多个层是 比方弹出两个层A和B  B层假设显示的数据表格太大,伸到了A层的外面,那伸到A层之外的部分就看不到了,由于B层是在A层上弹出的 ...

  9. mysql启动參数(/etc/my.cnf)具体解释汇总

    在linux以下的/etc/my.cnf的參数具体解释汇总 MYSQL–my.cnf配置中文具体解释 basedir = path   使用给定文件夹作为根文件夹(安装文件夹). character- ...

随机推荐

  1. verilog语法实例学习(6)

    函数和任务 函数 https://wenku.baidu.com/view/d31d1ba8dd3383c4bb4cd283.html verilog中函数的目的是允许代码写成模块的方式而不是定义独立 ...

  2. Ubuntu sh命令无法正确执行 (修改默认sh为bash)

    新安装的ubuntu,执行shell命令,都怀疑自己的shell水平了. 原来, ubuntu默认的是dash, 需要手动执行命令将dash改为bash. 命令: sudo dpkg-reconfig ...

  3. STM32启动文件深度解析

    STM32启动过程全面解析,包括启动过程的介绍.启动代码的陈列以及深入解析.相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方式有了比较大的变化.ARM7/ARM9 ...

  4. [leetcode]Plus One @ Python

    原题地址:https://oj.leetcode.com/problems/plus-one/ 题意: Given a non-negative number represented as an ar ...

  5. [leetcode]Word Break II @ Python

    原题地址:https://oj.leetcode.com/problems/word-break-ii/ 题意: Given a string s and a dictionary of words  ...

  6. C#与Visual Basic的异与同

    C#是一种高级程序设计语言,是一种安全.稳定.简单.优雅的编程语言,它与Visual Basic有很多相同的地方,同时也有很多不同的地方.我们今天这篇博客本着学习C#的原则,着重介绍一下C#与Visu ...

  7. 一些非常实用的JSON 教程

    以下内容来自W3school. JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 ...

  8. 详解vue组件的keep-alive

    <keep-alive>是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM. <keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是 ...

  9. Laravel validate 500异常 添加手机验证,中文验证与Validator验证的“半个”生命周期

    今天来讲一下,Lumen的Validator函数 1 2 3 4 5 6 7 8 9 10 11 use Validator;   ...   Class .. {   public function ...

  10. .NET MVC-去掉验证

    将@Html.ValidationMessage("sortid")代码去掉 将if (ModelState.IsValid)验证代码去掉