Resource panorama code pbin has invalid data как исправить кс го

Go to steamapps/common/Counter-Strike Global Offensive/csgo/panorama/ and delete the code code.pbin file maybe, then verify game files again. Maybe it doesn’t recognise the “corrupted” file and doesn’t replace it. But it should recognise missing files.

Are you on Windows or? And did it work before?

Also try to delete the entire panorama folder and then verify the game files again.

Originally posted by Catalyst:

not work.

What did the window say after you verified the game files?

all files were successfully verified

Do you have any Anti-Virus?

If you say

all files were successfully verified

but you said you deleted the panorama folder, well actually I’ve recommended you to delete it. It should tell you how many files have been replaced.

Did you delete the file?

I’ll try again to check the integrity of the files

Originally posted by Catalyst:

I’ll try again to check the integrity of the files

No, there’s no point in rechecking the game files if you did it before but nothing really happend.

You have to delete the file or the entire folder named “/panorama”. And after you deleted it, then you verify the game files. It will recognise that something is missing and replace it with “new ones”.

Did you understand that so far? It’s important to me that you understood what I wrote so I can continue to help you.

This method with deleteting the folder and let it replace, should ensure that the issue is on that file or not.

Go to ClassicOffensive

r/ClassicOffensive


r/ClassicOffensive

The mod where wallbangs are strong and nades look like barrels.




Members





Online


by

daycou



u/daycou avatar

Resource panorama/code.pbin has invalid data

Whenever I try to load csco I get this error message

mnogoznaal

mnogoznaal

Участник


Автор темы

330

30


  • 3 Сен 2021

  • #1

resource panorama/code.pbin failed to load
кто знает как пофиксить

Решение

inxanity!


  • inxanity!

    inxanity!

  • 3 Сен 2021

buybiz написал(а):

resource panorama/code.pbin failed to load
кто знает как пофиксить

Нажмите для раскрытия…

Проверь файлы через Стим (востанови )

Сортировка по дате

Сортировка по голосам

inxanity!

inxanity!

Известный

394

117


  • 3 Сен 2021

  • Решение
  • #2

buybiz написал(а):

resource panorama/code.pbin failed to load
кто знает как пофиксить

Нажмите для раскрытия…

Проверь файлы через Стим (востанови )

Позитивный голос

-1

Негативный голос


Решение


Войдите или зарегистрируйтесь для ответа.

Похожие темы

  1. Bebraoff

    • Вопрос

    rage mp

    • Bebraoff
    • 11 Май 2022
    • Помощь

    Ответы
    0
    Просмотры
    268

    Помощь

    11 Май 2022

    Bebraoff

    Bebraoff

  2. Pepeno

    • Решено

    Какойто баг/краш

    • Pepeno
    • 4 Окт 2021
    • Помощь

    Ответы
    6
    Просмотры
    262

    Помощь

    4 Окт 2021

    livingflore

    livingflore

  3. F

    • Вопрос

    Прозрачная растительность в интерьерах

    • Federko
    • 17 Фев 2021
    • Помощь

    Ответы
    2
    Просмотры
    276

    Помощь

    18 Фев 2021

    shitcodes

    shitcodes

  4. H

    Неактуально Lua

    [RakSamp] Бот для фарма денег | ARZ | НОВОЕ ГЛОБАЛЬНОЕ ОБНОВЛЕНИЕ v5

      • Нравится
      • Bug
      • Влюблен
    • Haymiritch
    • 10 Окт 2022
    • Читы
    • 60

      61

      62

    Ответы
    927
    Просмотры
    76K

    Читы

    7 Мар 2023

    чоко мами 1488

    чоко мами 1488

  5. Neekiloj

    • Вопрос

    что за баг

    • Neekiloj
    • 7 Июн 2021
    • Помощь
    • 2

      3

    Ответы
    30
    Просмотры
    3K

    Помощь

    7 Июн 2021

    poofe

    poofe

Поделиться:

Ссылка

_or_75

A God

_or_75's Avatar

Join Date: Oct 2012


Posts: 191

Points: 15,092, Level: 16

Level up: 7%, 1,308 Points needed

Activity: 9.3%

Activity: 9.3% Activity: 9.3% Activity: 9.3%

Exclamation
how the panorama checks the file code.pbin


my pseudo disassembled code in panorama.dll:

// struct code.pbin
struct code_pbin
{
BYTE PAN_SIG[4];
BYTE PAN_VERIFY_RSA_SIG[512];
BYTE PACKED_FILES[FILE_SIZE-516];
}

Code:

#pragma once

#include <Windows.h>
#include <iostream>

#include "cryptlib/cryptlib.h"
#include "cryptlib/rsa.h"
#include "cryptlib/osrng.h"
#include "cryptlib/base64.h"
#include "cryptlib/files.h"

using namespace std;
using namespace CryptoPP;

#pragma comment(lib,"cryptlib")

const byte Panorama_PublicKey[] =
{
	0x30, 0x82, 0x02, 0x20, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01,
	0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0D, 0x00, 0x30, 0x82, 0x02, 0x08, 0x02, 0x82, 0x02, 0x01,
	0x00, 0xC3, 0x77, 0x62, 0x5E, 0x7C, 0xA7, 0xC5, 0xC5, 0x02, 0x41, 0x11, 0xD0, 0x9E, 0xE2, 0x4E,
	0x08, 0x3A, 0x3E, 0x31, 0xCC, 0x81, 0x13, 0xCB, 0x79, 0x42, 0xE0, 0xDA, 0xD2, 0xBF, 0xE0, 0xA9,
	0x93, 0x58, 0xAF, 0x50, 0x72, 0x3D, 0xAE, 0x0C, 0xCA, 0x0D, 0x32, 0xC3, 0x39, 0x95, 0x84, 0x9A,
	0x87, 0xB1, 0x40, 0xF5, 0x4A, 0xEC, 0x7B, 0xC2, 0xEC, 0xB0, 0x83, 0x64, 0x7A, 0x38, 0x7C, 0x81,
	0x56, 0xC1, 0x56, 0x67, 0x98, 0x01, 0x16, 0x26, 0x4F, 0xDA, 0xB2, 0x86, 0xED, 0x60, 0x6A, 0x9C,
	0x36, 0xF1, 0x76, 0xEF, 0x5B, 0x14, 0x55, 0xD2, 0x11, 0x94, 0x5F, 0x08, 0x59, 0x33, 0x4A, 0xCF,
	0xB3, 0xAC, 0xA5, 0xC7, 0x7E, 0xB0, 0xD2, 0x6B, 0xE1, 0xBD, 0x79, 0xEF, 0xF4, 0xB5, 0xD4, 0x4F,
	0x25, 0x52, 0xF4, 0x36, 0x0D, 0xED, 0x3D, 0x82, 0x7B, 0xBC, 0x99, 0xAF, 0x94, 0x1B, 0xE9, 0x1E,
	0x50, 0x12, 0x03, 0x91, 0xBA, 0xDA, 0x4A, 0xA3, 0x22, 0x0C, 0xBA, 0xA1, 0xC4, 0xC6, 0xCB, 0xD1,
	0x19, 0x4B, 0x9A, 0xCC, 0x56, 0x48, 0x62, 0xF7, 0x33, 0x0F, 0xA2, 0x79, 0x9B, 0x7C, 0x6B, 0xDC,
	0x3C, 0x10, 0x55, 0x14, 0xA4, 0x04, 0x68, 0x3B, 0x5A, 0x0A, 0x7D, 0x42, 0x42, 0x01, 0x34, 0xC7,
	0x88, 0x2F, 0xA8, 0xAB, 0x6D, 0x08, 0xF0, 0xB9, 0x29, 0x83, 0x13, 0x68, 0xCE, 0xE4, 0x8D, 0x9A,
	0xFD, 0x83, 0xA8, 0xCB, 0x7C, 0x80, 0x15, 0x09, 0x3E, 0x68, 0xF5, 0xB2, 0x31, 0xC8, 0x37, 0xC3,
	0xFF, 0x3D, 0xFF, 0x76, 0x5C, 0xB0, 0x51, 0x76, 0x28, 0x00, 0x8F, 0x96, 0x3E, 0xD5, 0x0B, 0xD8,
	0x62, 0x22, 0x15, 0x0F, 0xA3, 0x90, 0x5C, 0xC0, 0x3B, 0x1C, 0x03, 0xDC, 0xBF, 0x1F, 0x8F, 0x59,
	0xE3, 0x9C, 0x2D, 0x09, 0xA9, 0x5F, 0x52, 0x98, 0x71, 0xD1, 0x2C, 0xF1, 0x01, 0x59, 0x91, 0xB8,
	0xFA, 0xE2, 0xAF, 0xBB, 0x57, 0x7A, 0xB5, 0xDC, 0xC9, 0x71, 0x9B, 0x52, 0xBC, 0x30, 0x94, 0xA0,
	0x75, 0xD2, 0x27, 0xEC, 0xDA, 0x49, 0x17, 0x00, 0xE9, 0xAD, 0x66, 0x1B, 0x00, 0x6D, 0xC7, 0x19,
	0xFA, 0xC7, 0xF0, 0xD7, 0xFC, 0x8A, 0xF4, 0x1A, 0xEB, 0xF2, 0x03, 0xCE, 0x0A, 0x9E, 0x46, 0x25,
	0xAD, 0x22, 0x91, 0xD5, 0x1D, 0xBC, 0x96, 0xE3, 0xDA, 0x2F, 0x47, 0x98, 0xEC, 0x1B, 0x42, 0xAD,
	0xD8, 0x93, 0x5E, 0xF8, 0xA3, 0xD3, 0x16, 0xCD, 0xA0, 0x1B, 0xA3, 0x0E, 0x47, 0xFC, 0x6A, 0x0E,
	0x4A, 0x7B, 0x3B, 0x37, 0x93, 0x6E, 0x2A, 0x52, 0x24, 0x9E, 0x71, 0x3E, 0x00, 0x2A, 0xDE, 0xA0,
	0x9C, 0xA3, 0xE2, 0x66, 0x5C, 0xF3, 0x2D, 0xB9, 0x10, 0x04, 0xA4, 0xD1, 0x51, 0x17, 0x4B, 0xB7,
	0xDD, 0x34, 0x12, 0xC3, 0x7A, 0x75, 0x1B, 0x48, 0x1C, 0x3A, 0x6F, 0x03, 0x72, 0x86, 0x08, 0x46,
	0xBF, 0x26, 0xC3, 0x16, 0x19, 0x71, 0x1B, 0x94, 0xD2, 0xE6, 0xE8, 0xB9, 0xC3, 0xB7, 0xF6, 0xA1,
	0xBA, 0x95, 0x8B, 0x74, 0x90, 0x66, 0xBE, 0xEB, 0x08, 0x4C, 0x6B, 0xA5, 0x88, 0x5B, 0x6D, 0x4D,
	0x5C, 0xD8, 0xDB, 0xF9, 0x43, 0x56, 0x27, 0xC1, 0xB6, 0xA1, 0xAE, 0xDE, 0x07, 0x28, 0xEF, 0x24,
	0xB1, 0xCE, 0x9D, 0xB6, 0x06, 0x0A, 0x9B, 0x09, 0x97, 0xBC, 0xF6, 0x55, 0x22, 0x62, 0x1F, 0x4A,
	0x47, 0xFC, 0x9E, 0xEE, 0x9E, 0x6C, 0x60, 0xA5, 0x78, 0xCB, 0x8E, 0x35, 0xD3, 0x35, 0x01, 0xA3,
	0x8A, 0x89, 0x22, 0xDA, 0x95, 0x6C, 0x4E, 0x1C, 0x77, 0x6E, 0x43, 0xEC, 0x85, 0x33, 0x83, 0x5F,
	0xBA, 0xDF, 0xF4, 0x21, 0x5B, 0xE0, 0x00, 0xD6, 0x4D, 0x8C, 0x92, 0xBD, 0x67, 0xB4, 0x0E, 0x60,
	0x83, 0x25, 0x4C, 0xDD, 0x66, 0x08, 0xBD, 0xE1, 0x25, 0xE4, 0xAA, 0xF1, 0x23, 0xFF, 0xE0, 0xAA,
	0xAF, 0x02, 0x01, 0x11
};

PVOID LoadFileMemory( const char* szFileName , DWORD& FileSize )
{
	HANDLE hDllFile = nullptr;
	PVOID pFileMemory = nullptr;
	DWORD dwReadSize = 0;

	hDllFile = CreateFileA( szFileName , GENERIC_READ , NULL , NULL , OPEN_ALWAYS , OPEN_EXISTING , NULL );

	if ( !hDllFile )
		return nullptr;

	DWORD dwDllFileSize = GetFileSize( hDllFile , NULL );

	if ( !dwDllFileSize )
		return nullptr;

	FileSize = dwDllFileSize;

	pFileMemory = HeapAlloc( GetProcessHeap() , HEAP_ZERO_MEMORY , dwDllFileSize );

	ReadFile( hDllFile , pFileMemory , dwDllFileSize , &dwReadSize , false );

	if ( dwReadSize != dwDllFileSize )
		return nullptr;

	CloseHandle( hDllFile );

	return pFileMemory;
}

int main( int argc , char** argv )
{
	DWORD PanoramaFileSize = 0;
	PVOID pPanoramaFile = LoadFileMemory( "code.pbin", PanoramaFileSize );

	if ( pPanoramaFile )
	{
		printf( "pPanoramaFile: %pn" , pPanoramaFile );

		try 
		{
			DefaultAutoSeededRNG rng;

			ArraySource PubKeyArray( Panorama_PublicKey , sizeof Panorama_PublicKey , true );
			RSA::PublicKey PanoramaPublicKey;

			PanoramaPublicKey.Load( PubKeyArray );

			if ( PanoramaPublicKey.Validate( rng , 1 ) )
			{
				printf( "PanoramaPublicKey Validate: SUCCESSn" );

				RSASSA_PKCS1v15_SHA_Verifier verifier( PanoramaPublicKey );

				const byte* PanoramaCheckBytes = (const byte*)( (DWORD)pPanoramaFile + 516 );
				const byte* PanoramaSignature = (const byte*)( (DWORD)pPanoramaFile + 4 );

				DWORD PanoramaCheckSize = PanoramaFileSize - 516;

				printf( "PanoramaCheckBytes: %pn", PanoramaCheckBytes );

				bool result = verifier.VerifyMessage( PanoramaCheckBytes , PanoramaCheckSize , PanoramaSignature , 512 );

				if ( result )
				{
					printf( "SUCCESS Resource code.pbin has valid data !n" );
				}
				else
				{
					printf( "ERROR Resource code.pbin has invalid data.n" );
				}
			}
			else
			{
				printf( "PanoramaPublicKey Validate: ERRORn" );
			}
		}
		catch ( CryptoPP::Exception &ex )
		{
			printf( "Exception: %sn" , ex.what() );
		}
	}

	getchar();
	return 0;
}

how example bypass ?

1) on load csgo -> replace 0x75 to 0xEB

signature replace panorama.dll -> «75 0F 68 ? ? ? ? 68 ? ? ? ? FF D7 83 C4 08 E8 ? ? ? ? FF 75 B0 8B D8 FF 75 AC»
rsa_public_key be here function panorama.dll -> «55 8B EC 81 EC ? ? ? ? 56 8B 75 08 8B 4E 10 81 F9»

start pub_key image:

patch image:

function in ida:

2) make new function and replace check function pointer -> «mov eax, dword ptr ds:[0x15F1A7BC]»
2.1) in new function call original pointer and result true (original return false)

3) create new private,public rsa key
3.1) replace panorama public code in memory
3.2) replace rsa veryfy signature in code.pbin

__________________

rule 7.
code.pbin (how the panorama works verify)



Last edited by _or_75; 23rd June 2018 at 03:58 PM.

Добавить комментарий